Forum | | | | - page 1 - |
| Gary12345 | Salut, KompilierenMarqueSéparationWindow 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
comment je vorgegangen suis:
1. Habe überlegt, si je Buttons verwenden soll ou bien seulement un Editierfeld. j'ai mich pour qui schwierigere variante entschieden, nämlich qui Buttons. 2. cela Hauptprogramm dans un Procédure gestellt. Externe Funktionen volonté dans einem Extra-Proc behandelt. 3. Alle Buttons une Wert zuweisen (naturellement integer) => wert% - wert10% 4. si Button "+" gedrückt wurde, alle Werte addieren. trop bon letzt vous avec imprimer représenter laisser (cela Ergebnis naturellement)
mon Problem:
1. Es addiert alles richtig, seulement si je cela zweite la fois addiert habe (alors cela zweite la fois rechne sans ClearUp) venez une Fehlermeldung, dass je qui Variable Ergebnis doppelt deklariert habe. peux cette faute pas nachvollziehen. 2. si je seulement einmal deux Werte addiere et ensuite trop bon Letzt sur den Button100 klicke, venez beim zweiten le calcul aussi une Fehlermeldung. c'est wiederum qui gleiche comment dans Problem1 beschrieben. 3. je peux seulement Werte 0-9 représenter. aucun Werte sur 9. pourquoi? pourquoi hängt es toujours une numéro drunter statt près de qui numéro? peux je aussi pas nachvollziehen.
comment son mir aider könntet
je veux keinen Lösungscode. je veux seulement Hinweise sur qui Ursache cet Fehlers. quoi je oui c'est ca faux gemacht habe et encore weitere autre Sachen. en supplément serait je cela Problem pas alles sur einmal faire, mais alles Schritt pour Schritt. j'étais es früher gewohnt simple seulement Codes trop bekommen, mais diesmal veux je wirklich apprendre. si je quoi pas verstehe, ensuite frag je plan pour. mais Hinweise statt qui ganzen Solution ist souvent sinnvoller comme on denkt.
Daher vielen Dank déjà dans vorraus! |
| | | | |
| | | | - page 2 - |
| | | formel$ ist simple seulement un String declare formel$
cela Dein Code alle marque untereinander écrit ist oui programmiert, Imprimer schließt avec \n ab -
Abhilfe ist derrière qui Imprimer-paramètre un Semikolon ou bien Komma trop écrivons,
alors imprimer "10"; imprimer "20";
gibt 1020 aus.
Wozu mais imprimer si es SetText dans liaison z.B. avec einem create("text ou bien create("edit gibt et drawText gibt es aussi encore.
cela Dein calculette pas richtig rechnet est un Programmablaufproblem - alors un Logisches. là sais je pas comment je Dir aider peux car cela Eindenken dans den Code - so comment je es verstanden habe - vouloir Du Dir selbst überlassen. So peux je imho seulement écrivons dass cela Programme imho oui c'est ca cela fait, comme programmiert ist. |
| | | | |
| | Gary12345 | oui OK habe plus gelernt. peut-être suis je aussi seulement trop fatigué. mais je werde alles donner, es alleine cela Problem trop lösen.
merci! |
| | | | |
| | | si Du pas plus viens ensuite simple annoncer. |
| | | | |
| | Gary12345 | OK kleine Nebenfrage.
il peut Zahlenwerte avec str$ dans string konventieren. comment peux je &werte dans int transformer? allez cela? |
| | | | |
| | | je comprends pas, quoi ist &werte ?
& ist oui déjà int bzw. dans 32-Bit XProfan long bzw. ist dans 32-Bit-XProfan int=long
il y a val( um aus "20" 20 trop faire, quasi String->Float. |
| | | | |
| | Gary12345 | KompilierenMarqueSéparationWindow 0,0-400,400
declare wert%, wert2%, wert3%, wert4%, wert5%, wert6%, wert7%, wert8%, wert9%, wert10%
declare Ergebnis$
declare button1&, button2&, button3&, button4&, button5&, button6&, button7&, button8&, button9&, button10&, button11&, button12&, button13&, button14&
declare button15&, buttonclear&
Proc Hauptprogramm
Button1& = CREATE("Button",%HWND,"1", 50, 50, 50, 50)
Button2& = CREATE("Button",%HWND,"2",50, 100, 50, 50)
Button3& = CREATE("Button",%HWND,"3",50,150,50,50)
Button4& = CREATE("Button",%HWND,"4",50,200,50,50)
Button5& = CREATE("Button",%HWND,"5",50,250,50,50)
Button6& = CREATE("Button",%HWND,"6",100,50,50,50)
Button7& = CREATE("Button",%HWND,"7",100,100,50,50)
Button8& = CREATE("Button",%HWND,"8",100,150,50,50)
Button9& = CREATE("Button",%HWND,"9",100,200,50,50)
Button10& = CREATE("Button",%HWND,"0",100,250,50,50)
Button11& = CREATE("Button",%HWND,"+",200,50,50,50)
Button12& = CREATE("Button",%HWND,"-",200,100,50,50)
Button13& = CREATE("Button",%HWND,":",200,150,50,50)
Button14& = CREATE("Button",%HWND,"*",200,200,50,50)
Button15& = CREATE("Button",%HWND,"=>",200,250,50,50)
ButtonClear& = CREATE("Button", %HWND, "TEST100", 250,100,100,100)
EndProc
Hauptprogramm
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&)
Ergebnis$ = str$(wert%+wert2%+wert3%+wert4%+wert5%+wert6%+wert7%+wert8%+wert9%+wert10%)
print Ergebnis$
EndIf
If clicked(ButtonClear&)
cls
EndIf
Endwhile
Salut,
Problem1 gelöst, es écrit payons nebeneinander, erkennt vous il pas comme 11 mais comme 1 1 1 1 ... . alors était cela maintenant une Teillösung.
Mach doch erstmal, dass si on une Button klickt, dass cela entsprechende marque trop einem String hinzugefügt wird.
pourquoi trop einem string? je muss doch qui erstmal trop einem integer wert faire? si Button avec qui Aufschrift 1 gedrückt wurde, füge Wert 1 hinzu usw.
Könnte mir quelqu'un sa Gedankenschritte donner, comment on cela lösen pourrait. Hab maintenant déjà avec multiedits rumprobiert.
déjà proggt on quoi vermeintlich leichtes, cela cependant ensuite doch quelque chose schwieriger ist.
Nebenfrage: KompilierenMarqueSéparation définition de Paramètres:
qui Aufrufparameter einer Procédure volonté Variablen zugewiesen, qui dedans qui Procédure bekannt sommes. un Beispiel findet sich sous Proc. qui Nombre de Variablen sollte au maximum juste qui maximalen Nombre de Übergabeparameter sein; überprüft wird cet mais ebensowenig, comment qui Datentypen. Gegebenenfalls erfolgt une automatische Umwandlung.
Entweder verstehe je Paramètres faux ou bien dans mon Code ist quoi faux.
si je Paramètres entferne, wird alles korrekt angezeigt. quoi pouvoir eh bien Paramètres eigentlich? KompilierenMarqueSéparation là ca va zum Beispiel.
là wandelt es cela ""Möchten vous encore une weitere Messagebox voyons?» dans une paramètre um (fragetext$). alors peux on irgendwie paramètre erzeugen. Verstehe es mais toujours pas entier.
LG |
| | | | |
| | Jörg Sellmeyer | | | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 27.01.2013 ▲ |
| |
| | Gary12345 | OK cela avec Paramètres habe je verstanden. Ist oui entier nützlich. seulement maintenant gilt es l'autre trop klären. |
| | | | |
| | Gary12345 | j'ai une Theorie, comment je qui anderen Probleme lösen pourrait.
je serait z.B. cela so faire: KompilierenMarqueSéparation (ungefähr)
Gibt es pour mathématique Berechnungen une Includedatei, si pas, serait je eventuell so une construire? KompilierenMarqueSéparation cela funktioniert zum Beispiel.
une Include chez euch gefrunden: mathe.inc , ist mais bisschen verbuggt.
Beispielcode: KompilierenMarqueSéparation cela imprimer pi! ist aus qui INCLUDE. trouvé habe je es chez euch sous INCLUDE. Wartet - je cherche vite den Link.
EDIT: ici qui Link: [...]
chez XProfan scheint aussi une Standardinc mitgeliefert trop son, qui entspricht mais pas meinen Ansprüchen. Bzw. c'est sur meinen Ansprüchen, dass je dans qui mathématique pas mitkomme. cherche maintenant encore pour weiteren Comprend.
suis mittlerweile soweit: KompilierenMarqueSéparation
Proc somme
parameters a!,b!
declare somme!
set("decimals",2)
somme! = a!+b!
ROUND(somme!,2)
return
ENDPROC
Proc Minus
parameters a!,b!
declare Minus!
set("decimals",2)
Minus! = a!-b!
ROUND(Minus!,2)
return
ENDPROC
Proc partager
parameters a!,b!
declare partager!
set("decimals",2)
partager! = a!/b!
ROUND(partager!,2)
return
ENDPROC
Proc Multiplizieren
parameters a!,b!
declare multiplizieren!
set("decimals",2)
multiplizieren! = a!*b!
ROUND(Multiplizieren!,2)
return
ENDPROC
Proc Wurzel
parameters a!
declare Wurzel!
set("decimals",2)
Wurzel! = sqrt(a!)
Round(Wurzel!,2)
return
ENDPROC
Proc Kreiszahl
declare Pi!
set("decimals",10)
Pi! = 3.141592653589
return
ENDPROC
Proc ADreieck
parameters a!,b!
declare ADreieck!
set("decimals",2)
ADreieck! = 0.5*a!*b!
ROUND(ADreieck!,1)
return
ENDPROC
cls
var numéro! = somme(3.433,2.434)
var numéro2! = Minus(3,2)
var numéro3! = partager(3,2)
var numéro4! = Multiplizieren(3,2)
var numéro5! = ADreieck(3,2)
imprimer numéro!
imprimer numéro2!
imprimer numéro3!
imprimer numéro4!
imprimer Kreiszahl()
imprimer numéro5!
WaitInput
Scheint alles pour aller. |
| | | | |
| | Gary12345 | KompilierenMarqueSéparation'Include programmiert von Gary12345
Proc Summe
parameters a!,b!
declare Summe!
set("decimals",2)
Summe! = a!+b!
ROUND(Summe!,2)
return
EndProc
Proc Minus
parameters a!,b!
declare Minus!
set("decimals",2)
Minus! = a!-b!
ROUND(Minus!,2)
return
EndProc
Proc Teilen
parameters a!,b!
declare Teilen!
set("decimals",2)
Teilen! = a!/b!
ROUND(Teilen!,2)
return
EndProc
Proc Multiplizieren
parameters a!,b!
declare multiplizieren!
set("decimals",2)
multiplizieren! = a!*b!
ROUND(Multiplizieren!,2)
return
EndProc
Proc Wurzel
parameters a!
declare Wurzel!
set("decimals",2)
Wurzel! = sqrt(a!)
Round(Wurzel!,2)
return
EndProc
Proc ADreieck
parameters a!,b!
declare ADreieck!
set("decimals",2)
ADreieck! = 0.5*a!*b!
ROUND(ADreieck!,2)
return
EndProc
Proc AQuadrat
parameters a!
declare Quadrat!
set("decimals",2)
Quadrat!=a!*a!
ROUND(Quadrat!,2)
return
EndProc
Proc ARechteck
parameters a!,b!
declare Rechteck!
set("decimals",2)
Rechteck! = a!*b!
ROUND(Rechteck!,2)
Return
EndProc
Proc AKreis
parameters a!
declare Kreis!
set("decimals",2)
Kreis! = @Pi()*a!
ROUND(Kreis!,2)
Return
EndProc
Proc ATrapez
parameters a!,c!,h!'Trapezformel: 0.5*(a+c)*höhe! (h!)
declare Trapez!
set("decimals",2)
Trapez! = 0.5*(a!+c!)*h!
ROUND(Trapez!,2)
Return
EndProc
Proc AParallelogramm
parameters g!,h!
declare Parallelogramm!
set("decimals",2)
Parallelogramm! = g!*h!'Grundfläche*Höhe
ROUND(Parallelogramm!,2)
Return
EndProc
Proc VWürfel
Parameters a!
declare Würfel!
set("decimals",2)
Würfel! = a!*a!*a!
ROUND(Würfel!,2)
Return
EndProc
Proc VQuader
Parameters a!,b!,c!
declare Quader!
set("decimals",2)
Quader! = a!*b!*c!
ROUND(Quader!,2)
Return
EndProc
Proc VKugel
parameters r!
declare Kugel!
set("decimals",2)
Kugel! = 4/3*@PI()*r!*r!*r!
ROUND(Kugel!,2)
Return
EndProc
Proc VKegel
parameters r!,h!
declare Kegel!
set("decimals",2)
Kegel! = 1/3*@PI()*r!*r!*h!
ROUND(Kegel!,2pan>
Retour
ENDPROC
Zurzeitiger Code. Include meiner Ansicht fertig. |
| | | | |
| | | Du musst oui qui Les chiffres pas trop einem String hinzufügen, mais Du könntest.
tu peux ebenso chez Klick sur une Ziffer qui aktuelle somme avec 10 Multiplizieren et la valeur qui geklickten Ziffer addieren.
Pratiquement
0 klick 1 0*10+1 1 klick 5 1*10+5 15 klick 9 15*10+9 159
so lünden qui Buttonklicks aussi im Wert. |
| | | | |
| | Gary12345 | Darf je mon kleine Include chez euch présenter sous dem Punkt INCLUDES? |
| | | | |
|
répondreOptions du sujet | 24.940 Views |
Themeninformationencet Thema hat 4 participant: |