Wörter in einem String zählen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Viele Textverarbeitungen bieten diese Funktion an: Wörter zählen...Mit dieser Funktion kannst Du auch so etwas realisieren. In der lokalen Funktion Seps kannst Du selbst festlegen, welche Zeichen als Indikator für ein neues Wort verwendet werden sollen.
Function WordCount(CText: String): Longint;
Function Seps(As_Arg: Char): Boolean;
Begin
Seps := As_Arg In
[#0..#$1F, ' ', '.', ',', '?', ':', ';', '(',')', '/', ''];
End;
Var
Ix: Word;
Work_Count: Longint;
Begin
Work_Count := 0;
Ix := 1;
While Ix <= Length(CText) Do
Begin
While (Ix <= Length(CText)) And (Seps(CText[Ix])) Do
Inc(Ix);
If Ix <= Length(CText) Then
Begin
Inc(Work_Count);
While (Ix <= Length(CText)) And
(Not Seps(CText[Ix])) Do
Inc(Ix);
End;
End;
Result := Work_Count;
End;
Die Funktion könnte man Beispielsweise so aufrufen:
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption:=IntToStr(WordCount(Memo1.Text));
end;
In diesem Falle würde in der Titelleiste des Formulars die Anzahl der Wörter des Textfeldes Memo1 stehen.
- Text im StringGrid ausrichten
- StringGrid Text vertikal ausgeben
- Datei in einen String laden
- Strings in einem Bitmap ausgeben
- String in der Tag-Eigenschaft speichern
- Wort aus einem String an einer Position extrahieren
- String hinter Cursorposition einfügen
- Hinzufügen von Einträgen in Listen beschleunigen
- Prüfen, ob ein Eintrag in TStrings schon vorhanden ist
- Stringgrid-Zelle per Programmcode selektieren