Deutsch
Forum

kleines Menu-Problem

 

Walter
Köhler
Da rauf ich mir die Haare, seh aber den Wald vor lauter Bäumen immnoch nicht.
Mein Problem:
Eine Choicebox im HWnd, ein Button im HWnd. Bei Klick auf das Button soll der
gewählte Eintrag der Choicebox ausgewertet werden.

Eigentlich problemlos aber:
Wenn ich zusätzlich ein Menueitem einbaue (und sowas ist doch standard) braucht es 2 Klicks! auf den Button, weil erst das Handle zurück muss.

So soll das natürlich nicht sein, Also
Wat mach ich denn da falsch??

CU
WKS

2 kB
Hochgeladen:09.06.2008
Ladeanzahl181
Herunterladen
 
WKS Win XP Xprofan 10 AMD 1.6GHz 1GB Ram
09.06.2008  
 




Walter
Köhler
mit @Clicked gehts übrigends erst recht nicht, das wird bei vorhandenem

elseif %Menuitem gar nicht mehr erkannt.
Habe in der Hilfe bisher keine Einschränkungen oder Hinweise oder Erklärungen gesehen.
WKS
 
WKS Win XP Xprofan 10 AMD 1.6GHz 1GB Ram
09.06.2008  
 




Walter
Köhler
Manchmal reicht es schon ein Problem Anderen mitzuteilen; und plötzlich kommt die Lösung durch Spielen von aleine.

elseif @menuitem(110)
test2

anstelle von

elseif %menuitem
case menuitem(110)

jetzt sieht das ok aus.

trotzdem Danke
WKS
 
WKS Win XP Xprofan 10 AMD 1.6GHz 1GB Ram
09.06.2008  
 



noch besser ist eine selectStruktur alÃ
KompilierenMarkierenSeparieren
declare mItem%
waitInput
mItem%=abs(%menuItem)//erstmal sichern damit Wert nicht verloren gehen kann durch andere Ops

if mItem%

    select mItem%

        caseof 0:

        caseof 1000:brub

        otherWise

    endSelect

    setMenuItem 0//besser auf 0 setzen

endif

 
09.06.2008  
 




Walter
Köhler
Tut mir Leid, aber dein Vorschlag gefällt mir gar nicht.
mItem%=abs(%menuItem) macht schon mal eine Division / 0, und stirbt daher

cu WKS
 
WKS Win XP Xprofan 10 AMD 1.6GHz 1GB Ram
09.06.2008  
 




Jörg
Sellmeyer
Ich könnte mir gar kein Szenario vorstellen, bei dem Abs eine Division durch Null macht.
Davids Vorschlag ist schon sehr gut.
Du kannst ersatzweise auch direkt Select %menuItem benutzen, mußt dann aber immer testen, ob es ein negativer Wert ist, da z.B. Buttons ihre negative ID als MenuItem zurückgeben.

Ansonsten probier mal:
KompilierenMarkierenSeparieren
Print Abs(1)
Print Abs(0)
Print Abs(-1)

Wenns da irgendwo knallt, hätte Roland ein echtes Problem aber etwas qualitativ Anderes kann auch bei mItem%=abs(%menuItem) nicht rauskommen.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
09.06.2008  
 




Walter
Köhler
probier es selbst, habe im Source die Version von David eingebunden.
WKS

2 kB
Hochgeladen:09.06.2008
Ladeanzahl178
Herunterladen
 
WKS Win XP Xprofan 10 AMD 1.6GHz 1GB Ram
09.06.2008  
 



Der Fehler liegt im REM nach //-Syntax, das kann X11 aber X10 noch nicht, sei denn, Du nutzt xpse (dann gehts immer).

Ersetze also mein //-Rem in ein -Rem und die Sache wird gut. ;)

Bei Abs(%menuItem) wird nichts durch 0 dividiert.
 
09.06.2008  
 




Jörg
Sellmeyer
Naja, wenn Du da solche Leichen rumliegen hast, darfst Du Dich nicht wundern, wenns stinkt
KompilierenMarkierenSeparieren
Ah - die Leiche war natürlich von David!!
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
09.06.2008  
 




Walter
Köhler
schon gut schon gut.!

Habe mich ja selbst stark gewundert, aber nicht damit gerechnet das ein // nicht als REM anerkannt wird. Sorry, aber ich habe xprofan 10 erst seit ein paar Tagen.

Bin sehr gespannt ob mein zweites Problem (und das ist viel wichtiger) gelöst werden kann.

Hier ist jedenfalls Ende, alles wird gut.

cu WKS
 
WKS Win XP Xprofan 10 AMD 1.6GHz 1GB Ram
09.06.2008  
 




RGH
Wenn Du das Hauptprogramm so anpaßt, geht es:
KompilierenMarkierenSeparieren
Was habe ich geändert? Zunächst habe ich Clicked() statt getFocus() verwandt. Und außerdem vor menuitem(110) das Case durch ein ElseIf ersetzt. So wie es da stand, konnte es nicht funktionieren.

Gru0
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
09.06.2008  
 




RGH
Walter Köhler
Habe mich ja selbst stark gewundert, aber nicht damit gerechnet das ein // nicht als REM anerkannt wird.


In XProfan 11 wirkt // wie ein (REM)

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
09.06.2008  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

8.068 Betrachtungen

Unbenanntvor 0 min.
H.Brill14.09.2022
Georg Teles10.03.2018
Peter Max Müller13.11.2017
Heltal25.07.2014
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie