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.

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.