Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

StringList что не так?   Найти похожие ветки 

 
lika   (2004-03-19 15:30) [0]

Вот вроде бы понятный код, но выскакивает ошибка В EStringLIstError List index is out of boundы(3)
Вот код, поскажите что здесь не так и почему (я немогу понять) выскакивает ошибка:(на форме одна кнопка и все кода больше нет никакого).
procedure TForm1.Button1Click(Sender: TObject);
var
TS:TstringList;
i:integer;
begin
TS:=TstringList.Create;
for i:=0 to 100 do
 TS.Add(inttostr(i)+" "+"Yes");
for i:=0 to TS.count-1 do
begin
 if Pos("2",ts[i]) <> 0 then
    begin
TS.CommaText:=ts[i];
memo1.Lines.Add(ts.Strings[0]+" "+ts.Strings[1]);
    end;
end;
end;


 
kosta   (2004-03-19 16:03) [1]

Все из-за: TS.CommaText:=ts[i];
CommaText -- это св-во, ему ничего не надо присваивать.


 
MetalFan ©   (2004-03-19 16:06) [2]

че то я не понял...
Use CommaText to get or set all the strings in the TStrings object in a single comma-delimited string.
ясный пень что в данном случае обращение к ts.Strings[1] приведут к ошибке...
и чего автор хочет добится данным кодом?


 
KSergey ©   (2004-03-19 16:20) [3]

Присваивание CommaText напрочь переписывает все элементы StringList"а


 
MBo ©   (2004-03-19 16:24) [4]

TS.CommaText:=ts[i];
здесь ты заменяешь содержимое ts на 2 строчки, полученные из i-й строки. А мужики-то и не знают... (цикл же идет по первичному количеству строк)


 
lika   (2004-03-19 16:26) [5]

тогда объяните тупой, как можно сделать чтобы данные читались построчно из StringLista и из выше написанного кода выбиралась строка удовлетворяющая условию if и дальше происходило бы добавление этих двух значений и именно разделенных.
Заранее всем благодарна


 
MetalFan ©   (2004-03-19 16:32) [6]


> ...чтобы данные читались построчно из StringLista и из выше
> написанного кода выбиралась строка...

нифига не понял.... )


 
lika   (2004-03-19 16:40) [7]

Понятно...и так мне надо опишу последовательно:
1. Добавляю с StringList данные к примеру Иванов Иван Федорович 100, данных естевственно много(из БД берутся) далее так же из БД берется время -это как раз вот 100. и добавляются по вышеописанному коду.
2. По программе пользователь должен ввести ФИО, если ФИО найдено из StringList то добавить в StringGrid а если нет то внести с дополнительным полем где пользователь помимо Фамилии(если не найдено) еще и время добавит.


 
Goida ©   (2004-03-19 17:02) [8]


> procedure TForm1.Button1Click(Sender: TObject);
> var
> TS:TstringList;
> i:integer;
> begin
> TS:=TstringList.Create;
> for i:=0 to 100 do
>  TS.Add(inttostr(i)+" "+"Yes");
> for i:=0 to TS.count-1 do
> begin
>  if Pos("2",ts[i]) <> 0 then
>     begin
> TS.CommaText:=ts[i];
> memo1.Lines.Add(ts.Strings[0]+" "+ts.Strings[1]);
>     end;
> end;
> end;

Такой код вообще работать не будет. Так, как укзано выделением делать нельзя.


 
MetalFan ©   (2004-03-19 17:08) [9]

странный подход....

> если ФИО найдено из StringList то добавить в StringGrid

опять не понял мысль...


 
Goida ©   (2004-03-19 17:21) [10]

procedure TForm1.Button1Click(Sender: TObject);
var
 TS, toTS: TStringList;
 i: integer;
begin
 TS := TStringList.Create;
 toTS := TStringList.Create;
 for i:=0 to 100 do
   TS.Add(inttostr(i)+" "+"Yes");
 for i := 0 to TS.Count-1 do
 begin
   if TS.Strings[i] = "2" then
   begin
    toTS.Add(TS.Strings[i]);
    Memo1.Lines.Add(TS.Strings[0]+" "+TS.Strings[1])

   end
 end
end;

Может, что-то такое? Только я не понимаю смысл выделенной строчки.... Но это, наверно, нужно...


 
Pavel   (2004-03-19 17:28) [11]

Кажется я понял. Речь идет о логе. Если пользователь зарегистрирован в базе в лог идёт только его фамилия, если нет, то добавляется ещё время. Только для этого TStringList не нужен.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.03 c
14-1079094151
ferrik
2004-03-12 15:22
2004.04.04
RichView


1-1079699468
lika
2004-03-19 15:31
2004.04.04
StringList что не так?


1-1079696489
INTAARI
2004-03-19 14:41
2004.04.04
Как преобразовать число (например 12) в строку типа "012"


6-1074888197
Evgen
2004-01-23 23:03
2004.04.04
CGI


3-1078766311
Anarki
2004-03-08 20:18
2004.04.04
Ошибка при динамической загрузке данных в таблицу ADO