ЕГ
Евгения Григорьева

Delphi зациклить POS()

привет всем!
не получается сделать программу. подскажите.

нужно пробежаться функцией Pos() от начала и до конца stringlist
циклом for i:=0 to list.count-1 do
...

программа должна выдать 6 сообщений:
1 строка:
1сообщение: "7"
2сообщение: "14"

2 строка:
3сообщение: "9"
4сообщение: "17"

3 строка:
5сообщение: "8"
6сообщение: "16"

код программы:

procedure TForm1.Button1Click(Sender: TObject);
var
list:TStringList;
pos1,pos2,i:integer;
begin

list:=TStringList.Create;
list.LoadFromFile('testlist.txt');

for i:=0 to list.Count-1 do
pos1:=pos('-',list.text);
pos2:=pos(#13#10,list.text);

showmessage(IntToStr(pos1));
showmessage(IntToStr(pos2));

end;

end.

Помогите пожалуйста

текстовой файл:

Петров-номер6
Алексеев-номер22
Филатов-номер52

do Begin не помогает 😞

"Используй PosEx: "

мне вот именно с Pos нужно (

ОХ
Олег Ходаков

У вас зациклен только первый pos, а остальные вещи просто вне цикла. Добавьте после for "begin" и после второго шоумессаджа end;

Дмитрий
Дмитрий

Попробуйте do Begin

АН
Александр Наумов

Используй PosEx:
position:=1;
while position< length(list.text) do begin
position:=PosEx('-',list.text,position);
showmessage(IntToStr(position));
position:=PosEx(#13#10,list.text,position);
showmessage(IntToStr(position));
end;

Похожие вопросы
программирование на delphi.
Какая разница между Delphi 7 от Borland Delphi 7.0
Как зациклить чтение из файла (HTML, PHP)?
С++:Что означает "|=" в строке *res |= (x>>pos)<
Перевести POS Printer. Как перевести на русский "POS Printer"? Спасибо.
Скажите, как нарастить "i", если значение "pos" >0?
в чем отличие между Delphi 2010 и Delphi X3?
Delphi. delphi программирование сессия
Delphi xe и Delphi 7. В чём разница?
На чем вы зациклены? )