WinFuture-Forum.de: Geht Das? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Geht Das? Delphi


#1 Mitglied ist offline   death_hias 

  • Gruppe: Mitglieder
  • Beiträge: 10
  • Beigetreten: 13. August 04
  • Reputation: 0

geschrieben 10. Februar 2005 - 21:43

Hi leute!

Funtioniert das wenn ich einen rechener mit delphi programiere das ich mit 1 und einem zweiten + und einem enterbutton minus und plus ausrechnen kann ohne das er mir beim minus rechnen immer ein minus vor dem ergebnis herschreibt?

klingt vieleicht blöd aber vieleicht kennt sich jemand aus!

beispiel:

var zahl1:integer;
procedure TForm1.Button13Click(Sender: TObject);
begin
zahl1 := strtoint(edit1.text);
edit1.Text := ''
end;

procedure TForm1.Button16Click(Sender: TObject);
var zahl2,summe,ergebnis:integer;
begin
zahl2:=StrToInt(edit1.text);
summe := (zahl1 + zahl2) ;
ergebnis := summe;
edit1.Text := inttostr(ergebnis);

end;

procedure TForm1.Button15Click(Sender: TObject);
var zahl2,summe,ergebnis:integer;
begin
zahl2:=StrToInt(edit1.text);
summe := (zahl1 - zahl2) ;
ergebnis := summe;
edit1.Text := inttostr(ergebnis);

zahl1 := strtoint(edit1.text);
edit1.Text := ''

end;


mfg hias :D
0

Anzeige



#2 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.446
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 10. Februar 2005 - 22:44

Kannst du bitte dein problem nochmal schildern, ich glaube das habe ich nicht richtig verstanden, am besten mit einem Rechenbeispiel.

So wie der Code da steht geht er garantiert nicht da du keine globalen Variablen hast, entweder du tust das oder du nutzt Funktionen die diese übergeben, als Beispiel:

du hast Zahl1 in Button13 definiert und willst aber in Button16 darauf zugreifen, das geht nicht.

Weiterhin versteh ich nicht warum du das edit löscht und nachher als zahl2 wieder ausliest, oder gibst du da wieder was ein.

Mach es doch so:

function add(wert):boolean;
var i,j:=integer;
begin
 for i:=0 to lenght(wert) do feld[i]:=wert[i];
 zahl1:='';
 zahl2:='';
 i:=0; 
 while (Feld[i]<>'+')  and (Feld[i]<>'-') and (Feld[i]<>'*') and (Feld[i]<>'/') and   
 i<200 do
 zahl1:=zahl1+Feld[i];
 j:=i; 
 while (Feld[j]<>'+')  and (Feld[j]<>'-') and (Feld[j]<>'*') and (Feld[j]<>'/') and 
 j<200 do
 zahl2:=zahl2+Feld[i];
 if (zahl1<>'') and (zahl2<>'') and (ji<200) then result:=true else result:=false;
end;


damit zerlegst du dein edit feld in 2 zahlen, kannst auch mehr machen, ist ja einfach zu ändern.

nun brauchst nur noch zu fragen ob zwischen den zahlen ein +,-,*,/ war und rechnest entsprechend.

Dieser Beitrag wurde von tavoc bearbeitet: 10. Februar 2005 - 22:45

your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0