Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem nach verwenden der inputbox (https://www.delphipraxis.net/112011-problem-nach-verwenden-der-inputbox.html)

kruemelmonster92 13. Apr 2008 11:24


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

mkinzler 13. Apr 2008 11:34

Re: Problem nach verwenden der inputbox
 
TryStrToFloat()

kruemelmonster92 13. Apr 2008 12:07

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

DeddyH 13. Apr 2008 12:14

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;

kruemelmonster92 13. Apr 2008 12:17

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

DeddyH 13. Apr 2008 12:19

Re: Problem nach verwenden der inputbox
 
Aber StrToFloat dürft Ihr verwenden? Oder zumindest Val()?

Die Muhkuh 13. Apr 2008 12:20

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;

kruemelmonster92 13. Apr 2008 12:44

Re: Problem nach verwenden der inputbox
 
@DeddyH ja das mit StrtoFloat hattn wa gleich am anfang

DeddyH 13. Apr 2008 12:49

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;

kruemelmonster92 13. Apr 2008 13:00

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:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz