Строки в Delphi

Тема в разделе "Pascal and Delphi", создана пользователем Kinect, 15 ноя 2010.

  1. Kinect

    Kinect Гость

    Парни помогите с лабой ;)

    Задание такое:
    Дана строка, состоящая из групп нулей и единиц. Каждая группа отделяется от другой одним или несколькими пробелами. Найти и вывести на экран группы с четным количеством символов.

    Короче набодяжил форму и программу, только вот не работает так как нужно ;)

    Код (Delphi):
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, XPMan;

    type
    TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    XPManifest1: TXPManifest;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}


    Function Krz(St: string): Word; //Подсчет количества различных символов
    Var a:set of char;
    m, i: Word;
    begin
    m:=0;
    a:=[];
    for i:=1 to Length(St) do
    if not(St[i] in a) then
    begin
    Include(a,St[i]);
    Inc(m);
    end;
    Result:=m;
    end;

    Function FWord(St: String): String;
    Var
    n, i, nst: Integer;
    sl, srez: String;
    begin
    Result:='';
    srez:='';
    n:=Length(st);
    if n=0 then exit;
    st:=st+'';
    n:=n+1;
    sl:='';
    for i:=1 to N do
    if st[i]<>'' then sl:=sl+st[i]
    else
    if sl<>'' then
    begin
    srez:=srez+''+sl+'_'+IntToStr(Krz(sl));
    sl:='';
    end;
    Result:=srez;
    end; //Конец функции FWrd

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
    if Key=#13 then Edit2.Text:=Fword(Edit1.Text);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    Close();
    end;

    end.
    Помогите пожалуйста! Буду очень благодарен! :)
     
  2. XTen

    XTen Active Member

    Регистрация:
    18 сен 2010
    Сообщения:
    26
    Симпатии:
    0
    Готов помочь за денюжку! Написать с нуля!
    ICQ: 410691984
     
  3. Dock1100

    Dock1100 :-]

    Регистрация:
    9 ноя 2009
    Сообщения:
    678
    Симпатии:
    0
    Код (Delphi):
    Function FWord(St: String): String;
    Var
    i,l,r: Integer;
    s,s2:string;
    begin
    s2:='';
    s:='';
    l:=1;
    r:=1;
    for i:=1 to Length(st) do
    if (st[i]=' ')or(i=Length(st)) then
    begin
    r:=i;
    if (i=Length(st))and(st[i]<>' ') then r:=r+1;
    s2:=copy(st,l,r-l);
    if length(s2) mod 2 = 0 then
    s:=s+' '+s2;
    l:=i+1;
    end;
    FWord:=s;
    end;
     
  4. Kinect

    Kinect Гость

    Dock1100 ОГРОМНОЕ СПАСИБО!!!
     
  5. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    XTen
    интересно, и во сколько ты оцениваешь эту мега-задачку? :)
     
Загрузка...

Поделиться этой страницей