Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c