Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Добавить после каждой подстроки её порядковый номер

Автор: Борис 13.04.2006 22:55

var
i,count:integer;
begin
count:=0;
for i:=1 to length(Edit1.text) do
begin
if (count=0) and (Edit1.text[i]<>' ') then
begin
inc(count);
label3.caption:=inttostr(count);
end;
if (Edit1.Text[i]=' ') and (Edit1.Text[i+1]<>' ') and (i+1<=length(edit1.text))
then begin
inc(count);
Edit2.Text:=Edit1.Text[i]+inttostr(count);
end
else Edit2.Text:=Edit1.text[i];
end;
end;


почему выводит только последню букву в началной строке? или с editom это не сделать?или ошибка в коде?*

Тегами не забываем пользоваться !

Автор: Борис 13.04.2006 23:57

сть кто живой:?

Автор: мисс_граффити 14.04.2006 0:06

var
i,count:integer;
begin
count:=0;
Edit2.Text:=''; // не забудь обнулить
for i:=1 to length(Edit1.text) do
begin
if (count=0) and (Edit1.text[i]<>' ') then
begin
inc(count);
label1.caption:=inttostr(count); // вот это дело зачем?
end;
if (Edit1.Text[i]=' ') and (Edit1.Text[i+1]<>' ') and (i+1<=length(edit1.text))
then
begin
inc(count);
Edit2.Text:=Edit2.Text+Edit1.Text[i]+'('+inttostr(count)+')'; // забыл, что надо добавлять к имеющемуся тексту
end
else Edit2.Text:=Edit2.Text+Edit1.text[i]; // аналогично
end;
end;


так, например.
только она у тебя не будет выводить к последнему слову, если после него нет пробела.

Автор: Борис 14.04.2006 0:08

хм, а как сделать чтоб без пробела? blink.gif

Автор: мисс_граффити 14.04.2006 0:11

ну убери

+Edit1.Text[i]+
при выполнении равенства с пробелом.

Автор: Борис 14.04.2006 0:18

чето нето, у меня почему то штампует по несколько раз просто одну и ту же строку

и зачем [i] после ; ?? )

Автор: Борис 14.04.2006 0:28

мдаа, жестоко!
народ, где же вы!
завтра сдавать уже надо wacko.gif

Автор: мисс_граффити 14.04.2006 1:31

я тебе написала, что надо сделать.
все работает.

[i] - это так не совсем корректно тэг курсива себя повел.

а "народ" не обязан тебе в ту же секунду кидаться отвечать - сам виноват, что вовремя не начал выполнять.