![]() |
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
|
Re: Problem nach verwenden der inputbox
Erstell mal ein neues Projekt, pack da eine ListBox und einen Button auf die Form und schau mal, ob dieser Code funktioniert (im OnClick des Buttons):
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; begin for i := 1 to 12 do ListBox1.Items.Add(InputBox(inttostr(i) + '.Aufruf','Eingabe','')); end; |
Re: Problem nach verwenden der inputbox
ja ne listbox hattn wa auch noch nich, naja un wir müssn die inputbox verwendn
|
Re: Problem nach verwenden der inputbox
Das hatte ja mit der Aufgabe nichts zu tun, ich wollte nur ermitteln, ob sich Dein Delphi evtl. anders verhält als meins. Deshalb solltest Du ja auch ein neues Projekt erstellen.
|
Re: Problem nach verwenden der inputbox
ah ok das muss dummen leuten ja gesagt werden^^ na egal, ja ne da gibts keine probleme weiter
|
Re: Problem nach verwenden der inputbox
Komisch. Wie rufst Du die Prozedur BerechnZins3 denn auf?
|
Re: Problem nach verwenden der inputbox
Ich frage mich gerade, wo das Problem ist, eine Komponente zu nutzen, die man noch nicht hatte? Delphi stellt diese Komponenten bereit und wenn man sie geschickt einsetzt, sollte das doch kein Problem darstellen. Ist ja "Dein Problem", wenn Du Dir mehr arbeit machst und erst noch schauen musst, wie die Komponente funktioniert.
|
Re: Problem nach verwenden der inputbox
procedure TForm1.Button1Click(Sender: TObject);
var Guthaben, Zinssatz, Zinsen, neues_Guthaben: real; {globale Variablen} 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); neues_Guthaben:= Guthaben + neuer_Betrag; Zinsen:= Zinsen + neues_Guthaben*Zinssatz/100; end; neues_Guthaben:= Guthaben + Zinsen; end; procedure AusgabeZinsen; begin Label5.Caption:='neues Guthaben: ' + FloattoStr(neues_Guthaben) + ' €'; Label8.Caption:='Zinsen: ' + FloattoStr(Zinsen) + ' €'; end; begin Guthaben:= StrtoFloat(Edit1.Text); Zinssatz:= StrtoFloat(Edit2.Text); BerechnZins3; AusgabeZinsen; end; end. ich hab hier mal das ganze...naja keine ahnung so hatn was halt gelernt |
Re: Problem nach verwenden der inputbox
@ Die Muhkuh...ka frag meinen lehrer, als wir html hattn hat ich deshalb ne 6 gekriegt weil ic das dann angeblich nich inner schule gemacht hatte un deshalb bin ich da seit dem sehr vorsichtig
|
Re: Problem nach verwenden der inputbox
Delphi-Quellcode:
[edit] Benutze bitte künftig die Delphi-Tags, in einem formatierten Quelltext hätte man das ganz schnell gesehen. [/edit]
FOR M := 1 to 12 do ; //dieses Semikolon muss weg, da Leeranweisung
|
Re: Problem nach verwenden der inputbox
ok vielen, vielen dank jetz funktionierts
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:23 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