AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler in TRect::SplitRect?

Ein Thema von Der schöne Günther · begonnen am 1. Jun 2018 · letzter Beitrag vom 2. Jun 2018
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Fehler in TRect::SplitRect?

  Alt 1. Jun 2018, 11:20
Delphi-Version: 10 Seattle
Der zweite Parameter von SplitRect heißt Percent . (Doku)


Delphi-Quellcode:
uses System.Types;

procedure p();
var
   a, b: TRect;
begin
   a := TRect.Create(0, 0, 100, 100);
   b := a.SplitRect(TSplitRectType.srLeft, {Percent=}50.0);

   Assert( b.Left = 0 );
   Assert( b.Top = 0 );
   Assert( b.Bottom = 100 );
   Assert( b.Right = 50 ); // b.Right == 5000
end;
Könnte jemand kurz prüfen ob das in der grade aktuellen Version immer noch so ist?
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Fehler in TRect::SplitRect?

  Alt 1. Jun 2018, 11:28
Der zweite Parameter von SplitRect heißt Percent . (Doku)
Delphi-Quellcode:
uses System.Types;
procedure p();
var
   a, b: TRect;
begin
   a := TRect.Create(0, 0, 100, 100);
   b := a.SplitRect(TSplitRectType.srLeft, {Percent=}50.0);

   Assert( b.Left = 0 );
   Assert( b.Top = 0 );
   Assert( b.Bottom = 100 );
   Assert( b.Right = 50 ); // b.Right == 5000
end;
Könnte jemand kurz prüfen ob das in der grade aktuellen Version immer noch so ist?
Aus der von Dir verlinkten Doku:
Zitat:
Percent definiert den Teil des aktuellen Rechtecks, der gelöscht oder hinzugefügt werden soll. Das bedeutet, dass SplitRect die SplitType-Seite in den angegebenen Percent verschiebt. 0 entspricht null Prozent. 1 entspricht 100% Prozent. Wenn Percent positiv ist, dann wird die SplitType-Seite in Richtung des aktuellen Rechtecks verschoben. Andernfalls wird die SplitType-Seite vom aktuellen Rechteck weg verschoben.
Fritz Westermann
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Fehler in TRect::SplitRect?

  Alt 1. Jun 2018, 14:51
Stimmt, nachträglich einfach die Doku anpassen statt den Parameter richtig zu benennen ist auch eine Lösung

Danke für den Hinweis. In meiner lokalen Hilfe ist noch die alte Fassung von 2012, da steht das noch nicht.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.296 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fehler in TRect::SplitRect?

  Alt 2. Jun 2018, 06:01
Moin...
Mit der https://www.delphipraxis.net/dp_reference.php wäre das nicht passiert.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch
Online

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Fehler in TRect::SplitRect?

  Alt 2. Jun 2018, 09:08
Stimmt, nachträglich einfach die Doku anpassen statt den Parameter richtig zu benennen ist auch eine Lösung
Einen solchen Bug zu fixen ist nicht ungefährlich, weil es immer Leute gibt, die sich auf die Implementation verlassen haben. Da kann es durchaus sinnvoll sein, einfach die Dokumentation anzupassen (und evtl. den Parameter umzubenennen).
Thomas Mueller
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Fehler in TRect::SplitRect?

  Alt 2. Jun 2018, 10:30
Den Parameter richtig zu benennen würde doch schon reichen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Fehler in TRect::SplitRect?

  Alt 2. Jun 2018, 10:36
Eine Angabe eines Faktors findet an vielen Stellen statt. Hat sich an dieser Stelle auch nicht geändert.
Markus Kinzler

Geändert von mkinzler ( 2. Jun 2018 um 10:40 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#8

AW: Fehler in TRect::SplitRect?

  Alt 2. Jun 2018, 18:33
Bei Prozent gehe ich auch immer erstmal von Beiden Optionen aus
0 ... 1 oder 0 ... 100.
Ist für mich i.d.R. erstmal gleichwertig möglich.

Bevorzugen tue ich 0 ... 1 weil sich das mathematisch sinnvoller Nutzen lässt.

Wie wäre denn die richtige, offizielle Bezeichnung von 0 ... 1 ?
Vielleicht Prozentfaktor ?
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Fehler in TRect::SplitRect?

  Alt 2. Jun 2018, 19:07
False / True Off / On ... = 0 / 1

Bei Prozent geh ich von 0 bis 100 aus, weil es irgendwie mehr Sinn ergibt.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#10

AW: Fehler in TRect::SplitRect?

  Alt 2. Jun 2018, 20:36
False / True Off / On ... = 0 / 1
Auch, wenn es sich um einen Double-Wert handelt?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz