Français
Forum

%Key wird pas zurück gesetzt?

 

Nico
Madysa
Mir ist bereits chez XProfan9 un faute aufgefallen, den je ici eh bien la fois montrer veux.
Ausgangspunkt ist cette Minimalcode.
KompilierenMarqueSéparation
declare but& , dlg& , e%
WindowStyle 26
Window 100 , 100 - 200 , 200
cls External("User32","GetSysColor",15)
but& = Create("Button",%hWnd,"Dialog",5,5,100,25)

whilenot %Key = 2

    waitinput

    if Clicked(but&)

        dlg& = Create("Dialog",%hWnd,"DER Dialog",5,5,100,300)
        clear e%

        whilenot e%

            waitinput

            if %Key = 2

                inc e%

            endif

        wend

        DestroyWindow(dlg&)

    endif

wend

end

si on sur den Button den Dialog ouvrez et cette anschließend sur cela [X] wird cela Hauptfenster aussi geschlossen. et cela quoique
1.) cela Hauptfenster keinen Dialogfenster-Stil hat.
2.) %Key pour dem auslesen doch zurück gesetzt volonté sollt.

Hat quelqu'un ne Solution?
 
Nico Madysa
26.06.2006  
 



Probier la fois cela dulcoiF .
KompilierenMarqueSéparation
 
26.06.2006  
 




Sebastian
König
Salut,

dans meinen Augen ist cela eigentlich ne...aucune faute, car qui äußere Boucle ist oui comme

Whilenot %Key = 2

défini. Pour dem Klick sur cela X im Dialog ist mais %clé = 2 gegeben et qui Boucle wird sortir de. ca liegt daran, dass %clé pas beim Lecture zurückgesetzt wird, mais seulement par une WaitInput/-Key/-Scan ou bien GetMessage-Befehl.

une simple Solution wäre, aussi pour qui äußere Boucle une ende%-Variable trop benutzen et cet z.B. avec cas %clé = 2: ende% = 1 pour dem WaitInput dans qui äußeren Boucle trop mettons.

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
26.06.2006  
 




Nico
Madysa
avec qui Hilfsvariablen habe ego déjà probeirt, klappt pas, là %Key beim Lecture plan pas zurück gesetzt wird.
mais si je deine erste Aussage richtig verstanden habe, würde´
KompilierenMarqueSéparation
Whilenot %Key = 2

    If Clicked(But&)

        Dlg& = Create("Dialog",%Hwnd,"DER Dialog",5,5,100,300)
        Clear E%

        Whilenot E%

            Waitinput

            If %Key = 2

                Inc E%

            Endif

        Wend

        Destroywindow(Dlg&)

    Endif

    Waitinput

Wend

Fin

marcher, là cela Waitinput qui ersten Boucle am Ende ist et %Key daher avant dessen Abfrage encore récente eingestellt volonté serait.
merci pour qui Aider.

@iF: je versteh cet Dulcoif pas, quoi soll cela car bedeuten?
 
Nico Madysa
27.06.2006  
 




Michael
Wodrich
[quote-part:0a67fc8c6a]@iF: je versteh cet Dulcoif pas, quoi soll cela car bedeuten?[/quote-part:0a67fc8c6a]
Pour cette sollte on qui cherche bemühen et sich den ganzen Fil durchlesen.

cela DulcoIf sollte verabreicht volonté um dem kränkelnden Message-Handling sur qui Sprünge trop aider...

belle Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
27.06.2006  
 




Sebastian
König
[quote-part:e7e4a282c6]mais si je deine erste Aussage richtig verstanden habe, würde´ [...]
marcher, là cela Waitinput qui ersten Boucle am Ende ist et %Key daher avant dessen Abfrage encore récente eingestellt volonté serait.[/quote-part:e7e4a282c6] c'est pas entier, quoi je meinte, mais es funktioniert réellement . cela WaitInput _nach_ qui inneren Boucle mets %clé zurück et seulement ensuite wieder sur 2, si cela X im Hauptfenster angeklickt wird.

So entier joli finde je cela avec dem WaitInput am Ende qui Boucle allerdings pas... Wahrscheinlich ca va dans den meisten Fällen bien, mais je serait es à den Anfang mettons, avec cela on pas womöglich dans irgendeinem undefinierten Zustand startet et peut-être Aktionen sans Eingabe fonctionnement volonté (pourrait dans einer komplizierteren Boucle oui durchaus son, denke je).

ici fois le variante avec 2 separaten Ende-Variablen, à qui je gedacht hatte:
KompilierenMarqueSéparation
Declare But& , Dlg& , E1%, E2%
Windowstyle 26+512
Window 100 , 100 - 200 , 200
Cls External("User32","GetSysColor",15)
But& = Create("Button",%Hwnd,"Dialog",5,5,100,25)

Whilenot E1%

    Waitinput
    case %key = 2 : E1% = 1 war fälschlicherweise erst E1% = 0

    If Clicked(But&)

        Dlg& = Create("Dialog",%Hwnd,"DER Dialog",5,5,100,300)
        Clear E2%

        Whilenot E2%

            Waitinput

            If %Key = 2

                Inc E2%

            Endif

        Wend

        Destroywindow(Dlg&)

    Endif

Wend

Fin

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
27.06.2006  
 




Nico
Madysa
voilà, glaube je, un kleiner faute:
quoi passiert, si je cela Hauptfenster(avec Dialog-Stil) schließen veux, sans qui Dialog-Box aufzurufen? là wird E1% oui sur 0 gesetzt, fonctionne alors plus. à cause de dem undefiniertem Zustand chez einem nachgestellten Waitinput:
on pourrait aussi une Repeat-Until-Boucle comme Hauptschleife nehmen;
ou bien on pouvoir avant qui Hauptschleife NOCH un Waitinput, ensuite devrait qui l'affaire marcher.
 
Nico Madysa
28.06.2006  
 




Sebastian
König
[quote-part:7a4701bab3]voilà, glaube je, un kleiner faute:
quoi passiert, si je cela Hauptfenster(avec Dialog-Stil) schließen veux, sans qui Dialog-Box aufzurufen? là wird E1% oui sur 0 gesetzt, fonctionne alors plus. (...)[/quote-part:7a4701bab3]
Ups - sorry!! je hatte chez qui äußeren Boucle falschrum gedacht, alors à Tandis que E1% ...
Richtig wäre naturellement: Cas %Key = 2 : E1% = 1 - je ändere cela dans dem Code dessus juste la fois

maintenant devrait mais alles dans Ordre son - habe es jedenfalls justement erfolgreich getestet - aussi avec Stil 512...

MfG

Sebastian
 
Windows XP, XProfan/Profan² 4.5 bis 11
Profan2Cpp-Homepage:  [...] 
Alte Profan²-Seite:  [...] 
28.06.2006  
 




Nico
Madysa
OK, merci pour qui Aider!
 
Nico Madysa
29.06.2006  
 



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

899 Views

Untitledvor 0 min.
Georg16.01.2021
H.Brill09.02.2019
ByteAttack01.11.2015
holmol9313.06.2013

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