![]() |
DIV Problem (Integer?)
Hallo Ihr :D
Ich hab n problem und finde meinen Fehler nicht! Und zwar geht es darum das ich in meinem Programm eine Rechnung machen will, als ergebnis will ich aber nur GANZE zahlen ausgegeben bekommen. Ich hab daher jetzt in meiner Rechnung mit DIV statt / gerechnet.. Allerdings bekomme ich nun immer folgende Fehlermeldung: [Fehler] Unit1.pas(42): Operator ist auf diesen Operandentyp nicht anwendbar Hier Nochmals mein Quelltext... Kann mir jemand sagen was ich jetzt Falsch gemacht habe??? var Form1: TForm1; L,H,L2,H2:real; procedure TForm1.RechneClick(Sender: TObject); begin L:=strtoint (Laenge.text); H:=strtoint (Hoehe.text); if L>H then begin L2:=L; H2:=(L div 3)*2; end else begin H2:=H; L2:=(H div 3)*2; end; Hoehe2.text:=inttostr(H2) ; Laenge2.Text:=intttostr(L2) ; end; LG Deca |
AW: DIV Problem (Integer?)
DIV funktioniert nur mit ganzen Zahlen, L ist aber vom Typ real.
P.S.: Willkommen in der DP :dp: |
AW: DIV Problem (Integer?)
Warum deklarist du die Variablen als Reals und nicht als Integer?
|
AW: DIV Problem (Integer?)
Warum sind eigentlich
Delphi-Quellcode:
global deklariert, obwohl sie nur lokal benötigt werden?
L,H,L2,H2:real;
Zitat:
siehe
Delphi-Quellcode:
,
L:=strtoint
Delphi-Quellcode:
,
intttostr(L2)
Delphi-Quellcode:
und vorallem
div
Zitat:
Zitat:
Operandentyp = Typ deiner Variable Also, da kann man aus der Fehlermeldung herauslesen, daß die Variable einen unpassenden Typen besitzt, welcher nicht mit dieser Operation vereinbar ist. PS: Für Fließkommazahlen nutzt man das
Delphi-Quellcode:
als Divisionsoperator.
/
Man hätte nicht alles fett schreiben müssen und der Code paßt auch ganz gut in ein [code]...[/code] oder sogar ein [delphi]...[/delphi] (der Knopf mit dem roten Helm) rein. :zwinker: Für Fehlerstellen macht sich z.B. ein Kommentar ala
Delphi-Quellcode:
nicht verkehrt.
// <<<<< hier ist es
|
AW: DIV Problem (Integer?)
Aaaaaa Danke schön :D
Ich hatte das problem das am anfang immer die fehlermeldung kam das InttoFloat nicht möglich ist ^-^ Aber habe das problem behoben xD danke euch xD und das mit [delphi] und Code und so wusste ich nich - . - sorry |
AW: DIV Problem (Integer?)
Zitat:
|
AW: DIV Problem (Integer?)
Er/Sie/Es meinte vermutlich StrToFloat und die Zuweisung an einen Integer. :stupid:
|
AW: DIV Problem (Integer?)
Also ne xD Das mit Int und Floats hab ich noch nich kapiert xD
Ich krieg dauerhaft Fehlermeldungen - .-
Code:
omg - . - Warum ist mein Operator jetz nich anwendbar?? ich hab das doch als Integer deklariert ö.ö
procedure TForm1.RechneClick(Sender: TObject);
var V,L,H,L2,H2:integer; begin L:=strtoint (Laenge.text); H:=strtoint (Hoehe.text); V:= L div H; if V>1.5 then begin H:= L div 1.5; // [Fehler] Unit1.pas(47): Operator ist auf diesen Operandentyp nicht anwendbar end else begin L:=1.5*H; end end; Hoehe2.text:=inttostr(H2) ; Laenge2.Text:= intToStr(L2) ; Sorry bin zu blöd für Delphi glaub ich langsam xD |
AW: DIV Problem (Integer?)
Delphi-Quellcode:
Alle 3 Teile müssen ganzzahlig sein, sonst kannst Du DIV nicht anwenden. 1,5 geht also nicht.
Integerergebnis := Integer div Integer;
|
AW: DIV Problem (Integer?)
Weil 1,5 nun mal keine ganze Zahl ist, der div-Operator aber nur für ganze Zahlen zu nutzen ist. Wenn du durch 1,5 teilen musst, musst du den normalen Teilungsoperator "/" nutzen. Um das Gleitkommaergebnis dieser Operation wieder in eine ganze Zahl zu wandeln hilft z.B. die Funktion
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:22 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