Français
Forum

Beim calculette programmieren! Kapier là quoi pas. Bzw. peux faute pas comprendre

 
- page 1 -



Gary12345
Salut,
KompilierenMarqueSéparation
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


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



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




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



si Du pas plus viens ensuite simple annoncer.
 
26.01.2013  
 




Gary12345
OK kleine Nebenfrage.

il peut Zahlenwerte avec str$ dans string konventieren. comment peux je &werte dans int transformer? allez cela?
 
XProfan X2
MfG
Gary12345
26.01.2013  
 



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




Gary12345

KompilierenMarqueSéparation
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


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
cls
var frage$ = "Hallo, suis je dumnm?"

Proc Message

    Paramètres frage$
    @Messagebox(frage$,"hinweis",0)

ENDPROC

Message
WaitInput
Fin

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
cls
FRAGE "Möchten vous encore une weitere Messagebox voyons?"
WaitInput

Proc Frage

    Paramètres fragetext$
    Messagebox(fragetext$,"F R A G E",4132)

    ifnot %Button=6

        end

    endif

    messagebox("Ich suis wirklich une belle Messagebox!","I N F O",4160)

ENDPROC


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




Jörg
Sellmeyer
exposition dir cela la fois à
KompilierenMarqueSéparation
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 cela avec Paramètres habe je verstanden. Ist oui entier nützlich. seulement maintenant gilt es l'autre trop klären.
 
XProfan X2
MfG
Gary12345
27.01.2013  
 




Gary12345
j'ai une Theorie, comment je qui anderen Probleme lösen pourrait.

je serait z.B. cela so faire:
KompilierenMarqueSéparation
Proc Summe()

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

EndPr

(ungefähr)

Gibt es pour mathématique Berechnungen une Includedatei, si pas, serait je eventuell so une construire?
KompilierenMarqueSéparation
Proc somme

    parameters a!,b!
    declare somme!
    set("decimals",2)
    somme! = a!+b!

ENDPROC

cls
var numéro! = somme(4.34,2.31)
imprimer numéro!
WaitInput

cela funktioniert zum Beispiel.

une Include chez euch gefrunden: mathe.inc , ist mais bisschen verbuggt.

Beispielcode:
KompilierenMarqueSéparation
 $I mathe.inc

Proc somme

    parameters a!,b!
    declare somme!
    set("decimals",2)
    somme! = a!+b!

ENDPROC

cls
var numéro! = somme(3,2)
imprimer numéro!
imprimer pi!
WaitInput

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




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



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




Gary12345
Darf je mon kleine Include chez euch présenter sous dem Punkt INCLUDES?
 
XProfan X2
MfG
Gary12345
27.01.2013  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

24.940 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie