€: 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.