Autor Beitrag
24karatboy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 10:03 
Guten Morgen!

ich habe nen taschenrechner programmiert mit einem edit und vielen buttons +,-,= etc.

jetzt möchte ich z.B wenn man im ersten edit 15 eingegeben hat das er das in nen hilfserg speichert und wenn ich dann auf + drücke und eine nächste zahl eingebe und dann auf gleich drücke das der dann macht

ausblenden Delphi-Quelltext
1:
edit2.Text:=hilfserg+' + '+edit1.text;					


wenn ich dann aber weiter rechne sagen wir mal ich hab vorher 55+12 gemacht dann steht in edit2 55 + 12 und in edit1 67 nach dem ich auf gleich gedrückt habe drücke ich jetzt wieder auf plus wird 67 in hilferg gespeichert und wenn ich dann 20 eingebe und auf = drücke steht in edit2 67 + 20 was ich aber eigentlich wollte:

es soll einstatt erstmal 55 + 12 und dann 67 + 20 soll da drinne stehen 55 + 12 + 20

jemand in irgendeiner weisse nen paar denkanstösse ?

ps.: konnte heute nicht schlafen weil mir dieses problem denn kopf zerstört hat ;)
LowSkills
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Di 26.06.07 10:16 
[edit]
Ich hornochse, dass steht ja schon so da... :mrgreen:
[/edit]

Lass dir doch nen string übergeben. So als zusatz.
da steht dann halt der "Rechenweg" drin..

ausblenden Delphi-Quelltext
1:
2:
3:
4:
var Rechenweg : string;
begin
Rechenweg:= Rechenweg+' + '+IntToStr(Edit1.Text);
end;


So kannste denk ich mal den Rechenweg anzeigen lassen, falls das das ist was du willst.

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
FiceGoesDelphi
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 485

Win XP Prof
Delphi 2006
BeitragVerfasst: Di 26.06.07 10:19 
Du sagst ihm er soll bei drücken auf Plus den Inhalt von Edit1 ins Hilfserg reinspeichern.
Du gibst das Ergebnis aber auch in Edit1 wieder.
Das kann dann nicht funktionieren!
Gib das Ergebniss doch in einem anderen Edit wieder. Vllt hilft dir das!
Sry habe hier gerade viel zu tun und kann mich daher nicht tiefergehend mit deinem problem auseinander setzen!

_________________
<(^^<) <(^^)> (>^^)>
===================
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Di 26.06.07 10:20 
Moin!

Schau mal hier, da ist der Taschenrechner mal ganz anders aufgezogen; vielleicht ist das ja was für dich. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
LowSkills
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Di 26.06.07 10:32 
neuer anlauf... :mrgreen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
var Rechenweg : string;
    Ergebnis, Eingabe: integer;
begin
    //erstes Mal BT drücken
    if not Edit1.Text = '' then
      begin
        Zahl:=StrToInt(Edit1.Text);
        Rechenweg:=IntToStr(Zahl);
        Edit1.clear;
      end
    else
      showmessage('Sie sollten vielleicht erst eine Zahl eingeben, bevor Sie rechnen wollen...');


    if not Edit1.Text = '' then
      begin
       //du gibts die zu addierende Zahl ein, drückst BT zum zweiten mal...
         Eingabe:=StrToInt(Edit1.Text);
         Zahl:=Zahl+StrToInt(Edit1.Text);
         Edit1.Text:=StrToInt(Zahl);
         //gibt in edit1. das ergebnis aus (eine Zahl)
         Rechenweg:=Rechenweg+' + '+inttostr(Eingabe);
         Edit2.Text:=Rechenweg;
         //in Edit2. steht der Rechenweg
      end
    else
      ShowMessage('Bitte geben Sie eine Zahl ein');
end;


trägst du jetzt 1 in ed1 ein, wird Zahl1, ed1 wird geleert, zweite eingabe wird erwartet.
gibts du dann in ed1 5 ein, ist zahl = 6 und wird in ed1 so ausgegeben. In ed2 steht dann der Rechenweg, nähmlich "1 + 5"

Müsste so funktionieren.

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
24karatboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 10:35 
ähm sorry aber bis jetzt haben mir die antworten noch nicht wirklich geholfen ich habs auch mal probiert in dem ich direkt die zahl beim + übergeben habe aber war auch nicht so wie ich mir das vorgestellt habe.

plus drücken:

edit2.text:=edit2.text+' + '+edit1.text

aber ich meine das hat nicht das richtige ergebnis erzielt

und noch ein edit möchte ich eher weniger weil dann wird alles ziemlich unübersichtlich

mfg
24karatboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 10:39 
ich stelle euch mal meinen quellcode und die exe hier rein ich bitte um feedback
Einloggen, um Attachments anzusehen!
LowSkills
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Di 26.06.07 10:47 
Gibts da auch ein Handbuch zu?

Edit1 ist oben, nehm ich mal an. Da trage ich "1" ein, drücke Plus, Meldung: Sie müssen schon was eingeben"...
Edit2 ist readOnly?

Ich hab es also noch nicht mal bis 1 + 1 gebracht... :?:

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
24karatboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 10:49 
das obere edit ist edit2 und es ist nicht zur eingabe gedacht nur das edit1 und da ist atm nur ne eingabe über die buttons möglich
LowSkills
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Di 26.06.07 10:57 
achso *schäm* ;)

OK, das bringt schonmal klarheit.

