Foro | | | | - Page 1 - |
| Gary12345 | Ciao, KompilierenMarkierenSeparierenWindow 0,0-400,400
Proc Hauptprogramm
declare wert%, wert2%, wert3%, wert4%, wert5%, wert6%, wert7%, wert8%, wert9%, wert10%
var Button1& = CREATE("Button",%HWND,"1", 50, 50, 50, 50)
var Button2& = CREATE("Button",%HWND,"2",50, 100, 50, 50)
var Button3& = CREATE("Button",%HWND,"3",50,150,50,50)
var Button4& = CREATE("Button",%HWND,"4",50,200,50,50)
var Button5& = CREATE("Button",%HWND,"5",50,250,50,50)
var Button6& = CREATE("Button",%HWND,"6",100,50,50,50)
var Button7& = CREATE("Button",%HWND,"7",100,100,50,50)
var Button8& = CREATE("Button",%HWND,"8",100,150,50,50)
var Button9& = CREATE("Button",%HWND,"9",100,200,50,50)
var Button10& = CREATE("Button",%HWND,"0",100,250,50,50)
var Button11& = CREATE("Button",%HWND,"+",200,50,50,50)
var Button12& = CREATE("Button",%HWND,"-",200,100,50,50)
var Button13& = CREATE("Button",%HWND,":",200,150,50,50)
var Button14& = CREATE("Button",%HWND,"*",200,200,50,50)
var Button15& = CREATE("Button",%HWND,"=>",200,250,50,50)
var ButtonClear& = CREATE("Button", %HWND, "TEST100", 250,100,100,100)
While 1
WaitInput
If clicked(Button1&)
wert% = 1
Print wert%
EndIf
If clicked(Button2&)
wert2% = 2
print wert2%
EndIf
If clicked(Button3&)
wert3% = 3
print wert3%
EndIf
If clicked(Button4&)
wert4% = 4
print wert4%
EndIf
If clicked(Button5&)
wert5% = 5
print wert5%
EndIf
If clicked(Button6&)
wert6% = 6
print wert6%
EndIf
If clicked(Button7&)
wert7% = 7
print wert7%
EndIf
If clicked(Button8&)
wert8% = 8
print wert8%
EndIf
If clicked(Button9&)
wert9% = 9
print wert9%
EndIf
If clicked(Button10&)
wert10% = 0
print wert10%
EndIf
If clicked(Button11&)
var Ergebnis$[wert1%,wert2%,wert3%,wert4%,wert5%,wert6%,wert7%,wert8%,wert9%,wert10%] = wert%+wert2%+wert3%+wert4%+wert5%+wert6%+wert7%+wert8%+wert9%+wert10%
print Ergebnis$
EndIf
If clicked(ButtonClear&)
cls
EndIf
EndWhile
EndProc
While 1
WaitInput
Hauptprogramm
EndWhile
Wie ich vorgegangen bin:
1. Habe überlegt, ob ich Buttons verwenden soll oder nur ein Editierfeld. Ich habe mich per die schwierigere Variante entschieden, nämlich die Buttons. 2. Das Hauptprogramm in un Prozedur gestellt. Externe Funktionen werden in einem Extra-Proc behandelt. 3. Alle Buttons einen Wert zuweisen (naturalmente integer) => wert% - wert10% 4. Falls Button "+" gedrückt wurde, alle Werte addieren. Zu guter letzt sie mit print darstellen lassen (Das Ergebnis naturalmente)
Mein Problem:
1. Es addiert alles richtig, nur wenn ich das zweite mal addiert habe (also das zweite mal rechne ohne ClearUp) kommt eine Fehlermeldung, dass ich die Variable Ergebnis doppelt deklariert habe. Kann diesen Fehler nicht nachvollziehen. 2. Wenn ich nur einmal zwei Werte addiere und dann zu guter Letzt auf den Button100 klicke, kommt beim zweiten Rechnen auch eine Fehlermeldung. Das ist wiederum die gleiche wie in Problem1 beschrieben. 3. Ich kann nur Werte 0-9 darstellen. Keine Werte circa 9. Warum? Warum hängt es immer eine Zahl drunter statt neben der Zahl? Kann ich auch nicht nachvollziehen.
Wie ihr mir helfen könntet
Ich will keinen Lösungscode. Ich will nur Hinweise auf die Ursache dieses Fehlers. Was ich genau falsch gemacht habe und noch weitere andere Sachen. Dazu würde ich das Problem nicht alles auf einmal machen, sondern alles Schritt per Schritt. Ich war es früher gewohnt einfach nur Codes zu bekommen, aber diesmal will ich wirklich lernen. Wenn ich was nicht verstehe, dann frag ich eben nach. Aber Hinweise statt der ganzen Lösung ist oft sinnvoller als man denkt.
Daher vielen Dank schon in vorraus! |
| | | | |
| | | | | - Page 3 - |
| Gary12345 | Es wird ja immer geiler in Deinem Foro Nochmals vielen Dank.
Bin beim Taschenrechnercode (neuen Code) auf ein Problem gestoßen, werde es hoffentlich alleine schaffen, das zu beseitigen |
| | | | |
| | | Weiterführendes zum Thema findest Du auch hier [...] und hier [...] . ^^ |
| | | | |
| | Gary12345 | Include in Action: KompilierenMarkierenSeparieren $I MatheLeicht.inc
cls
declare Summe!
var edit1! = CREATE("Edit",%HWND,"",0,0,100,100)
var edit2! = CREATE("Edit",%HWND,"",100,0,100,100)
var button& = CREATE("Button",%HWND,"Rechnen",100,100,100,100)
While 1
WaitInput
If clicked(button&)
Summe! = Summe(edit1!,edit2!)
print Summe!
EndIf
MfG Gary12345 | 27.01.2013 ▲ | |
| |
| | | | | | | |
| | Gary12345 | Und Du hast bei getText was falsch
gettext ist falsch, richtig wäre gettext$
Vielen Dank! |
| | | | |
| | | Stimmt, das hat man davon wenn mans ungetestet direkt in den Beitragseditor pinselt.
Zu meiner Ehrenrettung hätte getText ohne Dollarzeichen im nativen Profan (nProcs) absolut sufficiente. |
| | | | |
| | Gary12345 | Darf ich wissen, was NProcs sind? Ist das schon wichtig per mich? Oder erst später? |
| | | | |
| | | Die können später mal durchaus wichtig sein per Dich.
Damit kannst Du native Funktionen programmieren, die haben viele Vorteile z.B. sind sie um ein Vielfaches schneller und thread- und APC ( [...] ) -sicher und Du kannst auch direkt in Assembler programmieren und Funktionen programmieren die z.B. schneller sind als wären sie mit C programmiert.
Du kannst damit also Dein XProfan "pimpen" in dem Du den Präkompilierer XPSE vor den eigentlichen Kompilierer schaltest: [...]
Beispiel: [...]
Auch schön: [...] , [...] |
| | | | |
| | Gary12345 | OK Ich versag schon beim Verständnis der Begriffe. Aber kann sicher später per mich wichtig sein. Jetzt progge ich erstmal am Taschenrechner weiter
PS: BKA Remover kann etwas dauern |
| | | | |
| | | | - Page 4 - |
| | Gary12345 | KompilierenMarkierenSeparieren $I MatheLeicht.inc
cls rgb (187,234,102)
declare Summe!,Minus!,Teilen!,Multiplizieren!,Wurzel!
var edit1& = CREATE("Edit",%HWND,"Zahl eingeben",0,0,100,30)
var edit2& = CREATE("Edit",%HWND,"Zahl eingeben ",150,0,100,30)
var button& = CREATE("Button",%HWND,"+ ",0,100,50,100)
var button2& = CREATE("Button",%HWND,"-",50,100,50,100)
var button3& = CREATE("Button",%HWND,":",100,100,50,100)
var button4& = CREATE("Button",%HWND,"*",150,100,50,100)
var button5& = CREATE("Button",%HWND,"Wurzel",200,100,50,100)
While 1
WaitInput
If clicked(button&)
Summe! = Summe(val(getText$(edit1&)),val(getText$(edit2&)))
print Summe!
EndIf
If clicked(button2&)
Minus! = Minus(val(getText$(edit1&)),val(getText$(edit2&)))
print Minus!
EndIf
If clicked(button3&)
Teilen! = Teilen(val(getText$(edit1&)),val(getText$(edit2&)))
print Teilen!
EndIf
If clicked(button4&)
Multiplizieren! = Multiplizieren(val(getText$(edit1&)),val(getText$(edit2&)))
print Multiplizieren!
EndIf
If clicked(button5&)
Wurzel! = Wurzel(val(getText$(edit1&)))
print Wurzel!
EndIf
EndWhile
Fertig!
Wollte nur dieses Experiment lösen und habe es mit Aiuto einer eigenen INCLUDE erfolgreich gelöst. Das Programm wird nicht veröffentlicht, da es eher eine Übung ist als ein Projekt. Grundprinzip verstanden. Will den jetzt noch nicht weiter ausbauen.
Vielen Dank an alle, die mir geholfen haben!
(Fläche werde ich mit diesem Taschenrechner nicht ausrechnen.) |
| | | | |
| | Jörg Sellmeyer | | | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 27.01.2013 ▲ |
| |
| | Gary12345 | Jo weiß ich. Werde dann an meiner Include weiterbasteln und wenn possibile, doch noch am Taschenrechner. |
| | | | |
|
AnswerTopic-Options | 24.923 Views |
ThemeninformationenDieses Thema hat 4 subscriber: |