Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2009, 13:06   #1
Sega22
 
Регистрация: 02.09.2009
Сообщений: 6
По умолчанию помогите разобраться со строками

есть строка 2..3..4..5..6..
необходимо записать числа в мемо в виде
2
3
4
5
6
я понимаю что это все очень просто но все же
вот кусок кода
Код:
for r:=0 to Length(w) do begin
    word:=copy(w,1,Pos('..',w)-1);
    form3.DBMemo2.Lines.Add(word);
   delete(word,1,Pos('..',word)-1);
        form3.Label2.Caption:=word;
end;
поправть плизз что тут не так.
зарание благодарен.

Последний раз редактировалось Stilet; 02.09.2009 в 13:43.
Sega22 вне форума Ответить с цитированием
Старый 02.09.2009, 13:18   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Если формат именно такой, я бы сделал так:
Код:
while length(w)<>0 do
begin
  memo.lines.add(copy(w,1,pos('..',w)));
  delete(w,1,pos('..',w));
end;
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 02.09.2009, 13:38   #3
Sega22
 
Регистрация: 02.09.2009
Сообщений: 6
По умолчанию

напрочь вешает комп (
Sega22 вне форума Ответить с цитированием
Старый 02.09.2009, 13:40   #4
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Извиняюсь.. =)))
Код:
while length(w)<>0 do
begin
  memo.lines.add(copy(w,1,pos('..',w)-1));
  delete(w,1,pos('..',w)+1);
end;
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 02.09.2009, 13:48   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот еще один вариант:
Код:
var s:string;i:integer;
begin
 s:='2..3..4..56..6..';
 i:=1;
 while i<length(s) do begin
  if (not (s[i] in ['0'..'9']))and(s[i+1] in ['0'..'9']) then Memo1.Lines.Add('');
  if s[i] in ['0'..'9'] then
   Memo1.Lines.Text:=Memo1.Lines.Text+s[i];
  inc(i);
 end;
end;
Поуниверсальнее как мне думается.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2009, 13:53   #6
Sega22
 
Регистрация: 02.09.2009
Сообщений: 6
По умолчанию

все разобрался БИГ спс
Sega22 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите со строками.. Zeneth Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 16.06.2009 23:30
Помогите разобраться со строками Alexeyss Общие вопросы Delphi 5 03.06.2009 10:18
Помогите со строками (Си) Данилыч Д. Помощь студентам 1 15.01.2009 17:05
помогите со строками разобраться евгения, Помощь студентам 2 28.05.2007 21:28
помогите со строками разобраться pirozho4ek Помощь студентам 2 25.05.2007 10:29