Foro | | | | - Página 1 - |
| Gary12345 | ¡Hola, KompilierenMarcaSeparaciónWindow 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
Como Yo vorgegangen bin:
1. Posesiones überlegt, si Yo Buttons uso se oder sólo una Editierfeld. Yo habe mich para el schwierigere Variante entschieden, nämlich el Buttons. 2. Das Hauptprogramm en un Procedimiento gestellt. Externe Características voluntad en un Extra-Proc behandelt. 3. Alle Buttons una Valor zuweisen (natürlich integer) => wert% - wert10% 4. Falls Button "+" gedrückt wurde, todos Werte addieren. Zu guter letzt ellos con imprimir darstellen dejar (Das Ergebnis natürlich)
Mein Problema:
1. Lo addiert alles correcto, sólo si yo el zweite veces addiert habe (also el zweite veces rechne sin ClearUp) kommt una Fehlermeldung, dass Yo el Variable Ergebnis doppelt deklariert habe. Kann esta Fehler no nachvollziehen. 2. Wenn Yo sólo una vez zwei Werte addiere y luego a guter Letzt en el Button100 klicke, kommt beim zweiten Rechnen auch una Fehlermeldung. Es wiederum el gleiche como en Problema1 beschrieben. 3. Puedo sólo Werte 0-9 darstellen. Keine Werte encima 9. ¿Por qué? ¿Por qué hängt lo siempre una Zahl drunter en lugar de neben el Zahl? Kann Yo auch no nachvollziehen.
Como ihr me helfen könntet
Yo voluntad no Lösungscode. Yo voluntad sólo Hinweise en el Ursache dieses Fehlers. Was Yo genau falso gemacht habe y todavía weitere otro Sachen. Dazu sería Yo el problema no alles en una vez hacer, pero alles Schritt para Schritt. Yo war lo früher gewohnt simplemente sólo Codes a bekommen, aber diesmal voluntad Yo wirklich aprender. Wenn Yo qué no verstehe, entonces frag Yo eben después de. Aber Hinweise en lugar de el ganzen Solución es oft sinnvoller como uno denkt.
Daher vielen Dank ya en vorraus! |
| | | | |
| | | | - Página 2 - |
| | | formel$ es simplemente sólo una String declarar formel$
Das Su Code todos Signo untereinander schreibt es sí programmiert, Imprimir schließt con \n de -
Abhilfe es hinter el Imprimir-Parámetro una Semikolon oder Komma a escribir,
also imprimir "10"; imprimir "20";
son 1020 de.
Wozu aber imprimir si SetText en Verbindung z.B. con un create("text oder create("edit son y drawText hay auch todavía.
Das Su Taschenrechner no correcto rechnet es una Programmablaufproblem - Así que una Logisches. Como weiß Yo no Yo Usted helfen kann porque el Eindenken en el código - como Yo verstanden habe - möchtest Usted Usted incluso überlassen. So kann Yo imho sólo escribir dass el Programa imho genau el macht, como programmiert es. |
| | | | |
| | Gary12345 | Sí OK habe más gelernt. Tal vez bin Yo auch sólo a müde. Aber Yo voluntad alles geben, lo alleine el problema a lösen.
Gracias! |
| | | | |
| | | Si usted no más kommst entonces simplemente informe. |
| | | | |
| | Gary12345 | OK kleine Nebenfrage.
uno kann Zahlenwerte con str$ en cadena konventieren. ¿Cómo se puede Yo &werte en int umwandeln? Geht el? |
| | | | |
| | | Yo verstehe no, qué es &werte ?
& es sí ya int o. en 32-Bit XProfan long o. es en 32-Bit-XProfan int=long
Lo son val( en de "20" 20 a hacer, quasi String->Float. |
| | | | |
| | Gary12345 | KompilierenMarcaSeparaciónWindow 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
¡Hola,
Problema1 gelöst, lo schreibt Pagar nebeneinander, erkennt ellos él no como 11 pero como 1 1 1 1 ... . Also war el ahora una Teillösung.
Mach doch primero, dass si uno una Button klickt, dass el entsprechende Signo a una String hinzugefügt se.
¿Por qué a una cadena? Yo muss doch el primero a una integer wert hacer? Wenn Button con el Aufschrift 1 gedrückt wurde, füge Valor 1 hinzu usw.
Könnte me alguien seine Gedankenschritte geben, cómo hacerlo lösen podría. Hab ahora ya con multiedits rumprobiert.
Schon proggt uno qué vermeintlich leichtes, el sin embargo entonces doch algo schwieriger es.
Nebenfrage: KompilierenMarcaSeparación Definition de Parámetros:
El Aufrufparameter uno Procedimiento voluntad Variables zugewiesen, el innerhalb el Procedimiento bekannt son. Ein Ejemplo findet se bajo Proc. El Anzahl el Variables debería höchstens igual el maximalen Anzahl el Übergabeparameter sein; überprüft se dieses aber ebensowenig, como Datentypen. Gegebenenfalls es una automatische Umwandlung.
Entweder verstehe Yo Parámetros falso oder en mi Code es qué falso.
Wenn Yo Parámetros entferne, se alles korrekt adecuado. Was macht nun Parámetros eigentlich? KompilierenMarcaSeparación Como es para Ejemplo.
Como wandelt lo el ""Möchten Sie ni weitere Messagebox sehen?"" en una Parámetro en (fragetext$). Also puede ser irgendwie Parámetro erzeugen. Verstehe lo aber siempre todavía no bastante.
LG |
| | | | |
| | Jörg Sellmeyer | | | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 27.01.2013 ▲ |
| |
| | Gary12345 | OK el con Parámetros Yo verstanden. Ist sí bastante nützlich. Nur ahora gilt lo el otro a klären. |
| | | | |
| | Gary12345 | Yo habe una Theorie, Yo el otro Problemas lösen podría.
Yo sería z.B. el así hacer: KompilierenMarcaSeparación (ungefähr)
Gibt lo para matemático Berechnungen una Includedatei, si no, sería Yo eventuell así una bauen? KompilierenMarcaSeparación Das funktioniert para Ejemplo.
Un Incluir en euch gefrunden: mathe.inc , es aber bisschen verbuggt.
Beispielcode: KompilierenMarcaSeparación el imprimir pi! es de el INCLUDE. Gefunden Yo lo en euch bajo INCLUDE. Wartet - Yo búsqueda rápidamente el Link.
EDIT: Hier el Link: [...]
En XProfan scheint auch una Standardinc mitgeliefert a ser, el entspricht pero no media Ansprüchen. Bzw. es encima media Ansprüchen, dass Yo en el Mathematik no mitkomme. Búsqueda ahora todavía después de más Incluye.
Bin mittlerweile soweit: KompilierenMarcaSeparación
Proc Summe
parámetros a!,b!
declarar Summe!
set("decimals",2)
Summe! = a!+b!
ROUND(Summe!,2)
volver
ENDPROC
Proc Minus
parámetros a!,b!
declarar Minus!
set("decimals",2)
Minus! = a!-b!
ROUND(Minus!,2)
volver
ENDPROC
Proc Teilen
parámetros a!,b!
declarar Teilen!
set("decimals",2)
Teilen! = a!/b!
ROUND(Teilen!,2)
volver
ENDPROC
Proc Multiplizieren
parámetros a!,b!
declarar multiplizieren!
set("decimals",2)
multiplizieren! = a!*b!
ROUND(Multiplizieren!,2)
volver
ENDPROC
Proc Wurzel
parámetros a!
declarar Wurzel!
set("decimals",2)
Wurzel! = sqrt(a!)
Round(Wurzel!,2)
volver
ENDPROC
Proc Kreiszahl
declarar Pi!
set("decimals",10)
Pi! = 3.141592653589
volver
ENDPROC
Proc ADreieck
parámetros a!,b!
declarar ADreieck!
set("decimals",2)
ADreieck! = 0.5*a!*b!
ROUND(ADreieck!,1)
volver
ENDPROC
cls
var zahl! = Summe(3.433,2.434)
var zahl2! = Minus(3,2)
var zahl3! = Teilen(3,2)
var zahl4! = Multiplizieren(3,2)
var zahl5! = ADreieck(3,2)
imprimir zahl!
imprimir zahl2!
imprimir zahl3!
imprimir zahl4!
imprimir Kreiszahl()
imprimir zahl5!
WaitInput
Scheint alles a ir. |
| | | | |
| | Gary12345 | KompilierenMarcaSeparación'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>
Volver
ENDPROC
Zurzeitiger Code. Incluir meiner Ansicht fertig. |
| | | | |
| | | Usted musst sí el Ziffern no a una String hinzufügen, aber Usted könntest.
Usted puede ebenso en Clic en una Ziffer el aktuelle Summe con 10 Multiplizieren y valor el geklickten Ziffer addieren.
Quasi
0 klick 1 0*10+1 1 klick 5 1*10+5 15 klick 9 15*10+9 159
así lünden el Buttonklicks auch en el Valor. |
| | | | |
| | Gary12345 | Darf Yo mi kleine Incluir en euch vorstellen bajo el Punkt INCLUDES? |
| | | | |
|
RespuestaTema opciones | 25.036 Views |
ThemeninformationenDieses Thema ha 4 subscriber: |