Hallo zusammen.
Hier meine Aufgabenstellung:
Der Benutzer gibt einen Satz in eine Edit-Box ein. Jener Satz soll in seine einzelnen Worte eingeteilt werden. Man geht davon aus, dass 2 Worte sich durch eins der folgenden Zeichen trennen (ASCII-Code in Klammern): Leerstelle(32),Apostroph(39),Bindestrich(45),Komma (44). Das Ende eines Satzes wird durch einen Punkt gekennzeichnet.
Das Programm soll den Satz analysieren:
- Anzahl an Worten
- längstes Wort
- durchnittliche Länge der Wörter
- Frequenz eines vom Benutzer angegebenen Buchstaben
Ich habe bereits ein Problem bei der "Basis" des Programms.
Mein Code:
Delphi-Quellcode:
implementation
{$R *.dfm}
procedure TForm1.edt_phraseKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i,k:integer; words:array of string;
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)
else words[k]:=words[k]+edt_phrase.text[i];
SetLength(words,k);
edt_wordscounter.Text:=IntToStr(k)+'words';
end;
end;
end.
Die Fehlermeldung ist im Anhang und ich werde nicht schlau draus.
Wär nett wenn mir wer helfen könnte.
Grüße