Inhaltsverzeichnis
Insert()-Procedure
Einleitung
Dieser Befehl dient der Ergänzung einer bereits existierenden Zeichenkette. Während man durch den '+'-Operator zwei oder mehrere Zeichenfolgen jeweils an deren Anfang oder Ende zusammenfügen kann, erlaubt es diese Prozedur, eine Zeichenkette innerhalb einer exisitierenden Zeichenfolge zu 'injizieren'. Damit gibt es eine weitere Standardfunktion, mit der sich Zeichenketten komfortabel verarbeiten lassen.
Syntax
Befehl | Insert ( s1:String, s2:String, pos:Integer ) |
---|---|
Funktion | Fügt die Zeichenfolge 's1' in die Zeichenkette 's2' ein. Die Injektion findet an der mit 'pos' definierten Stelle statt. |
Rückgabewert | ohne |
Codebeispiel
Der Text 'Cockpit-XP ' wird in die Zeichenfolge 'Rennbahnzeitmessung V2.' eingefügt. Als Positionangabe dient das Leerzeichen vor 'V2.'
var Text1 : String; Text2 : String; Text3 : String; Textlaenge : Integer; posLeerzeichen : Integer; begin Text1 := 'Rennbahnzeitmessung V2.'; Text2 := 'Cockpit-XP '; Text3 := Text1; posLeerzeichen := Pos( ' ', Text3); Insert( Text2, Text3, posLeerzeichen + 1 ); cpShowMessage('Text 1: ' + Text1 + Chr(10) + Chr(13) + 'Text 2: ' + Text2 + Chr(10) + Chr(13) + ' ' + Chr(10) + Chr(13) + 'Text 3: ' + Text3); end.
Hinweise
Man beachte die beiden Zeichenfolgen. So fällt auf, dass der erste Text am Ende ein Leerzeichen enthält. Dieses wird benötigt, weil dieser Text vor dem 'V2.' der zu ergänzenden Zeichenfolge eingefügt wird und sonst ohne Leerzeichen direkt an diese Zeichenkette anschließen würde.
Zur Ermittlung der Einfügeposition dient das Leerzeichen zwischen 'Rennbahnzeitmessung' und 'V2.' Allerdings soll der Text 'Cockpit-XP ' mit passendem Abstand von je einem Leerzeichen eingefügt werden. Also muss die Einfügeposition um den Wert '1' erhöht werden. Damit landet der einzufügende Text direkt vor dem 'V2.'.
Nun wird dort ebenfalls ein Leerzeichen als Abstandshalter benötigt. Deshalb wurde die einzufügende Zeichenfolge entsprechend am Ende mit einem Leerzeichen versehen.