![]() |
Brauch den code für das geteilt beim Taschenrechner
Hi!
ich brüchte den code damit mein taschenrechner teilen kann. SpinEdit3.Value:=SpinEdit1.Value / SpinEdit2.Value; geht leider nicht. :cry: |
Re: Brauch den code für das geteilt beim Taschenrechner
Zitat:
In diesem Fall eine Ausnahme: SpinEdit.Value ist eine Integer-Eigenschaft, verwende div anstatt / und es wird funktionieren. Greetz alcaeus |
Re: Brauch den code für das geteilt beim Taschenrechner
Hai Saimen,
warumm geht es denn nicht? Ich denke mal Du bekommst eine Fehlermeldung. |
Re: Brauch den code für das geteilt beim Taschenrechner
@ alcaleus nein wenn ich div statt/ schreibe kann ich das programm nichtmehr ausführen :cry:
|
Re: Brauch den code für das geteilt beim Taschenrechner
Zitat:
Delphi-Quellcode:
SpinEdit3.Value:=SpinEdit1.Value div SpinEdit2.Value;
|
Re: Brauch den code für das geteilt beim Taschenrechner
Ich bin so DUMM
Jetzt gehts allerdings müsste ich jetzt noch wissen was ich machen soll damit man nicht durch 1 teilen kann und damit kein fehler kommt sondern einfach eine form geöffnet wird wenn ich durch 0 teile... :lol: |
Re: Brauch den code für das geteilt beim Taschenrechner
:hi:
ev. MinValue setzen. mfg Tobias |
Re: Brauch den code für das geteilt beim Taschenrechner
Hab ich schon :roll:
|
Re: Brauch den code für das geteilt beim Taschenrechner
guten morgen erst mal,
du fragst einfach ab ob irgendeiner deiner Ausganswerte nicht 0 ist...du hast geschrieben durch 1..,meintest bestimmt durch 0
Delphi-Quellcode:
mfg therian
if (spinedit.value <> 0) then begin
mach irgendwas end; ach ja..heut scheint die sonne...raus mit euch |
Re: Brauch den code für das geteilt beim Taschenrechner
man darf auch nicht durch 1 teilen :wink:
und auserdem wieso mach irgendwas? |
Re: Brauch den code für das geteilt beim Taschenrechner
Alternativ kannst dus auch mit einem try-except-Block lösen:
Delphi-Quellcode:
Greetz
try
SpinEdit3.Value:=SpinEdit1.Value div SpinEdit2.Value; except MessageDlg('Ungültiger Wert!', mtError, [mbOk], 0); end; alcaeus PS: Beim testen die Delphi-Exceptions in den Debugger-Optionen ausschalten, andernfalls kommt die Exceptionmeldung immer noch. [add] Zitat:
Zitat:
[/add] [add2] Zitat:
[/add2] |
Re: Brauch den code für das geteilt beim Taschenrechner
Ich hab jetzt ehrlich gesagt kein wort verstanden :pale: :oops:
|
Re: Brauch den code für das geteilt beim Taschenrechner
Zitat:
Delphi-Quellcode:
begin
if (SpinEdit2.Value=0) then begin ShowMessage ('Division durch 0'); end else begin SpinEdit3.Value:=SpinEdit1.Value div SpinEdit2.Value end; end; |
Re: Brauch den code für das geteilt beim Taschenrechner
was soll der un terste code?
|
Re: Brauch den code für das geteilt beim Taschenrechner
Hi Seimen,
sorry war wohl zu schnell, ok, du sagtest du willst die Eingabe durch 1 und 0 verhindern. Das kannst du durch eine Abfrage lösen wie:
Delphi-Quellcode:
Die Neu Form kannst du so erzeugen.
if (SpinEdit2.Value <> 1) and (SpinEdit2.Value <> 0) then begin
SpinEdit3.Value := SpinEdit1.Value div SpinEdit2.Value end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var meineForm: TForm1; begin meineform := TForm1.Create(nil); meineForm.Show; end; |
Re: Brauch den code für das geteilt beim Taschenrechner
Aber dann kommt drotzdem ein fehler :roll:
|
Re: Brauch den code für das geteilt beim Taschenrechner
Zitat:
Greetz alcaeus |
Re: Brauch den code für das geteilt beim Taschenrechner
Da steht Division durch null
und in der unit wird die zeile SpinEdit3.Value:=SpinEdit1.Value div SpinEdit2.Value; blau markiert |
Re: Brauch den code für das geteilt beim Taschenrechner
In diesem Fall, poste mal die if-Abfrage, mit der du gegen eine Division durch 0 schützt. Die bereits geposteten Codes sollten diesen Fehler allerdings verhindern!
Greetz alcaeus |
Re: Brauch den code für das geteilt beim Taschenrechner
Welches der Beispiele vervendest Du denn jetzt? Zeige mal etwas mehr Code.
|
Re: Brauch den code für das geteilt beim Taschenrechner
if (SpinEdit2.Value <> 1) and (SpinEdit2.Value <> 0) then begin
SpinEdit3.Value := SpinEdit1.Value div SpinEdit2.Value |
Re: Brauch den code für das geteilt beim Taschenrechner
da muss ein OR dazwischen und kein AND
// kommando zurück |
Re: Brauch den code für das geteilt beim Taschenrechner
Nein, das AND passt. Er will ja nur dividieren, wenn der SpinEdit2.Value nicht 0 und nicht 1 ist (aus welchem Grund auch immer er 1 verbieten will :roll: )
Deshalb hat sich hier keiner gemeldet, ich denke mal der Fehler liegt woanders, denn der Code stimmt so. Greetz alcaeus |
Re: Brauch den code für das geteilt beim Taschenrechner
Vermutlich will er die 1 verbieten, damit keiner auf die Idee kommt, eine Zahl durch 1 zu teilen, und so den gleichen Wet zu erhalten.
|
Re: Brauch den code für das geteilt beim Taschenrechner
Hi,
der Code von Saimen kann so nicht gehen! Wie kann SpinEdit2 2 Werte haben? Schreibs mal so:
Delphi-Quellcode:
if ((SpinEdit2.Value <> 0) and (SpinEdit3.Value <> 0)) or ((SpinEdit2.Value <> 1) and (SpindEdit3.Value <> 1)) then
begin ... end; |
Re: Brauch den code für das geteilt beim Taschenrechner
Zitat:
Greetz alcaeus [add] Als Alternative:
Delphi-Quellcode:
[/add]
if not ((SpinEdit2.Value = 1) or (SpinEdit2.Value = 0)) then
Exit; SpinEdit3.Value := SpinEdit1.Value div SpinEdit2.Value |
Re: Brauch den code für das geteilt beim Taschenrechner
@alceus
ich versteh das so: //Falsch! Pfui. Deine Alternative geht nicht? Bei Exit wird ja die Procedure verlassen, demnach wird nicht weitergemacht. [edit] Upsi, ich hab immer mit = gedacht... [/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:35 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