TMemo

Ответить
Виктория01
Сообщения: 6
Зарегистрирован: 29 сен 2009, 20:12

Ув. программисты!!! У меня к Вам огромная просьба! Помогите, ПОЖАЛУЙСТА, разобраться с TMemo. :confused:

У меня задание вот такое:

Дано фрагмент текста (TMemo). Нужно сформировать список(ListBox) всех слов, что находяться в этом тексте.

Вот что я пыталась, но как далеше - не пойму(((((
[syntax="Delphi"]
procedure TForm1.Button1Click(Sender: TObject);
var i, k : integer;
begin
listbox1.Clear;
k:=0;
for i:=1 to length(memo1.Text) do \\ смотрим весь текст
if (memo1.Text<>' ')and(memo1.Text[i-1]<>'.') then \\ если текст не равен пробелу и точке
ListBox1.Items.Add(Memo1.text); \\ переписываем его в ListBox1 (вот тут и работает оно не правильно: просто переписывает ВЕСЬ текст и с пробелами, и с точками несколько раз)
end;
[/syntax]


ПОМОГИТЕ плз :(
Newbie
Сообщения: 148
Зарегистрирован: 06 сен 2009, 19:45

1. length(memo1.Text) много больше чем кол-во слов в тексте
2. разве memo1.Text возвращает слово?

на счет второго могу ошибаться, но 1 точно ошибка.
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Читаем правила раздела, в след раз удалю.
[syntax=Delphi] [/syntax]
BHy4ok
Сообщения: 237
Зарегистрирован: 01 май 2007, 09:03
Откуда: г.Находка
Контактная информация:

На форму кинешь батон, листбокс и мемо.
[syntax='Delphi']
procedure TForm1.Button1Click(Sender: TObject);
var
s,Source:string;
i:integer;
begin
Source:=Memo1.Text;
s := '';
i := 1;
while i<= Length (Source) do
begin
if Source <> ' '
then s := s+ Source;
if (source=' ')
then
begin
ListBox1.Items.Add(s);
s := '';
end;
inc(i);
end;
ListBox1.Items.Add(s);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
ListBox1.Clear;
end;
[/syntax]
< L3X. (ICQ: 8721378, Mail - l3x@list.ru)
Ответить