Autor Beitrag
Crash09
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 14.06.09 11:45 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 155
Erhaltene Danke: 6

Win XP
Delphi 7.0 Personal
BeitragVerfasst: So 14.06.09 11:49 
ausblenden 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

ausblenden 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:
ausblenden Delphi-Quelltext
1:
i := i * 1.3;					
Crash09 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: So 14.06.09 12:03 
ich bin bis jetzt so weit :

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



ausblenden 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: 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

ausblenden 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.

_________________
Popov
Georg08
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 155
Erhaltene Danke: 6

Win XP
Delphi 7.0 Personal
BeitragVerfasst: 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 :

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



ausblenden 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
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1655
Erhaltene Danke: 13

WinXP Prof.
Bei Kleinigkeiten D3Pro, bei größeren Sachen D6Pro oder D7
BeitragVerfasst: 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.

_________________
Popov