![]() |
32 div Teiler = 0 ?
Folgendes:
Delphi-Quellcode:
Sieht ein bisschen Chaotisch aus, ist es aber nicht ;)
procedure TFFreggels.Zoomen(Teiler : Integer);
var [...] begin [...] Showmessage(IntToStr(Round(32 / Teiler))); Showmessage(IntToStr(32 div Teiler)); Showmessage(IntToStr(Teiler)); Held10.Height := 32 div Teiler; Held10.Width := 32 div Teiler; //Objektkarte with Held10 do begin Showmessage(IntToStr(Held10.Height)); Canvas.StretchDraw(Rechteck, HOben.Picture.Graphic); end; end; Folgendes: Teiler = 1 Nachrichten:
Also ich habe da keinen Fehler Entdeckt, aber dennoch ist Held10.Height = 0 !! |
Re: 32 div Teiler = 0 ?
Div rundet auch :wink:
|
Re: 32 div Teiler = 0 ?
Zitat:
kannst Du mal beschreiben warum DIV "rundet"? |
Re: 32 div Teiler = 0 ?
Dann rundet es aber gewaltig den 32/1 ist 32 und nicht 0!
|
Re: 32 div Teiler = 0 ?
richtig, div rundet nicht, sondern schneidet die Kommastellen ab ;)
aber das is auch nicht wirklich das Problem, schließlich müsst bei 32 div 1 auch nichts gerundet werden :gruebel: @Topic: Ich bezweifle, dass es am div liegt. Schließlich wird der Term 32 div 1 erst ausgerechnet, (also kommt 32 raus), und dann zugewiesen. Probier einfach mal, 32 direkt zuzuweisen (also Held10.Height := 32;), dann dürfte das selbe Ergebnis reinkommen. Das Problem liegt also am Setter von Held10.Height. Von welchem Typ is Held10? greetz Mike |
Re: 32 div Teiler = 0 ?
Vom TImage!
Und es ist an sich auch egal ob es rundet ;) oder abschneidet... fakt ist nur das er aus 32 div 1 = 0 macht... Und es ist auch bei anderen "Teilern"! Und schonmal danke ;) Ich habe mich auch gewundert ^^ [edit]Mit direkter Zuweisung (Held10.Height) ist es auch 32... :( [/edit] [edit]Doch nicht ;) Falscher Wert überprüft >>> Egal ob statischer oder variabler Wert! [/edit] |
Re: 32 div Teiler = 0 ?
Zitat:
Delphi-Quellcode:
[edit] Haste schonmal ShowMessage(IntToStr(Teiler)) gemacht? [/edit]
ShowMessage(IntToStr(32 div 1)); // Ergibt 32
|
Re: 32 div Teiler = 0 ?
Witzbold (sry, konnte ich mir nicht verkneifen) 1. Post Delphicode Zeile 8!
|
Re: 32 div Teiler = 0 ?
Zitat:
|
Re: 32 div Teiler = 0 ?
Wenn ich das nochmal zusammenfassen darf:
Bei jeder Zuweisung, egal welcher Art, ist der Wert (habe bisher nur "Height" überprüft) = 0! |
Re: 32 div Teiler = 0 ?
Zitat:
Zitat:
Du kannst aber beruhigt sein, 'DIV' arbeitet korrekt, die Zuweisung auch, und bis auf wenige exotische Ausnahmen dürfte jede Kombination von Assemblerbefehlen auch korrekt abgearbeitet weren. Es liegt hier also ein einfaches Logikproblem vor. |
Re: 32 div Teiler = 0 ?
Zitat:
Zitat:
So... Und nun wie es schon alzaimar gesagt hatte, lag es daran, dass die Images Autosize = true waren... |
Re: 32 div Teiler = 0 ?
Zitat:
Schön, das das Problem gelöst ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz