Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Form.Width in cm anzeigen lassen ? (https://www.delphipraxis.net/128771-form-width-cm-anzeigen-lassen.html)

thomas2009 5. Feb 2009 19:14


Form.Width in cm anzeigen lassen ?
 
Hallo

mein Form ist hat folgende Eigenschaften
Breite: 640 pixel
PixelsPerInch= 96
Nun möchte ich die Breite in cm in Edit1 anzeigen lassen :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=IntToStr(Trunc(Form1.width*Form1.PixelsPerInch / (25.4*100)));
end;
Ich erhalte aber 23 cm und nicht 20 !

[edit=SirThornberry]Titel korrogiert - nächstes mal bitte die Zeit nehmen wenigstens einmal kurz drüber zu schauen was du schreibst :-) Mfg, SirThornberry[/edit]

nuclearping 5. Feb 2009 19:59

Re: Form.Width in cm anzeigen lassen ?
 
Die Lösung hast du doch schon selbst hier herausgefunden: http://www.delphipraxis.net/internal...=998110#998110

Hier wurde das Thema auch schon durchgekaut: http://www.delphipraxis.net/internal...597&highlight=
... und hier: http://www.delphipraxis.net/internal...542&highlight=

:gruebel:

Valle 5. Feb 2009 20:06

Re: Form.Width in cm anzeigen lassen ?
 
Zitat:

Zitat von thomas2009
Ich erhalte aber 23 cm und nicht 20 !

Das könnte daran liegen, dass 24 richtig ist. :stupid:

Wenn wir jetzt mal davon ausgehen, dass "23" ein Tippfehler ist.
Raus kommt in Wirklichkeit ja rund 24,19 ;-)


Mit freundlichen Grüßen,

Valle

thomas2009 5. Feb 2009 21:04

Re: Form.Width in cm anzeigen lassen ?
 
Zitat:

Zitat von nuclearping
Die Lösung hast du doch schon selbst hier herausgefunden

Diesmal eine ganze andere Idee ohne Funktion ;)

ich habe nun den Code geändert, dann bekam ich fast die exakte Länge : )

Delphi-Quellcode:
Edit1.Text := IntToStr(trunc(Form1.width/(Form1.PixelsPerInch / 25.4)));// form.Width in mm

globetrotter77 5. Feb 2009 21:27

Re: Form.Width in cm anzeigen lassen ?
 
Das darf ja wohl nicht wahr sein!
Merkt denn hier keiner, dass da schon die Formel völliger Quatsch ist?
Bevor man den Computer als Rechenknecht missbraucht, sollte man zumindest selber rechnen können!
Es handelt sich um simplen Dreisatz, Leute!
Und wer den nicht beherrscht, sollte die Finger von solchen Umrechnungen am Computer lassen!
Also Papier und Stift rausziehen und selber ein Beispiel durchrechnen ...
solange, bis da steht
Breite = ???
(und erst ganz am Ende den Taschenrechner benutzen) ...
Erst wenn das klappt, kann man's auch verallgemeinern!
Ansonsten tippt ihr euch noch die Finger wund ... *kopfschüttel*

globetrotter77 5. Feb 2009 21:29

Re: Form.Width in cm anzeigen lassen ?
 
Ah!
Die letzte Formel schaut schon viel besser aus!
Aber auch geklaut, ohne sie verstanden zu haben, oder?

PS: du hast nicht nur den Code geändert, sondern die Formel!!! Das ist was ganz anderes!

Valle 5. Feb 2009 21:33

Re: Form.Width in cm anzeigen lassen ?
 
Ich hatte auch so meine Bedenken, ob die Formel denn so überhaupt richtig ist. Aber ich hatte keine Lust zu rechnen und auch ein bisschen die Sorge, dass ich falsch liege. *g*

Liege ich mit folgender Rechnung richtig?

Millimeter = Breite * PixelsPerInch * 25,4

Mit freundlichen Grüßen,

Valle

globetrotter77 5. Feb 2009 21:38

Re: Form.Width in cm anzeigen lassen ?
 
@Valle:
einfach ausrechnen und nachdenken
im obigen Beispiel bekommst du 1560576 mm = 1,56 km
und? kann das sein?

PS: und jedes Pixel wäre ein Quadrat mit ca. 2,44 m Seitenlänge!

Valle 5. Feb 2009 21:51

Re: Form.Width in cm anzeigen lassen ?
 
Natürlich, einfach nachrechnen... :wall:

Ist nicht mein Tag heute. Also neuer Versuch. Auch wenn ich das gar nicht brauche interessiert mich das jetzt. Erstmal rechnet man also die Breite aus. Das müsste eigentlich 640 / 96 sein, da man wissen muss, wie oft die Anzahl der Pixel eines Inches in 640 reinpassen. (Jetzt wird's Grundschule. *g*) Anschließend muss das Ergebnis, da ja in Inch vorliegt umgerechnet werden. Wikipedia sagt mir, dass ein Inch 25,4mm sind. Und das müsste dann meiner Rechnung nach BreiteInInch * 25,4 sein. Python sagt mir, das gibt rund 169mm, was dann 16,9cm wären. Ich habe keine Ahnung welcher PixelsPerInch-Wert für meinen Monitor gilt, aber das kommt so ungefähr hin (Ich habe zwischen 18cm und 19cm)...

Also Herr Lehrer, ich bitte um Korrektur. :-)

Mit freundlichen Grüßen,

Valle

globetrotter77 5. Feb 2009 22:12

Re: Form.Width in cm anzeigen lassen ?
 
@Valle:
na also, geht doch! ... *grins*


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:49 Uhr.
Seite 1 von 2  1 2      

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