StrToPoint

Verweis: StrToRect RectToPoint
Uses: StrUtils
Eingabe: Text(String)
Ausgabe: 2 Zahlen(TPoint)
Funktion: Konvertiert einen String in ein TPoint.

Die Funktion StrToPoint konvertiert einen String in 2 Intgerwerte diese werden als TPoint zurückgegeben. Dabei sind die Trennzeichen egal. Es werden nur zusammenhängende Nummern als Zahl konvertiert. Es werden keine Punkte und keine Kommas als Teil einer Zahl angesehen da wir hier nur nach Ganzzahlen suchen.

function StrToPoint(S: string): TPoint;
const
  //Alles außer Ziffern.
  N = [#0..#255] - ['0'..'9'];
var
  i, g: integer;
  R: array[1..2] of integer;
begin
  Result := Point(0, 0);
  if S = '' then
    exit;
  for i := 1 to 2 do
    TryStrToInt(ExtractWordPos(i, S, N, G), R[i]);
  Result := point(R[1], R[2]);
end;

Aufruf 1

Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie einen TButton und ein TShape auf die Form. Binden Sie die Unit StrUtils mit der Uses-Klausel in die Anwendung ein. Doppelklicken sie auf den Button und ersetzen Sie das Ereignis durch folgenden Quelltext:

procedure TForm1.Button1Click(Sender: TObject);
begin
  canvas.Pen.Width:=5;
  Canvas.Pen.color:=clBlack;
  Canvas.Moveto(StrToPoint('werd23kgitpt,m40'));
  Canvas.LineTo(StrToPoint('fdsldjkjf77,dsfafopju90'));
end;

In dem Aufruf wird eine Linie mit Hilfe der Funktion gezeichnet. Was hier, aus Zwecken der Demonstration mit wilden Zeichen begleitet ist, kann sich auch in der Praxis, sehen Lassen. Hier befinden sich die ein oder andere Textdatei im Umlauf. Die durch diese Funktion ihre Punkte preisgeben. 🙂