Autor Beitrag
wayne123
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52



BeitragVerfasst: So 16.10.11 13:18 
Also ich möchte einen Taschenrechner programmieren, bei dem man eine komplette Rechnung in ein Edit Feld schreiben kann, welche dann,wenn man auf den Button klickt ausgerechnet wird. Ich weiß, dass das sehr wahrscheinlich nicht gerade der beste Weg ist es zu lösen, aber mir reicht es so. Ich bin gerade noch bei den Klammern, ich will die Klammern aus dem gesamten String rausnehmen, ausrechnen lassen und dann das Ergebnis wieder in den String reinbringen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
 
Eingabe:=Edit1.Text;
  repeat
  begin
    PositionAnfangKlammer:=pos('(',Eingabe);
    PositionEndeKlammer:=pos(')',Eingabe);
    Klammern:= Copy(Eingabe,PositionAnfangKlammer,PositionEndeKlammer-PositionAnfangKlammer+1);
    if pos('+',Klammern)>0 then
    begin
      Klammernergebnis:=IntToStr(StrToInt(Klammern[pos('+',Klammern)-1])+StrToInt(Klammern[pos('+',Klammern)+1]));
    end;

    Ausgabe:=StringRePlace(Eingabe,Klammern,Klammernergebnis);
  end
  until
  pos('(',Eingabe) = 0;
  Memo1.Text:=Ausgabe;

So müsste es ja klappen, wenn man nur + in der Klammer rechnen würde und als Ergebnis würde im Memo dann der String mit ausgerechneten Klammern da stehen, nur das Problem ist, dass mir der Fehler nich genügend wirkliche Parameter bei StringRePlace angezeigt wird. Wisst ihr wo der Fehler liegt?
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 16.10.11 13:29 
Es fehlt noch der letzte Parameter bei StringReplace:

ausblenden Delphi-Quelltext
1:
StringReplace('Irgendein Text''SuchString''ErsetzString', [rfReplaceAll]);					


siehe Delphi-Hilfe

Für diesen Beitrag haben gedankt: wayne123
wayne123 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52



BeitragVerfasst: So 16.10.11 13:37 
Die Delphi-Hilfe funktioniert nicht bei mir, hab eine ältere Version von Delphi. Wofür steht denn der letzte Parameter?
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 16.10.11 13:42 
user profile iconwayne123 hat folgendes geschrieben Zum zitierten Posting springen:
Die Delphi-Hilfe funktioniert nicht bei mir, hab eine ältere Version von Delphi.

www.delphi-library.d...?t=89408&start=0
siehe Punkt 1

user profile iconwayne123 hat folgendes geschrieben Zum zitierten Posting springen:
Wofür steht denn der letzte Parameter?

docwiki.embarcadero....sUtils.StringReplace

Für diesen Beitrag haben gedankt: wayne123
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19336
Erhaltene Danke: 1751

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 16.10.11 14:15 
user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconwayne123 hat folgendes geschrieben Zum zitierten Posting springen:
Die Delphi-Hilfe funktioniert nicht bei mir, hab eine ältere Version von Delphi.

www.delphi-library.d...?t=89408&start=0
siehe Punkt 1
Hier noch der Link zur Hilfe für Windows 7, ich werde den Beitrag (vermutlich im Laufe des Tages) noch für Windows 7 überarbeiten:
www.microsoft.com/do...28-8844-008e02b32a2c
// EDIT:
Fertig ;-)