Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   In Delphi ein Kapital mit einer ListBox berechnen (https://www.delphipraxis.net/140953-delphi-ein-kapital-mit-einer-listbox-berechnen.html)

Funnygirly 29. Sep 2009 16:44


In Delphi ein Kapital mit einer ListBox berechnen
 
Hallo,

ich komme mal wieder nicht weiter.

In einem programm soll der Zinssatz und das Kapital eingegeben werden.Das Kapital nach einem Jahr soll ausgegeben werden. Für die Ausgabe soll ich eine ListBox-Komponente verwenden, mit der man z.B mit der Anweisung ListBox1.Items.Add(FloatToStr(A)) Zeilen hinzufügen kann.

Bis jetzt sieht es bei mir so aus:

Delphi-Quellcode:
unit uKapital;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    EdtKapital: TEdit;
    EdtZinssatz: TEdit;
    LstBox: TListBox;
    BtnBerechnen: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    EdtErgebnis: TEdit;
    procedure BtnBerechnenClick(Sender: TObject);
    procedure LstBoxClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtnBerechnenClick(Sender: TObject);
var kapital,zinssatz:extended;
begin
  Kapital:=StrToFloat(edtkapital.text);
  Zinssatz:=StrToFloat(edtzinssatz.text);

  Zinssatz:= ((zinssatz/100)+1);

   LstBox.Items.Add(FloatToStr(edtKapital));



end;
Allerdings kommt bei dieser Zeile =>LstBox.Items.Add(FloatToStr(edtKapital));...imme r diese Fehlermeldung:[Fehler] uKapital.pas(42): Es gibt keine überladene Version von 'FloatToStr', die man mit diesen Argumenten aufrufen kann

Was ist denn falsch?

DeddyH 29. Sep 2009 16:49

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Du willst ja nicht das Edit selbst eintragen, sondern dessen Text ;)

soulies 29. Sep 2009 16:52

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Zitat:

Du willst ja nicht das Edit selbst eintragen, sondern dessen Text
glaub ich nicht

ich glaub eher die lokale variable 'kapital' soll hinzugefügt werden ^^

cya

Funnygirly 29. Sep 2009 17:04

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
ah...ok...und was soll ich da jetzt ändern?

Mithrandir 29. Sep 2009 17:08

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
"edt" vom Kapital wegnehmen.