Kannste hier nur mal den Auszug posten, der für Edit 2 zuständig ist? (+ varibalen)
Hab hier nähmlich weder rar noch delphi...

Dann kann ich dir u. U. helfen.

mfG

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
24karatboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 11:03 
ich weiss nicht ob ich das richtig verstanden habe aber ich poste dir mal alles was mit edit2 zutun hat ;) aber nur pseudocode bzw. schon delphi code aber einfach an einander gereiht ohne ordnung

ausblenden Delphi-Quelltext
1:
2:
3:
hilfserg:=edit1.Text; // passiert wenn man auf plus drückt weiter bin ich noch nicht

edit2.Text:=edit2.text+hilfserg+' + '+edit1.text; // passiert wenn man auf gleich drückt


mfg
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Di 26.06.07 11:04 
Den Wert aus dem Edit nicht in einmen string abspeichern, sondern in eine Zahl, z.B. Real
ausblenden Delphi-Quelltext
1:
hilfzahl=strtofloat(edit.text)					


Beim rechen so vorgehen:

ausblenden Delphi-Quelltext
1:
2:
3:
hilfzahl2:=strtofloat(edit.text);
erg:=hilfzahl+hilfzahl2;
ausgabedit.text:=floattostr(erg);
24karatboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 11:07 
tilo danke das du dich bemüht hast mir zu helfen aber die rechnungen funzen wunderbar geh mal nach oben und les bitte einmal evtl. weisste dann besser wo das problem liegt. danke


mfg
LowSkills
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Di 26.06.07 11:21 
ausblenden Delphi-Quelltext
1:
2:
//lass an dieser Stelle mal '+hilfserg+' raus
edit2.Text:=edit2.text+hilfserg+' + '+edit1.text;

also so:
ausblenden Delphi-Quelltext
1:
edit2.Text:=edit2.text' + '+edit1.text;					


Das hilfserg. Hat ja mit dem Rechenweg (den du ja wohl sehen willst) nichts zu tun.

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
24karatboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 11:26 
im hilfserg wird ja die zuerst eingegebene zahl gespeichert und in edit1.text steht ja die 2. zahl wenn man auf = drückt.

und ich will halt in edit2.text sehen was ich gerechnet habe und wenn ich das hilfserg weg lasse dann fehlt mir ja die erste zahl
LowSkills
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Di 26.06.07 11:58 
OK, nochmal ein schuss ins blaue:

Ich gebe 2 ein, drücke +, geb nochmal 2 ein, in ed1 steht das ergebnis, =4, das zugleich als hilfserg übergeben wird. In ed2 steht 2 + 2. Bis dahin ist ja alles soweit gut.

Dann drücke ich nochmal + und gebe 5 ein, das ergebnis wird richtigerweise als 9 ermittelt. in ed2 steht jetzt 2 + 24 + 5.

Das heist das das hilfsergebnis überflüssigerweise in deinem Rechenweg erscheint, oder nicht?

Wenn ich 2 + 2 rechne, ist hilfserg = 4, ed1=4, ed2 = 2 + 2.
Dann rechne ich + 5, im ed2 soll aber nicht das ergebnis, sondern der rechenweg stehen.

So wie ich das sehe, MUSST du das hilfserg. rausnehmen. Nur so kommst du zu ed2 = 2 + 2 + 5...

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.
24karatboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 12:09 
schon ein bisschen näher aber noch nicht ganz

noch einmal das prinzip so wie du das gesagt hast habs gerade mal probiert steht wenn ich 2+5 rechne +5 im ed2 es soll ja 2 + 5 dort stehen

wenn ich ne zahl eingebe und auf + drücke dann wird das was in edit1 steht als string an hilfserg weitergegeben und dann gebe ich ne 2. zahl ein und drücke auf gleich und dann soll der die 2. zahl anhängen und vorher gucken welche operation gewählt wurde das heisst wenn vorher + gedrückt wurde sollte jetzt

hilferg:=2; edit1.text:=5

edit2.text:=hilferg+' + '+edit1.text;

edit2.text:='2'+' + '+'5';

evtl. ist es dir jetzt deutlicher geworden

mfg
ZeitGeist87
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1593
Erhaltene Danke: 20

Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
BeitragVerfasst: Di 26.06.07 12:20 
Was ist denn so kompliziert??

ausblenden Delphi-Quelltext
1:
2:
 //Bei jeder gedrückten Taste fügst du den Wert in edit2 ein
 edit2.text:= edit2.text + {Wert gedrückte Taste (0..9,+,-,*,/)}


LG
Stefan

_________________
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
24karatboy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110

Win XP
Delphi (Delphi Win32)
BeitragVerfasst: Di 26.06.07 12:25 
aber echt ? wieso nicht so einfach ^^ und ich werkel hier rum und schaue wie ich das machen könnte ...


danke

mfg
LowSkills
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111

Windows XP
Delphi 6 Professional
BeitragVerfasst: Di 26.06.07 13:12 
Danke Zeitgeist, jetzt hast du mir den Auftritt vermasselt ;)

BTW: Du hast bei dem Rechner so ne Uhr drin, jetzt frag ich mal was:
Wie geht das?

:mrgreen:

Ach ja: Schön, dass es jetzt funzt.

mfG

_________________
Verstand ist eines der am besten verteilten Güter. Jeder denkt, er hätte genug davon.
Kein Problem widersteht lange dem Angriff beharrlichen Denkens.