Entwickler-Ecke

Sonstiges (Delphi) - Anfänger braucht hilfe mit edit feld


Crash09 - So 14.06.09 11:45
Titel: Anfänger braucht hilfe mit edit feld
Hallo,

ich habe da mal ein problem ;).
ich versuche gerade delphi zu lernen und habe schon ein problem und zwar möchte ich gerne wenn ich zwei zahlen in zwei edit felder eingebe diese beide addieren und dann das ergebins mal z.b 1,3 mal nehmen.


ich hoffe ihr könnt mir helfen

mfg
Crash09


Georg08 - So 14.06.09 11:49


Delphi-Quelltext
1:
2:
3:
4:
5:
var
  i : integer; //i ist eine integervariable, also KEIN komma
begin
i := StrToInt(Edit1.Text) + StrToInt(Edit2.Text); //die werte einlesen und adieren
i := i * 1//und mal 1 nehmen, also steht in i dein ergebnis


Edit: Kommazahlen


Delphi-Quelltext
1:
2:
3:
4:
5:
var
  i : double; //i ist eine integervariable, also KEIN komma
begin
i := StrToFloat(Edit1.Text) + StrToFloat(Edit2.Text); //die werte einlesen und adieren
i := i * 1//und mal 1 nehmen, also steht in i dein ergebnis


Wenn ich das falsch verstanden habe und das "," nicht zum trennen von zahlen ist, sonder eine kommazahl nur eine zeile ändern:

Delphi-Quelltext
1:
i := i * 1.3;                    


Crash09 - So 14.06.09 12:03

ich bin bis jetzt so weit :


Delphi-Quelltext
1:
var Form1: TForm1; zahl1, zahl2, summe : double;                    




Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
begin
  zahl1 := StrToInt(edit1.text);
  zahl2 := StrToInt(edit2.text);
  summe := zahl1+zahl2;
  label1.caption := IntToStr(summe);
end;


und das ergebins was ich daraus habe möchte ich mit 1.3 (1,3) mal nehmen


Popov - So 14.06.09 12:03

Du solltest beachten, daß das Komma intern immer der Punkt ist, also 10 * 3,14 wird als Code so geschrieben


Delphi-Quelltext
1:
x := 10 * 3.14;                    


Komma im Code immer als Punkt. Aber...

im Editfeld benutzt du in Deutschland das normale Komma, also [3,14], in der Schweiz benutzt du den Punkt [3.14].

Edit:

Du arbeitest in deinem Beispiel mit Integern, willst aber eine Realzahl als Ergebnis. In diesem Fall solltest du dir das zweite Beispiel von Georg08 ansehen. Bei einer Multiplikation ist das noch nicht so wild, denn Integer werden bei Multiplikation automatisch und ohne Probleme in Realzahlen konvertiert, wenn die Ergebnisvariable eine Realzahl ist. Trotzdem solltest du lieber gleich mit Realzahlen arbeiten, denn bei Divisionen geht das nicht mehr so einfach.


Georg08 - So 14.06.09 12:21

dürfte eigentlich nicht funktionieren, da StrToInt nicht für double funktioniert, also StrToFloat

user profile iconCrash09 hat folgendes geschrieben Zum zitierten Posting springen:
ich bin bis jetzt so weit :


Delphi-Quelltext
1:
var Form1: TForm1; zahl1, zahl2, summe : double;                    




Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
begin
  zahl1 := StrToInt(edit1.text);
  zahl2 := StrToInt(edit2.text);
  summe := zahl1+zahl2;
  label1.caption := IntToStr(summe);
end;


und das ergebins was ich daraus habe möchte ich mit 1.3 (1,3) mal nehmen


Popov - So 14.06.09 12:34

user profile iconGeorg08 hat folgendes geschrieben Zum zitierten Posting springen:
dürfte eigentlich nicht funktionieren, da StrToInt nicht für double funktioniert, also StrToFloat


Ja, aber solange er in die Editfelder nur Integer eingibt, kann er die durchaus in einer Realzahlberechnung nutzen. Will er in die Editfelder auch Realzahlen eingeben, muß er StrToFloat nehmen usw.