DeddyH 29. Sep 2009 17:15

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Oder .Text dahinterschreiben und das FloatToStr weglassen (kommt ja auf' s Selbe raus).

Mithrandir 29. Sep 2009 17:16

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Zitat:

Zitat von DeddyH
(kommt ja auf' s Selbe raus).

Wer weiß, vielleicht kommt da ja noch ne Berechnung zwischen. :mrgreen:

Funnygirly 29. Sep 2009 17:18

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
dann kommt das hier: [Fehler] uKapital.pas(51): Deklaration erwartet, aber Dateiende gefunden

hm joa...iwie hab ich keinen plan, wie ich des zustande bringen soll :gruebel:

DeddyH 29. Sep 2009 17:19

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Wie sieht der Quälkot denn jetzt aus?

Funnygirly 29. Sep 2009 17:20

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
zurzeit siehts so aus...das edt habe ich jetzt weg gemacht

Delphi-Quellcode:
procedure TForm1.BtnBerechnenClick(Sender: TObject);
var kapital,zinssatz:extended;
begin
  Kapital:=StrToFloat(edtkapital.text);
  Zinssatz:=StrToFloat(edtzinssatz.text);

  Zinssatz:= ((zinssatz/100)+1);

   LstBox.Items.Add(FloatToStr(Kapital));



end;

Mithrandir 29. Sep 2009 17:21

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Autsch... Am Ende der *.pas-Datei sollte sich ein "end." befinden. Wie fit bist du in Delphi?

Funnygirly 29. Sep 2009 17:22

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
ich habe erst angefangen^^

DeddyH 29. Sep 2009 17:24

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Wenn sie nicht allzu groß ist, poste mal die ganze Unit.

Mithrandir 29. Sep 2009 17:27

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
@Funnygirl:

Vermutlich im Unterricht, hm? Najut, dann, neben den Fragen die du hier stellen kannst, solltest du dir auch nochmal dieses Tut zu Gemüte führen:

Mein erstes Delphi-Programm

Hast du denn schon ne Ahnung, wie du die Aufgaben lösen kannst? Unabhängig vom Quellcode, aber rein logisch betrachtet. Wie man das berechnet. ;)

DeddyH 29. Sep 2009 17:28

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Nu warte doch erstmal ab, Du pöhser Purche Du :mrgreen:

Funnygirly 29. Sep 2009 17:29

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Delphi-Quellcode:
unit uKapital;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    EdtKapital: TEdit;
    EdtZinssatz: TEdit;
    LstBox: TListBox;
    BtnBerechnen: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure BtnBerechnenClick(Sender: TObject);
    procedure LstBoxClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtnBerechnenClick(Sender: TObject);
var kapital,zinssatz:extended;
begin
  Kapital:=StrToFloat(edtkapital.text);
  Zinssatz:=StrToFloat(edtzinssatz.text);

  Zinssatz:= ((zinssatz/100)+1);

   LstBox.Items.Add(FloatToStr(Kapital));



end;
joa im unterricht, naja wir haben schon mehr projekte gemacht und die listbox is jetzt neu dazu gekommen...langsam versteh ich einiges...aba manches kapier ich einfach net^^

DeddyH 29. Sep 2009 17:31

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
OK, Daniel hat Recht, da fehlt ein "end." (mit Punkt) am Dateiende.

[edit] Außerdem die Implementation von LstBoxClick [/edit]

Mithrandir 29. Sep 2009 17:32

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Zitat:

Zitat von DeddyH
Nu warte doch erstmal ab, Du pöhser Purche Du :mrgreen:

:P :mrgreen:

Funnygirly 29. Sep 2009 17:34

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
:-D ...ok wo soll denn dieses "end." hin?^^

DeddyH 29. Sep 2009 17:34

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Nach ganz unten (und ohne Anführungszeichen).

Funnygirly 29. Sep 2009 17:38

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
ja cool...ok...naja also der fehler is weg und der nächste gleich wieder da...des ding is iwie blöd... :( jetzt hat der ein problem mit dieser zeile: procedure LstBoxClick(Sender: TObject);
[Fehler] uKapital.pas(19): Ungenügende Forward- oder External-Deklaration: 'TForm1.LstBoxClick'

DeddyH 29. Sep 2009 17:39

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Das hatte ich weiter oben noch hineineditiert, aber war wohl zu spät. Lösch die Zeile
Zitat:

Delphi-Quellcode:
procedure LstBoxClick(Sender: TObject);

einfach raus.

Funnygirly 29. Sep 2009 17:42

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
ah, ok jetzt zeigt er keinen fehler mehr an und ich konnte es starten...
ich habe jetzt mal 5000 bei kapital und 5 bei zinssatz eingeben und rausbekommen habe ich dann aber immer 5000 bei jedem klick.... :gruebel: ...es soll mir ja aba berechnen, wies nach nem jahr aussieht

Mithrandir 29. Sep 2009 17:43

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Zitat:

Zitat von Daniel G
@Funnygirl:

Vermutlich im Unterricht, hm? Najut, dann, neben den Fragen die du hier stellen kannst, solltest du dir auch nochmal dieses Tut zu Gemüte führen:

Mein erstes Delphi-Programm

Hast du denn schon ne Ahnung, wie du die Aufgaben lösen kannst? Unabhängig vom Quellcode, aber rein logisch betrachtet. Wie man das berechnet. ;)


DeddyH 29. Sep 2009 17:44

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Nunja, klar, Du änderst "Kapital" ja auch nirgends. Da muss jetzt noch eine Berechnung rein (in einer Schleife).

taaktaak 29. Sep 2009 17:45

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Tja, in der gegenwärtigen Wirtschaftskrise müssen die Banken halt unterstützt werden! :zwinker:

Funnygirly 29. Sep 2009 17:48

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
aha ok noch eine berechnung...soll ich das drin lassen oda soll ich das raus machen ... Zinssatz:= ((zinssatz/100)+1); und stattdessen was anderes hin oda is des so schon halb richtig?

Also muss ich dann so schreiben : Kapital:=...und dann halt wie man des rechnet ? (weil ich doch das kapital ändern will)

Funnygirly 29. Sep 2009 17:52

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
ok also hab ich des jetzt noch eingefügt:

Delphi-Quellcode:
begin
  Kapital:=StrToFloat(edtkapital.text);
  Zinssatz:=StrToFloat(edtzinssatz.text);


  Zinssatz := Kapital*Zinssatz/100;
        Kapital := Zinssatz + Kapital;


  LstBox.Items.Add(FloatToStr(Kapital));



end;
end.
jetzt rechnet der mir das nach einem jahr aus, aber wie kann ich das jetzt noch machen, dass der mir des immer weiter rechnet...also dass er mir dann anzeigt, wenn ich das zweite mal draufklick, was ich dann nach zwei jahren habe...geht das auch noch?

DeddyH 29. Sep 2009 17:53

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
In dem Fall darf die Variable nicht lokal sein, da sie nur innerhalb der Methode gültig ist.

Funnygirly 29. Sep 2009 17:55

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
wie sie darf nicht lokal sein?

taaktaak 29. Sep 2009 17:55

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Eine Schleife wäre in diesem Fall wohl angebracht.
Der Anfangswert für das Folgejahr ist das Ergebnis des Vorjahres...

Funnygirly 29. Sep 2009 17:56

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
ah ok und wie sollte ich das jetzt am besten machen? :gruebel:

DeddyH 29. Sep 2009 17:57

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
An eine Schleife hatte ich auch erst gedacht, aber es soll ja erst auf Benutzereingabe weitergerechnet werden.

Funnygirly 29. Sep 2009 18:00

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
ok..egal ich lass des jetzt so..morgen werd ich nochma drüber nachdenken....hauptsache des ding rechnet mir überhaupt was aus :-D
danke das ihr mir so viel geholfen habt :-D

DeddyH 29. Sep 2009 18:03

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Kein Problem, den Rest kriegen wir auch noch zusammen hin ;)

