Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Rechnen im EDIT Feld
Autor: Steven Scheidler (---.dyn.telefonica.de)
Datum:   30.09.19 11:29

Hallo
ich habe mal eine Frage!

Wie könnte ich in einem EDIT Feld rechnen?

Bsp. 3+5-((2*2)/2)

Ergebnis: 2

Mein Ansatz:
 $P+
 SET("ERRORLEVEL",0)
 $I C:\XPROFANX2\LIB\PROFALT.INC
 DECLARE EDIT1&,BUTTON1&,TEXT1&,ENDE%,A$[],e1$
 DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
 WINDOWSTYLE 63
 WINDOWTITLE "Test"
 WINDOW 481,158-640,500
 CLS GETSYSCOLOR(15)
 USEFONT "MS Sans Serif",13,0,0,0,0
 SETDIALOGFONT 1
 
 Proc rechnen
    WhileLoop 0, SizeOf(A$[]) - 1
      Print A$[&loop]
    EndWhile
 EndProc
 
 EDIT1& = CREATE("EDIT",%HWND,"1,25",0082,0045,0120,0020)
 BUTTON1& = CREATE("BUTTON",%HWND,"BUTTON",0233,0046,0070,0030)
 TEXT1& = CREATE("TEXT",%HWND,"TEXT",0084,0113,0070,0020)
 SETFOCUS(%HWND)REPAINT
 WHILENOT ENDE%
 WAITINPUT
    If %KEY=2
      ENDE%= 1
    ELSEIF %KEY=4
    ELSEIF CLICKED(EDIT1&) 'EDIT
    ELSEIF CLICKED(BUTTON1&) 'BUTTON
     A$[] = Explode(GetText$(EDIT1&), "+")
     rechnen
    ENDIF
 ENDWHILE
 


So geht addieren schon mal, vielleicht ist mein Ansatz ja auch verkehrt
als Parameter würde ich dann die ( , + - * / ) übergeben wollen

 $P+
 SET("ERRORLEVEL",0)
 $I C:\XPROFANX2\LIB\PROFALT.INC
 DECLARE EDIT1&,BUTTON1&,TEXT1&,ENDE%,A$[],e1$,tmp!,temp!,m$
 DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
 WINDOWSTYLE 63
 WINDOWTITLE "Test"
 WINDOW 481,158-640,500
 CLS GETSYSCOLOR(15)
 USEFONT "MS Sans Serif",13,0,0,0,0
 SETDIALOGFONT 1
 
 Proc rechnen
    clear temp!
    Parameters m$
    WhileLoop 0, SizeOf(A$[]) - 1
      tmp!=str$(A$[&loop])
      temp!=temp!+tmp!     
    EndWhile
    Print temp!
 EndProc
 
 EDIT1& = CREATE("EDIT",%HWND,"1,25",0082,0045,0120,0020)
 BUTTON1& = CREATE("BUTTON",%HWND,"BUTTON",0233,0046,0070,0030)
 TEXT1& = CREATE("TEXT",%HWND,"TEXT",0084,0113,0070,0020)
 SETFOCUS(%HWND)REPAINT
 WHILENOT ENDE%
 WAITINPUT
    If %KEY=2
      ENDE%= 1
    ELSEIF %KEY=4
    ELSEIF CLICKED(EDIT1&) 'EDIT
    ELSEIF CLICKED(BUTTON1&) 'BUTTON
     A$[] = Explode(GetText$(EDIT1&), "+")
     rechnen 
    ENDIF
 ENDWHILE
 




Nachricht bearbeitet (30.09.19 12:16)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Rechnen im EDIT Feld  Neu
Steven Scheidler 30.09.19 11:29 
 Re: Rechnen im EDIT Feld  Neu
Heinz Brill 30.09.19 18:33 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org