Autor Beitrag
Rage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: So 27.02.05 02:11 
hi leuts, ich war gerade dabei ein einfaches rechenprogramm zu schreiben, aber zwei sachen laufen jet

1: ich habe 4 buttons angelegt mit den vier grundrechenzeichen, wenn man auf diese klickt werden aber nur ihre entsprechenden rechenzeichen (+ - * /) zwischen die 2 zahlen eingefügt (soll auch so sein)
so dann habe ich ein button angelegt der folgendes machen soll, der button überprüft zuerst welches rechenzeichen zwischen den 2 zahlen steht (also welches vom user ausgewält wurde und rechnet dan dementsprechen das ergebnis aus.
also so.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
IF Labe1.Caption := '+';
then 
begin
zahl1 := StrToInt(edit1.text);
zahl2 := StrToInt (edit2.text);
ergebnis := zahl1 + zahl2;
Label2.Caption := IntToStr(ergebnis);
end;

IF Labe1.Caption := '-';
then 
begin
zahl1 := StrToInt(edit1.text);
zahl2 := StrToInt (edit2.text);
ergebnis := zahl1 - zahl2;
Label2.Caption := IntToStr(ergebnis);
end;



so Label1 is das feld zwischen den zwei zahlen un label2 das feld wo das ergebnis drin stehn soll, jet kommt beim starten aber da "then" ein fehler und er sagt mir das boolean erwartet wird....was heisst den das? was muss ich da machen? ich weiss nur das boolean ja oder nein prüft....

2: die rechenoperation "/" funktioniert garnicht....ich konnte herausfinden das man da die variable real benutzen muss und StrToFloat statt StrToInt aber da kommen nur dumme ergebnise raus

Bitte um Hilfe
MFG Rage

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt.
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: So 27.02.05 02:17 
Hallo,

so gehts:
  1. ausblenden Delphi-Quelltext
    1:
    if Label1.Caption = '+' then {tu was};  //(= Vergleich); (:= Zuweisung)					
  2. Beispiel:
    ausblenden Delphi-Quelltext
    1:
    2:
    3:
    4:
    5:
    6:
    7:
    8:
    var
      E: Extended; //Kommazahl mit geringen Rundungsfehlern;
    begin
      E := StrToFloat(Edit1.Text) / StrToFloat(Edit2.Text);
      Label2.Caption := FloatToStr(E);
      //oder auf 2 Deizmalen gerunden
      //Label2.CAption := format('%.2f', [E]);
    end;
Für ganzzahle Division ohne Rest, kannst du auch div benutzen.

Gruß Hape!

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
sourcehunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 482

Win XP | Suse 10.1
Delphi 2005 Pers.
BeitragVerfasst: So 27.02.05 12:29 
Du musst das Semikolon am Ende der If-Zeile wegnehmen und das Then auf die gleiche Zeile schreiben, dann dürfte es funktionieren. Aber aufpassen, dass du nach dem Then kein Semikolon setzt.

_________________
Linux und OpenSource rulez!
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 27.02.05 13:05 
Bevor du anfängst drauflos zu programmieren, solltest du dich mit dem Delphi Syntax auseinandersetzen.. Oder ist das ein Flüchtigkeitsfehler?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
if a = b then
begin
 //...
end;

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
if a = b then
begin
 // ...
end else
begin
 // ...
end;
Nicolas G.
Hält's aus hier
Beiträge: 7



BeitragVerfasst: So 27.02.05 13:05 
also ich würde so ein programm nicht mit buttons sondern mit einer Radio-group schreiben.
Ist viel einfacher uns übersichtlicher. Dann kann man die einzelnen rechenarten in der Radiogroup definieren, dann z.B
if radiogroup1.itemindex =0 then a+b;
if radiogroup1.itemindex =1 then a-b;

Ich würde sagen das es so gehen müsse.


Zuletzt bearbeitet von Nicolas G. am So 27.02.05 13:29, insgesamt 1-mal bearbeitet
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: So 27.02.05 13:07 
Das ist schon der dritte oder vierte Thread zum Thema "Taschenrechner" innert einer Woche oder so ;)