Funnygirly 29. Sep 2009 18:06

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
vielen dank :zwinker:

taaktaak 29. Sep 2009 18:07

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
Zitat:

aber es soll ja erst auf Benutzereingabe weitergerechnet werden
Aua, ja, "richtig" lesen hilft oft, unsinnige Aussagen zu vermeiden.
Sorry
:pale:

kamel08 29. Sep 2009 19:29

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
EdtKapital: TEdit;
EdtZinssatz: TEdit;
EdtErgebnis: TEdit;
LstBox: TListBox;
BtnBerechnen: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
procedure BtnBerechnenClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BtnBerechnenClick(Sender: TObject);
var startkapital,zinssatz:extended; // kapital umdefiniert in 'startkapital'
kapital:extended; // für das Ergebnis
begin
startkapital := StrToFloat(edtkapital.text);

Zinssatz := StrToFloat(edtzinssatz.text);
Zinssatz := (zinssatz/100);

kapital := startkapital + (startkapital * Zinssatz);

edtergebnis.Text := FloatToStr(kapital);

LstBox.Items.Add(FloatToStr(kapital));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
edtkapital.text := '';
edtzinssatz.text := '';
edtergebnis.Text := '';
end;

end.

kamel08 29. Sep 2009 19:42

Re: In Delphi ein Kapital mit einer ListBox berechnen
 
und dann die Folgejahre:

procedure TForm1.BtnBerechnenClick(Sender: TObject);
var startkapital,zinssatz:extended; // kapital umdefiniert in 'startkapital'
kapital:extended; // für das Ergebnis
begin
startkapital := StrToFloat(edtkapital.text);

Zinssatz := StrToFloat(edtzinssatz.text);
Zinssatz := (zinssatz/100);

kapital := startkapital + (startkapital * Zinssatz);

edtergebnis.Text := FloatToStr(kapital);

LstBox.Items.Add(FloatToStr(kapital));

edtkapital.text := FloatToStr(kapital);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
edtkapital.text := '';
edtzinssatz.text := '';
edtergebnis.Text := '';
LstBox.Clear;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.

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