![]() |
Problem nach verwenden der inputbox
Auch wenn ich delphi ganz interessant finde bin ich noch keiner der damit unbedingt arbeitet, wir behandeln dies nur grade in der schule, naja un da hab ich ein problem un zwar ham wa jez mit der inputbox angefangen und die ham wa dann halt inne zählschleife mit reingesetzt naja das is soweit noch nich schlimm...nur da ja die inputbox einen stringwert erzeugt beschwert sich jez das programm danach das dieser stringwert nich mit real zusammenarbeiten kann...naja und ich hab jez keine ahnung wie man vielleicht den stringwert wieder in real umwandeln kann oder was man da halt machen muss
danke für die hilfe |
Re: Problem nach verwenden der inputbox
TryStrToFloat()
|
Re: Problem nach verwenden der inputbox
keine ahnung funktioniert immer noch nich
hab hier mal den Ausschnitt aus dem Quelltext wo imprinzip das Problem is procedure BerechnZins3; var M : integer; Nr, monatlicher_Betrag : String; begin Zinsen:= 0; FOR M := 1 to 12 do ; begin Nr:= InttoStr(M); monatlicher_Betrag:= Inputbox ('Eingabe monatlicher Betrag', Nr+'.monatlicher_Betrag',''); (monatlicher_Betrag:= TryStrToFloat(monatlicher_Betrag);) neues_Guthaben:= Guthaben + monatlicher_Betrag; Zinsen:= Zinsen + neues_Guthaben*Zinssatz/1200; end; Die Zeiele die jez in klammern steht da weiß ich nich wie ich was machen soll |
Re: Problem nach verwenden der inputbox
Delphi-Quellcode:
procedure BerechnZins3;
var M : integer; Nr, monatlicher_Betrag : String; neuer_Betrag: double; //Du brauchst auch eine Variable für die Fließkommazahl begin Zinsen:= 0; FOR M := 1 to 12 do begin Nr:= InttoStr(M); monatlicher_Betrag:= Inputbox ('Eingabe monatlicher Betrag', Nr+'.monatlicher_Betrag',''); if not TryStrToFloat(monatlicher_Betrag,neuer_Betrag) then ShowMessage('Ungültige Eingabe') else begin neues_Guthaben:= Guthaben + neuer_Betrag; Zinsen:= Zinsen + neues_Guthaben*Zinssatz/1200; end; end; end; |
Re: Problem nach verwenden der inputbox
ja danke...naja es is nur so das wir das mit double und if noch nich haben, un da kann ichs auch nich verwenden sonst gibts probleme mit meim lehrer
|
Re: Problem nach verwenden der inputbox
Aber StrToFloat dürft Ihr verwenden? Oder zumindest Val()?
|
Re: Problem nach verwenden der inputbox
Delphi-Quellcode:
procedure BerechnZins3;
var M : integer; Nr, monatlicher_Betrag : String; neuer_Betrag: Integer; //Du brauchst auch eine Variable für die Ganzzahl :P begin Zinsen:= 0; FOR M := 1 to 12 do begin Nr:= InttoStr(M); monatlicher_Betrag:= Inputbox ('Eingabe monatlicher Betrag', Nr+'.monatlicher_Betrag',''); neuer_Betrag := StrToIntDef(monatlicher_Betrag, 0); neues_Guthaben:= Guthaben + neuer_Betrag; Zinsen:= Zinsen + neues_Guthaben*Zinssatz/1200; end; end; |
Re: Problem nach verwenden der inputbox
@DeddyH ja das mit StrtoFloat hattn wa gleich am anfang
|
Re: Problem nach verwenden der inputbox
Dann nimm entweder den Code von Manuel, oder, wenn auch Fließkommazahlen zur Eingabe erlaubt sind, eine leicht abgewandelte Form:
Delphi-Quellcode:
procedure BerechnZins3;
var M : integer; Nr, monatlicher_Betrag : String; neuer_Betrag: real; begin Zinsen:= 0; FOR M := 1 to 12 do begin Nr:= InttoStr(M); monatlicher_Betrag:= Inputbox ('Eingabe monatlicher Betrag', Nr+'.monatlicher_Betrag',''); neuer_Betrag := StrToFloatDef(monatlicher_Betrag, 0); //bei einem ungültigen String ist das Ergebnis 0 neues_Guthaben:= Guthaben + neuer_Betrag; Zinsen:= Zinsen + neues_Guthaben*Zinssatz/1200; end; end; |
Re: Problem nach verwenden der inputbox
ja ok das müsste in ordnung sein danke nochmals was mich jez nur noch iritiert ist das er mich nur nach dem 13. monatlichen Betrag fragt, aber reintheoretisch müsste es so sein das er mich nach dem 1. bis 12. fragen müsste...ka wo da jez noch was falsch ist
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:32 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