Español
Foro

Beim Taschenrechner programa! Kapier como qué no. Bzw. Kann Fehler no verstehen

 
- Página 1 -



Gary12345
¡Hola,
KompilierenMarcaSeparación
Window 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!
 
XProfan X2
MfG
Gary12345
26.01.2013  
 



 
- 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.
 
26.01.2013  
 




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!
 
XProfan X2
MfG
Gary12345
26.01.2013  
 



Si usted no más kommst entonces simplemente informe.
 
26.01.2013  
 




Gary12345
OK kleine Nebenfrage.

uno kann Zahlenwerte con str$ en cadena konventieren. ¿Cómo se puede Yo &werte en int umwandeln? Geht el?
 
XProfan X2
MfG
Gary12345
26.01.2013  
 



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.
 
26.01.2013  
 




Gary12345

KompilierenMarcaSeparación
Window 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
cls
var frage$ = "Hallo, bin Yo dumnm?"

Proc Message

    Parámetros frage$
    @Messagebox(frage$,"hinweis",0)

ENDPROC

Message
WaitInput
End

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
cls
FRAGE "Möchten Sie ni weitere Messagebox sehen?"
WaitInput

Proc Cuestión

    Parámetros fragetext$
    Messagebox(fragetext$,"F R A G E",4132)

    ifnot %Button=6

        end

    endif

    messagebox("Ich bin wirklich una schöne Messagebox!","I N F O",4160)

ENDPROC


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
 
MfG
Gary12345
27.01.2013  
 




Jörg
Sellmeyer
Schau dir el veces a
KompilierenMarcaSeparación
Proc Problem

    Parameters Frage$,Loesung$

    If Frage$ = "Wie?"

        Loesung$ = "So!"

    ElseIf Frage$ = "Was?"

        Loesung$ = "Das!"

    EndIf

    Return Loesung$

EndProc

Cls
Print Problem("Wie?")
Print Problem("Was?")
WaitInput
 
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.
 
XProfan X2
MfG
Gary12345
27.01.2013  
 




Gary12345
Yo habe una Theorie, Yo el otro Problemas lösen podría.

Yo sería z.B. el así hacer:
KompilierenMarcaSeparación
Proc Summe()

    Parameters a!,b!
    var Ergebnis% = a1+b1

EndPr

(ungefähr)

Gibt lo para matemático Berechnungen una Includedatei, si no, sería Yo eventuell así una bauen?
KompilierenMarcaSeparación
Proc Summe

    parámetros a!,b!
    declarar Summe!
    set("decimals",2)
    Summe! = a!+b!

ENDPROC

cls
var zahl! = Summe(4.34,2.31)
imprimir zahl!
WaitInput

Das funktioniert para Ejemplo.

Un Incluir en euch gefrunden: mathe.inc , es aber bisschen verbuggt.

Beispielcode:
KompilierenMarcaSeparación
 $I mathe.inc

Proc Summe

    parámetros a!,b!
    declarar Summe!
    set("decimals",2)
    Summe! = a!+b!

ENDPROC

cls
var zahl! = Summe(3,2)
imprimir zahl!
imprimir pi!
WaitInput

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.
 
MfG
Gary12345
27.01.2013  
 




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.
 
MfG
Gary12345
27.01.2013  
 



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.
 
27.01.2013  
 




Gary12345
Darf Yo mi kleine Incluir en euch vorstellen bajo el Punkt INCLUDES?
 
XProfan X2
MfG
Gary12345
27.01.2013  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

25.036 Views

Untitledvor 0 min.
ecki29.12.2023
MrZebulon05.08.2018
rawerra30.12.2016
Peter Max Müller30.10.2014
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie