Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi "Verwertung" eines Satzes (https://www.delphipraxis.net/170422-verwertung-eines-satzes.html)

diavy 16. Sep 2012 19:20

AW: "Verwertung" eines Satzes
 
€: Hier ist nun mein Code:

Delphi-Quellcode:

implementation

{$R *.dfm}
procedure TForm1.edt_phraseKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
i,k,max:integer; words:array of string; longest:string; summ:real;
begin
if (Key=VK_Return) then
        begin
        k:=0;
        for i:=1 to Length(edt_phrase.Text) do
                if ord(edt_phrase.text[i])=32 then inc(k);
        SetLength(words,k+1);
        {-----------------------------------------------}
        k:=0;
        for i:=1 to Length(edt_phrase.Text) do
                if ord(edt_phrase.text[i])=32 then inc(k)
                else words[k]:=words[k]+edt_phrase.text[i];
        edt_wordscounter.Text:=IntToStr(k+1)+' words';
        {-----------------------------------------------}
        max:=Length(words[0]);
        longest:=words[0];
        for i:=1 to k do
                if Length(words[i]) > max then
                        begin
                        max:=Length(words[i]);
                        longest:=words[i];
                        end;
        edt_longestword.Text:=longest + '(' + IntToStr(max) + ' letters)';
        {-----------------------------------------------}
        summ:=0;
        for i:=0 to k do
                summ:=summ+Length(words[i]);
        summ:=summ/(k+1);
        edt_averagelength.Text:=FloatToStr(summ);
        end;
end;

procedure TForm1.edt_letterChange(Sender: TObject);
var summ,i:integer;
begin
if edt_letter.Text <> '' then
        begin
        summ:=0;
        for i:=1 to Length(edt_phrase.Text) do
                if edt_phrase.Text[i]=edt_letter.text[1] then inc(summ);
        lbl_frequence.Caption:='The letter ' + edt_letter.text[1] + ' got used ' + IntToStr(summ) + ' times.';
        end;
end;

end.
Wie krieg ich es nun hin, dass ich zB einen Button hinzufügen könnte, und bei dessen OnClick-Event die hier gepostete Key-Up-Prozedur gestartet wird?
Sprich dass man mit "Enter"-Drücken und einem Button das ganze starten kann.

Aphton 16. Sep 2012 20:31

AW: "Verwertung" eines Satzes
 
Du verschiebst den Inhalt vom KeyPress ins OnClick Ereignis des Buttons.
Im KeyPress Event prüfst du, ob vk_return gedrückt wurde und führst anschließend das Event per
meinButton.onClick(Sender)
aus..

diavy 16. Sep 2012 21:03

AW: "Verwertung" eines Satzes
 
Danke! :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:33 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz