RectToStr

Verweis: PointToStr StrToRect
Uses: System
Eingabe: Rechteck(Trect)
Ausgabe: Rechteck(Rechteck)
Funktion: Gibt die linke obere und die rechte untere Ecke vom Typ TRect in einen String formatierten String aus.

Hier haben Wir eine Funktion die ich ab und an benötige Sie macht aus einer Rechteckangabe einen Text. Hier werden die linke obere und die rechte untere Ecke in einem Text konvertiert. Hierbei haben wir noch zusätzlich die Möglichkeit, über den Parameter “Absolut” sich den Wert in wahlweise inkrementell oder absolut anzeigen zu lassen.

Vorbereitung: Erstellen sie eine IDE Anwendung und ziehen Sie einen TButton auf die Form. Doppelklicken sie auf den Button und ersetzen Sie das Ereignis durch folgenden Quelltext:

function RectToStr(sR: TRect; Absolut: boolean = false): string;
begin
  if Absolut then
    Result := Format('X1= %d, Y1= %d, X2= %d, Y2= %d',
      [sR.Left, sR.Top, sR.Left + sR.Width, sR.Top + sR.Height])
  else
    Result := Format('X= %d, Y= %d, L= %d, H= %d', [sR.Left,
      sR.Top, sR.Width, sR.Height]);
end;

Aufruf

procedure TForm1.Button1Click(Sender: TObject);
begin
  width:=400;
  //Abstand des Rechtecks
  Caption := RectToStr(button1.BaseBounds,true);
end;

In dem Beispiel lassen wir uns die Abmaße des Button1 durch die Methode “BaseBounds” in einem Text in der Titelzeile des Fensters ausgeben.BaseBounds ist so nett und übergibt den wert als Typ Trect.

Lazarus RectToStr unterschiede inkremental absolut
RectToStr Inkrementell oder Absolut.

Eigentlich sagt ein Bild mehr als 1000 Worte. Bei Absolut wie im oberen Fenster, werden die Werte immer ab der Linken oberen Ecke des Fensters angegeben. Dies ist für Lazarus ungewöhnlich und muss mit dem optionalen Parameter “Absolut=True” gewünscht werden. Wenn sie den Parameter weglassen dann, steht dieser automatisch auf “False”. Dies führt zur Standard bemaßung von Lazarus.