Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Снова строки:((((


Автор: Palladin 23.6.2006, 04:16
Задача такая, дана строка из групп 0 и 1, каждая группа разделена пробелом, нужно вывести в другой листбокс те группы которые имеют чётное кол-во символов
Допустим ввели строку: 
1111 00000 1111111 0000
в другой листбокс должно вывестись 1111 0000 и всё

Я пытался решить задачу, чёто не выходитsmile(( вот мой код:

Код

procedure TForm1.ListBox1Click(Sender: TObject);
var
s,k:string;
i,n,ns,ind,ch,u:integer;
begin
ns:=listbox1.ItemIndex;
s:=listbox1.Items[ns];
ch:=0; u:=1; k:=' ';
for i:=1 to length(s) do
begin
if s[i]<>' ' then
begin
ch:=ch+1;
k[u]:=s[i];
u:=u+1;
end
else
if ch mod 2=0 then
begin
listbox2.Items.add(k);
u:=1; ch:=0;
end;
end;
end;


Полюбому я тут наморозил, т.е. с файлами и строками работаю оч плохо, поправьте плиззз, только код попроще плизз и с коментами если мона smile  smile  smile  smile  

Автор: Dynamic 23.6.2006, 05:53
Можно так:
Код

procedure TForm1.Button1Click(Sender: TObject);
var s, t: string;
    i: integer;
begin
     ListBox1.Clear;
     s := Edit1.Text;
     i := Pos(' ', s);
     while i > 0 do
     begin
       t := Copy(s, 1, i-1);
       if not ODD(Length(t)) then
        ListBox1.Items.Add(t);
       Delete(s, 1, i); 
       i := Pos(' ', s);
     end;
     if s <> '' then
      if not ODD(Length(s)) then
       ListBox1.Items.Add(s);
end;

 

Автор: Palladin 23.6.2006, 06:35
Динамик сенкс, всё пашет smile  Вот тебе очко smile  smile  

Автор: Snowy 23.6.2006, 09:23
RooR, научись наконец давать топикам осмысленные названия.
Модератор: Название темы должно отражать ее суть! 

Автор: Palladin 23.6.2006, 14:28
Сорриsmile пытаюсь, щас вроде уже более менее написал, вроде понятно что просят помочь с задачей связанной с обработкой строк smile  smile 

P.S. Сорри smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)