Wort aus einem String extrahieren |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Diese Funktion extrahiert ein Wort aus einem String. Der Index wird im zweiten Parameter angegeben. Der Clou der ganzen Geschichte ist der, dass als Trennzeichen ein #0 verwendet wird. Es ist nicht möglich dieses zeichen per Hand, z.B. in einem Edit-Feld einzugeben. So kann man beispielsweise in einem Chat, hinter die eigentliche Chatnachricht weitere Informationen schicken, ohne befürchten zu müssen, dass der User das Trennzeichen schon in seiner Nachricht benutzt hat.#0 ist also das perfekte Trennzeichen :)
Function GetWordOfAnsiString(Text : string; WordPos : Word): string;
var
p : PChar;
begin
p := PChar(Text);
repeat
Dec(WordPos);
while p^ <> #0 do
begin
if WordPos = 0 then
Result := Result + p^;
Inc(p);
end;
if WordPos = 0 then Exit;
Inc(p);
until p^ = #0;
end;
Und so kann es dann aufgerufen werden:
procedure TForm1.FormCreate(Sender: TObject);
var
s : string;
begin
s := 'Hannes' +#0 + 'Blade' + #0 + 'Ruler';
Showmessage(GetWordOfAnsiString(s,0)); // damit bekommt man das 1. Wort
end;
- 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