Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

03.07.2008, 01:37
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
str:string;
begin
if str[i]=';' then
begin
insert(copy(memo1.line,1,i-1),memo2.line,1);
end;
end;
Так и не пашет.
|
|
|

03.07.2008, 01:50
|
|
Banned
Регистрация: 16.07.2007
Сообщений: 79
Провел на форуме: 801879
Репутация:
337
|
|
Nightmarе
str - строка из memo1, просто берешь по строке прогоняешь в цикле пока строки не закончатся...
В memo2 - uin, в memo3 - пароль.
Чуть изменил:
Код:
i: integer;
str: string;
........
for i:=1 to N do
begin
str:=memo1.lines.strings[i];
insert(copy(str,1,pos(';',str)-1), memo2.lines.add, 1);
insert(copy(str,pos(';',str)+1,length(str)-pos(';',str)), memo3.lines.add, 1);
end;
|
|
|

04.07.2008, 01:08
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Ну а разница? Ругается на строку:
insert(copy(str,1,pos(';',str)-1), memo2.lines.add, 1);
И где в ней ошибка? Всё равно не пашет хоть как.
|
|
|

04.07.2008, 01:41
|
|
Banned
Регистрация: 16.07.2007
Сообщений: 79
Провел на форуме: 801879
Репутация:
337
|
|
Ошибка в memo2.lines.add и memo3.lines.add - извини ступил...так добавлять нельзя!
А вот если задать еще и str2, str3: string; то работать будет
Проверил =)
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
str, str2, str3: string;
begin
for i:=0 to 10 do
begin
str:=memo1.lines.strings[i];
insert(copy(str,1,pos(';',str)-1), str2, 1);
insert(copy(str,pos(';',str)+1,length(str)-pos(';',str)), str3, 1);
end;
memo2.lines.Add(str2);
memo3.lines.add(str3);
end;
update:
Незабывай, работает при разделителе ; между уином и паролем...
Последний раз редактировалось Dober'man; 04.07.2008 в 01:47..
|
|
|

04.07.2008, 02:03
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от Nightmarе
Ну а разница? Ругается на строку:
insert(copy(str,1,pos(';',str)-1), memo2.lines.add, 1);
И где в ней ошибка? Всё равно не пашет хоть как.
TStringList - рульная вешь
Код:
var
ss:Tstrings;
begin
ss:=TStringList.Create;
ss.LoadFromFile('uins.txt');
ss.NameValueSeparator:=';';
ICQClient1.UIN := StrToInt(ss.Names[1]);
ICQClient1.Password := ss.ValueFromIndex[1];
(c)Izos
Последний раз редактировалось z01b; 04.07.2008 в 02:33..
|
|
|

04.07.2008, 02:03
|
|
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме: 2715445
Репутация:
588
|
|
чуть опоздал, но на всяк ещё способ
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i,n:dword;
s:string;
begin
for i:=0 to memo1.Lines.Count-1 do
begin
n := pos(';',memo1.Lines.Strings[i]);
If (n > 0) then
begin
s := copy(memo1.Lines.Strings[i],1,n-1);
memo2.Lines.Add(s);
inc(n);
s := copy(memo1.Lines.Strings[i],n,length(memo1.Lines.Strings[i]) - n);
memo3.Lines.Add(s);
end;
end;
end;
|
|
|

05.07.2008, 02:30
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме: 5885100
Репутация:
773
|
|
такая ситуация..
Есть Edit1 и кнопка... Нужно реалтзовать поиск по БД методом Lookup по полю F
В Table1 - F
В Table2 - No Dg D As
begin
LookupResult := Table1.Lookup('F',Edit1.Text,
'No;Dg;D;As');
if VarType(LookupResult)=varNull then
ShowMessage('Íåò ')
else if VarIsArray(LookupResult) then
begin
s.Caption := LookupResult[0];
s.Caption := LookupResult[1];
s.Caption := LookupResult[2];
s.Caption := LookupResult[3];
end else ....
при значении которого нет в бд все ок, выдает месачж что нет.. но када вводиш правельное значение выдает ошибку типа не может найти No Dg D As....
Собственна как искать в другой таблице?
Table2.No и Table2No - некатят....
|
|
|

05.07.2008, 05:07
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Сообщение от Hellsp@wn
чуть опоздал, но на всяк ещё способ
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i,n:dword;
s:string;
begin
for i:=0 to memo1.Lines.Count-1 do
begin
n := pos(';',memo1.Lines.Strings[i]);
If (n > 0) then
begin
s := copy(memo1.Lines.Strings[i],1,n-1);
memo2.Lines.Add(s);
inc(n);
s := copy(memo1.Lines.Strings[i],n,length(memo1.Lines.Strings[i]) - n);
memo3.Lines.Add(s);
end;
end;
end;
Я конешн понимаю смешно звучит, но опять таки последний символ в пароле режется... я заметил не сразу. Как исправить?
Ну или вариант с TStringList, но как цикл установить по типу memo1.lines.count ???
ss.count не пашет, а других вариантов я не нашёл.
|
|
|

05.07.2008, 14:01
|
|
Banned
Регистрация: 16.07.2007
Сообщений: 79
Провел на форуме: 801879
Репутация:
337
|
|
Nightmarе
ИМХО мой работает =) ... Просто сделай в моем варианте обработку всех строк мемо, а то я так, 10 штук взял в пример
Код:
i:=0 to memo1.Lines.Count-1
Его вариант тоже будет работать правильно, если здесь будет так:
Код:
s := copy(memo1.Lines.Strings[i],n,length(memo1.Lines.Strings[i]) - n+1);
memo3.Lines.Add(s);
Последний раз редактировалось Dober'man; 05.07.2008 в 14:05..
|
|
|

05.07.2008, 14:12
|
|
Постоянный
Регистрация: 29.04.2007
Сообщений: 496
Провел на форуме: 2715445
Репутация:
588
|
|
набирал в блокноте, по-этому накосячил  да, там +1 нада.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|