Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно скопировать строки


Andrew ©   (2008-10-11 19:27:00) 

Добрый вечер. Совсем недавно взялся изучать Delphi, поэтому не судите строго)). Вопрос следующий:
Есть текстовый файл вида -

bla-bla-bla12:12312341
bla-bla-bla13:12312342
bla-bla-bla14:12312343...

Нужно скопировать в Memo все строки до символа ':'. Делаю так:


var
c,d:integer;
strg,fd:string;
begin
str:=tstringlist.create;
if opendialog1.Execute then
str.loadfromfile(opendialog1.FileName);
 for c := 0 to str.Count-1 do
 strg:=str.Strings[c];
 d:=pos(':',strg);
 fd:=copy(strg,0,d);
 memo1.Lines.add(fd);


В итоге в Memo только последняя строка. Что неправильно?


Andrew   (2008-10-11 19:40:00) [1]

Спасибо большое! Дошло с вашей помощью. Второй день изучаю Delphi, отладчик - это для меня рановато, наверное. Но я поучусь им пользоваться. Всем еще раз спасибо...


Palladin   (2008-10-11 19:34:00) [2]

все

изучаем основы Паскаля  вообще программирования до полного просветления.
циклы.... условия... и операторные скобки


Правильный$Вася   (2008-10-11 19:34:00) [3]


> for c := 0 to str.Count-1 do  strg:=str.Strings[c];  d:=pos(':
> ',strg);  fd:=copy(strg,0,d);  memo1.Lines.add(fd);

потому что все это добро должно выполняться в цикле, т.е. хаключаться в операторные скобки begin-end
а у тебя в цикле просто перебираются строки до последней, а потом уже с ней манипуляции
кстати, отладчик тебе бы это все сам показал, если бы ты им воспользовался


Наверх

Титульная страница Поиск, карта сайта Написать письмо