Foro | | | |  Gary12345 | ¡Hola,
simpler Code, simple Cuestión:
$I MatheLeicht.inc
Ventana 0,0-600,400
Ventana de Estilo 15
Título de la ventana "Taschenrechner by Gary12345"
declarar edittext$
var edit1& = CREATE("Edit",%HWND,edittext$,10,10,550,30)
var button1& = CREATE("Button",%HWND,"+",20,50,100,50)
var button2& = CREATE("Button",%HWND,"-",150,50,100,50)
var button3& = CREATE("Button",%HWND,":",280,50,100,50)
var button4& = CREATE("Button",%HWND,"X",410,50,100,50)
var button5& = CREATE("Button",%HWND,"Wurzel",20, 120,100,50)
var button6& = CREATE("Button",%HWND,"ADreieck",150,120,100,50)
var button7& = CREATE("Button",%HWND,"AQuadrat",280,120,100,50)
var button8& = CREATE("Button",%HWND,"ARechteck",410,120,100,50)
var button9& = CREATE("Button",%HWND,"AKreis",20,190,100,50)
var button10& = CREATE("Button",%HWND,"ATrapez",150,190,100,50)
var button11& = CREATE("Button",%HWND,"AParallelogr.",280,190,100,50)
var button12& = CREATE("Button",%HWND,"VKegel",410,190,100,50)
Mientras que 1
WaitInput
IF clicked(Button1&)
edittext$ = "+"
EndIf
EndWhile
Como ya he dicho, Yo gehe Schritt para Schritt antes y Por favor, euch no en el richtigen Code, pero en Hinweise (z.B. en welchem Part el hilfe Yo nachlesen solle,etc.)
Problema1:
Ayuda en XPROFAN a Editar:
N : LongInt - Handle des übergeordneten Fensters
S : String - Vorgabetext
X1,Y1 : Integer - Linke obere Ecke des Eingabefeldes
X2,Y2 : Integer - Größe des Eingabefeldes (Sonderfunktion; siehe Texto)
Nun Yo esta Línea: edittext$ = "+" Dieser String es el Vorgabetext S. ¿Por qué fügt no en Clic uno Buttons una "+" hinzu?
Servus |
| | | | |
| |  Julian Schmidt | Versuchs veces por Settext! |
| | | | |
| |  Gary12345 | Gracias, daran Yo otra vez veces no pensamiento. Sorry. Wird funken. Teste lo ahora veces o.O |
| | | | |
| |  Gary12345 | | | | | |
| |  Gary12345 | KompilierenMarcaSeparación $I MatheLeicht.inc
Window 0,0-600,400
WindowStyle 15
WindowTitle "Taschenrechner by Gary12345"
declare Ergebnis!
var edit1& = CREATE("Edit",%HWND,"",10,10,550,30)
var button1& = CREATE("Button",%HWND,"+",20,50,100,50)
var button2& = CREATE("Button",%HWND,"-",150,50,100,50)
var button3& = CREATE("Button",%HWND,":",280,50,100,50)
var button4& = CREATE("Button",%HWND,"X",410,50,100,50)
var button5& = CREATE("Button",%HWND,"Wurzel",20, 120,100,50)
var button6& = CREATE("Button",%HWND,"ADreieck",150,120,100,50)
var button7& = CREATE("Button",%HWND,"AQuadrat",280,120,100,50)
var button8& = CREATE("Button",%HWND,"ARechteck",410,120,100,50)
var button9& = CREATE("Button",%HWND,"AKreis",20,190,100,50)
var button10& = CREATE("Button",%HWND,"ATrapez",150,190,100,50)
var button11& = CREATE("Button",%HWND,"AParallelogr.",280,190,100,50)
var button12& = CREATE("Button",%HWND,"VKegel",410,190,100,50)
var buttonGo& = CREATE("Button",%HWND,"Rechnen",210,250,100,50)
While 1
WaitInput
IF clicked(button1&)
settext edit1&, gettext$(edit1&) + "+"
EndIf
If clicked(button2&)
settext edit1&, gettext$(edit1&) + "-"
EndIf
If clicked(button3&)
settext edit1&, gettext$(edit1&) + "/"
EndIf
If clicked(button4&)
settext edit1&, gettext$(edit1&) + "*"
EndIf
If clicked(buttonGo&)
Ergebnis! = val(gettext$(edit1&))
print Ergebnis!
EndIf
EndWhile
Nächstes Problema:
Wollte ahora el Ergebnis en float konvertieren (also con @val()). Aber por qué rechnet no?
EDIT: Posesiones una Vermutung: Kann lo daran mentira, dass + kein floatwert ser kann? |
| | | | |
| |  Julian Schmidt | Natürlich funktioniert el no. Val() konvertiert sólo una Zeichenkette a un número. Usted könntest el así lösen, el du una Zählervariable erstelltst. Und jede Rechen- Operation direkt en esta Variable ausführst. Beim drücken el Ergebnis-Taste kannst du entonces el Variable ausgeben y zurücksetzten.
Alternativ wäre el Solución con un Parser posible. |
| | | | |
| |  Gary12345 | Werde mich morgen como veces informieren. Bin heute a müde dafür.  |
| | | | |
| |  Gary12345 | Was una Parser es, weiß Yo ahora. Was una Zählevariable es , kann Yo sólo algo vermuten. Also Usted willst, dass Yo, el Texto de edit en un extra Variable abspeichere, esta entonces después de float umwandle y luego rechnet? Verstehe el no así.
Servus! |
| | | | |
| |  Julian Schmidt | In el Ayuda findest du una einfaches Ejemplo a una Taschenrechner sin Parser. El Grundidee esta es, el du una vacío Variable erstellt, y jede Operation en el ausführst y luego el Ergebnis ausgibst. Ejemplo: Usted hast una Taschenrechner con Buttons de Pagar 0-9 y +, -, *, /, Claro. Am Anfang Es el Variable Ans! igual 0. Sobald du en el Button "+" drückst. Wird dieser Operator en uno más Variable gespeichert. Sobald du nun en una Zahl klickst, se Ans! con el gespeicherten Operator y gedrückten Zahl erweitert y !Ans como Ergebnis ausgegeben.
El Grundüberlegung en una Parser es, dass uno el komplizierteste Formel en Bestandteile (substr) zerleget, el después de el Schema "Variable Operator Variable" aufgebaut son. Man va esta Rückwärts antes y sucht después de el al tiefsten verschachtelten Rechenoperation después de el Regeln el Mathematik. Sprich Klammer antes Potenz antes Punkt antes Strich. Dieser Vorgang se solange wiederholt a no Operatoren mehr zufinden son. Hier una Ejemplo: 8*2+(7-4) 16+(7-4) 16+3 19
Hier una Ejemplo [...]  |
| | | | |
| |  Jörg Sellmeyer | Yo sería dir auch empfehlen, dich primero en el Grundrechenarten a beschränken y sólo einfache Rechenoperation auszugeben, a Si es usted el Principio beim Programmieren así halbwegs verstanden hast. 10 Button con el Ziffern de 0-9 son rápidamente erstellt. Dann todavía 4 para el Operanden y uno para =. Usted puede zB cada Buttonkick eingabe en uno Liste speichern y beim Clic en el Ergebnisbutton, el Liste abarbeiten.
El Eingabe por Button de 72 + 8 - 4 ergibt entonces una Liste de: "72" "+" "8" "-" "4"
Wenn el Ergebnisbutton gedrückt se wandelst Si es usted el entonces en un Rechenoperation en.+ Das Gleiche machst du entonces con Multiplikation y Division.
Si el funktioniert, kannst du dich auch a einfache Kombinationsaufgaben ranwagen. zB 8 * 12 + 7 Hier musst du entonces el todo Liste primero durcharbeiten, a Rechenregeln anzuwenden. Usted "parst" Así que el Liste.
Als nächstes kannst du entonces Klammern einbauen. Como se el Parsen ya algo aufwendiger. Julians Ejemplo benötigt de paso todavía no Klammern, como lo con el Rechenregeln automatich funktioniert:
Erst así, son Klammern nötig y lo son natürlich una más Ergebnis:
In el Fall sería I, con uno Gridlist trabajo y el Klammernblocks en el nächste Spalte conjunto:
Spalte 1 | Spalte 2 | Spalte 3 | 8 | * | ( | | 2 | | + | | 7 | ) | - | 4
|
Como necesidad du entonces sólo en jede Spalte deine Parserprozedur anwenden y erhälst jeweils korrekte Ergebnisse. Aber siempre una Schritt después de el otro. Erstmal el simplen Grundrechenarten.
[OFFTOPIC]puh - es el una Umstand con el Tabla aber ahora tener Yo zumindest geschnallt... Leider funktioniert en me el "Vorschau"-Button no. Geht el otro auch así oder es el una lokales Problema en me?[/OFFTOPIC] |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 02.02.2013 ▲ |
| |
| |  | Der Prevista Btn. va en me incluso hier grad ausm Bett aufm Handy gg.
Espectáculos Prevista überm Editor - bisl hochscrollen, benötigt JS.
 |
| | | | |
| |  Jörg Sellmeyer | Yo JS aktiviert y trotzdem no Prevista  |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 02.02.2013 ▲ |
| |
|
RespuestaTema opciones | 18.664 Views |
ThemeninformationenDieses Thema ha 4 subscriber: |