Source/ Codesnippets | | | | - page 1 - |
| | SubClassProc Minuteur - sichere KompilierenMarqueSéparation $H windows.ph
WINDOWSTYLE 80 | 512 | 1024
WINDOW %MAXX,%MAXY - 0,0
SHOWWINDOW(%HWND,0)
WINDOWSTYLE 1 | 2 | 4 | 8 | 16 | 512
var HMYWND&=(CREATE("WINDOW",(0),"Zuckertest 3.0",(100),(100),(200),(350)))
var HPIC&=CREATE("hNewPic",64,64,$FFFFAA)
var HDSK&=CREATE("text",HMYWND&,"",0,0,$FFFF,$FFFF)
var HSTATBAR&=CREATE("statusWindow",HMYWND&,"Bereit.")
USERMESSAGES $0010,$0014
MYWND.RESIZING()
SUBCLASS HMYWND&,1
~SetClassLongA(HMYWND&,-12,~LoadCursorA(0,32512))
~SetTimer(HMYWND&,55100,100,0)
~SetTimer(HMYWND&,55101,500,0)
WHILE 1
WAITINPUT
SELECT %UMESSAGE
CASEOF $0010
SELECT %MWND
CASEOF HMYWND&
BREAK
ENDSELECT
ENDSELECT
ENDWHILE
~KillTimer(HMYWND&,55100)
~KillTimer(HMYWND&,55101)
end
SUBCLASSPROC
SELECT &SWND
CASEOF HMYWND&
SELECT %SMESSAGE
CASEOF 532,$0005
MYWND.RESIZING()
CASEOF $0113
SELECT &SWPARAM
CASEOF 55100
DEMO(1)
CASEOF 55101
DEMO(2)
ENDSELECT
ENDSELECT
ENDSELECT
endproc
proc MYWND.RESIZING
SETWINDOWPOS HSTATBAR&=0,0 - 0,0
DEMO(1)
DEMO(2)
endproc
proc DEMO
PARAMETERS MODE&
SELECT MODE&
CASEOF 1
STARTPAINT HMYWND&
USEPEN 0,0,RND($FFFFFF)
LINE 10,10 - 200,43
ENDPAINT
CASEOF 2
STARTPAINT HMYWND&
TEXTCOLOR RND($FFFFFF),~GetSysColor(15)
DRAWTEXT 10,10,&GETTICKCOUNT
ENDPAINT
ENDSELECT
endproc
KompilierenMarqueSéparation {$cleq}
style de fenêtre 80 | 512 | 1024
window maxx,maxy - 0,0
showWindow(hWnd,faux)
style de fenêtre 1 | 2 | 4 | 8 | 16 | 512
long hMyWnd=createWindow(,"Zuckertest 3.0",100,100,200,350),
hPic=create("hNewPic",64,64,$FFFFAA),
hDsk=create("text",hMyWnd,»,,,$FFFF,$FFFF),
hStatBar=create("statusWindow",hmyWnd,"Bereit.")
messages de l'utilisateur wm_close,wm_erasebkgnd
myWnd.resizing()
setClassLong(hMyWnd,gcl_hcursor,loadCursor(,IDC_ARROW))
subClass hMyWnd,vrai
~setTimer(hMyWnd,55100,100,)
~setTimer(hMyWnd,55101,500,)
do {
waitInput
sélectionner uMessage
caseof wm_close
sélectionner mWnd
caseof hMyWnd
pause
EndSelect
EndSelect
}
~killTimer(hMyWnd,55100)
~killTimer(hMyWnd,55101)
end
subClassProc {
sélectionner sWnd
caseof hMyWnd
sélectionner sMessage
caseof wm_sizing,wm_size
myWnd.resizing()
caseof wm_timer
sélectionner sWParam
caseof 55100:demo(1)
caseof 55101:demo(2)
EndSelect
EndSelect
EndSelect
}
myWnd.resizing{
setWindowPos hStatBar=0,0 - 0,0
demo(1)
demo(2)
}
demo(long mode){
sélectionner mode
caseof 1
startPaint hMyWnd
usePen 0,,rnd($FFFFFF)
line 10,10 - 200,43
endPaint
caseof 2
startPaint hMyWnd
textColor rnd($FFFFFF),getSysColor(15)
drawText 10,10,getTickCount
endPaint
EndSelect
}
|
| | | | |
| | | | | - page 1 - |
| | Nö, ist völlig korrekt avec XPSE.
la fenêtre soll sur 0 erstellt volonté (oberste plaine) avec cela es aussi sûrement dans qui Tastkbar landet - et qui paramètre entre ,, peux seulement 0 son. cela klappt mais seulement derrière Klammern et entre Kommas...
XPSE traduit es doch aussi korrekt, ou bien?
tu peux avec XPSE écrivons: KompilierenMarqueSéparation et qui ausgekommaten 4 paramètre sommes arrêt 0... (sichert mais aussi seulement, cela - si dans qui Zielfunktion aucun pCount-Prüfung incorporé ist - qui übergebenen paramètre aussi wirklich 0 sommes) |
| | | | |
| | | Frank Abbing
quoi oui c'est ca soll qui Code manifester?
avec cela peux on sicheres threadähnliches Verhalten Programmieren, bzw. ist es hierfür une simplification.
Blockierende Apis peut avec cela naturellement pas überrumpelt volonté. |
| | | | |
| | Jörg Sellmeyer | si Je l' zweien Code comme prf-Dossier per Drag & Drop sur XPSE ziehe erhalte je cette Code: KompilierenMarqueSéparation
proc __xpse__endofprogram__
REM {{SOMEEXTRAENDCOMMAND}}
end
endproc
DECLARE __cf1&,__cf2&,__cf3&,__cf4&,__cf5&
Def __cf1(2) !"KERNEL32","GetProcAddress"
Def __cf2(1) !"KERNEL32","GetModuleHandleA"
__cf1&=__cf1(__cf2("user32.dll"),"SetClassLongA")
__cf2&=__cf1(__cf2("user32.dll"),"LoadCursorA")
__cf3&=__cf1(__cf2("user32.dll"),"SetTimer")
__cf4&=__cf1(__cf2("user32.dll"),"KillTimer")
__cf5&=__cf1(__cf2("user32.dll"),"GetSysColor")
WINDOWSTYLE 80 | 512 | 1024
WINDOW %MAXX,%MAXY - 0,0
SHOWWINDOW(%HWND,0)
WINDOWSTYLE 1 | 2 | 4 | 8 | 16 | 512
var HMYWND&=(CREATE("WINDOW",(),"Zuckertest 3.0",(100),(100),(200),(350)))
!!!!!
var HPIC&=CREATE("hNewPic",64,64,$FFFFAA)
var HDSK&=CREATE("text",HMYWND&,"",,,$FFFF,$FFFF)
!!!!!
var HSTATBAR&=CREATE("statusWindow",HMYWND&,"Bereit.")
USERMESSAGES $0010,$0014
MYWND.RESIZING()
call(__cf1&,HMYWND&,-12,call(__cf2&,,32512))
SUBCLASS HMYWND&,1
call(__cf3&,HMYWND&,55100,100,)
call(__cf3&,HMYWND&,55101,500,)
WHILE 1
WAITINPUT
SELECT %UMESSAGE
CASEOF $0010
SELECT %MWND
CASEOF HMYWND&
BREAK
ENDSELECT
ENDSELECT
ENDWHILE
call(__cf4&,HMYWND&,55100)
call(__cf4&,HMYWND&,55101)
__xpse__endofprogram__
proc SUBCLASSPROC
SELECT SWND
CASEOF HMYWND&
SELECT SMESSAGE
CASEOF 532,$0005
MYWND.RESIZING()
CASEOF $0113
SELECT SWPARAM
CASEOF 55100
DEMO(1)
CASEOF 55101
DEMO(2)
ENDSELECT
ENDSELECT
ENDSELECT
endproc
proc MYWND.RESIZING
SETWINDOWPOS HSTATBAR&=0,0 - 0,0
DEMO(1)
DEMO(2)
endproc
proc DEMO
PARAMETERS MODE&
SELECT MODE&
CASEOF 1
STARTPAINT HMYWND&
USEPEN 0,,RND($FFFFFF)
!!!!!
LINE 10,10 - 200,43
ENDPAINT
CASEOF 2
STARTPAINT HMYWND&
TEXTCOLOR RND($FFFFFF),call(__cf5&,15)
DRAWTEXT 10,10,&GETTICKCOUNT
ENDPAINT
ENDSELECT
endproc
__xpse__endofprogram__
|
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 31.08.2008 ▲ |
| |
| | | Ähä, qui neuste XPSE (mais hierbei aussi déjà un XPSE qui deutlich älter son peux) gibt mais folgenden Code KompilierenMarqueSéparation
proc __xpse__endofprogram__
PARAMETERS exitcode&
REM {{SOMEEXTRAENDCOMMAND}}
case %pcount=1 : end exitcode&
end
endproc
DECLARE __cf1&,__cf2&,__cf3&,__cf4&,__cf5&
Def __cf1(2) !"KERNEL32","GetProcAddress"
Def __cf2(1) !"KERNEL32","GetModuleHandleA"
__cf1&=__cf1(__cf2("user32.dll"),"SetClassLongA")
__cf2&=__cf1(__cf2("user32.dll"),"LoadCursorA")
__cf3&=__cf1(__cf2("user32.dll"),"SetTimer")
__cf4&=__cf1(__cf2("user32.dll"),"KillTimer")
__cf5&=__cf1(__cf2("user32.dll"),"GetSysColor")
WINDOWSTYLE 80 | 512 | 1024
WINDOW %MAXX,%MAXY - 0,0
SHOWWINDOW(%HWND,0)
WINDOWSTYLE 1 | 2 | 4 | 8 | 16 | 512
!!!!!
var HMYWND&=(CREATE("WINDOW",(0),"Zuckertest 3.0",(100),(100),(200),(350)))
var HPIC&=CREATE("hNewPic",64,64,$FFFFAA)
var HDSK&=CREATE("text",HMYWND&,"",0,0,$FFFF,$FFFF)
!!!!!
var HSTATBAR&=CREATE("statusWindow",HMYWND&,"Bereit.")
USERMESSAGES $0010,$0014
MYWND.RESIZING(à class=s2>)
...
Im Moment tippe je encore puis cela Du vlt. une doch déjà dans qui Monate gekommenen XPSE benutzt!?? |
| | | | |
| | | | - page 2 - |
| | Jörg Sellmeyer | Im Moment bekomme je cela trop voyons, si je XPSE starte:
Gestern runtergeladen.
[offtopic]cela Feature avec dem Dateibrowser, si je dans cela champ "Datei à Beitrag anhängen" klicke, ist oui entier gentil. maintenant peux je mais nix plus per Tasttatur ou bien Strg + V eingeben. [/offtopic] |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 31.08.2008 ▲ |
| |
| | | qui Dialog ist aussi normal - venez chez chacun (zunächst fremden) Dossier si cela Windows-Dateisystem qui Dossier pas comme "eigene" erkennt - hat avec xpse selbst mais rien trop 1faire. qui XPSE-Version bekommst Du heraus si Du XPSE simple la fois avec Programme, ou bien im CMD startest.
[offtopic] Jörg Sellmeyercela Feature avec dem Dateibrowser, si je dans cela champ "Datei à Beitrag anhängen" klicke, ist oui entier gentil. maintenant peux je mais nix plus per Tasttatur ou bien Strg + V eingeben. c'est aucun meiner Erfindungen mais une des FireFox - là habe je keinen Einfluss sur elle. FireFox "tut maintenant so" um es Angriffen - comment z.B. unerwünschtes Envoyer par "scripts" - schwieriger trop faire. je find aussi tant pis cela avec cela z.B. un Strg+V seulement encore allez sur "Durchsuchen" -> Strg+V -> {enter} [/offtopic] |
| | | | |
| | Jörg Sellmeyer | si XProfan que voici kennt: var HMYWND&=(CREATE("WINDOW",(0),"Zuckertest 3.0",(100),(100),(200),(350))) ,ensuite ist cela sur jeden le cas à mir vorbeigegangen. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 31.08.2008 ▲ |
| |
| | | NULL comme Parent-Handle hat imho rien avec XProfan trop 1faire, et naturellement weiss Windows oui c'est ca quoi je avec cela mon et reagiert aussi korrekt indem es cela la fenêtre sur 0 (racine) erstellt. quoi Spricht vers NULL comme Fensterparent? |
| | | | |
| | Jörg Sellmeyer | Ah, si cela so ist. mon XPSE-Version était réellement quelque chose vieilli. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 31.08.2008 ▲ |
| |
| | | Besonders chez XPSE peux je seulement toujours wieder anmerken cela wirklich ne...aucune Update übergangen volonté sollte... |
| | | | |
| | Stefan M. Caillet | allô iF, si du cela maintenant aussi encore so hinbekommst, dass es aussi ausserhalb des waitinputs fonctionne, la hâte du den Ersatz pour qui MSX-Interval Inc. Gruss Stefan |
| | | Ich habe grosses Glück, weil ich Mitmenschen helfen darf. Entwicklungsumgebung: XProfan11 , Win XP Pro 32Bit , Win XP Home ,Win7 HomePremium 64Bit PC: P4/3GHz , 2GB RAM , 1700GB HD Laptop: Intel Core 2 Duo /2,2GHz , 4GB RAM , 500GB HD | 13.11.2008 ▲ |
| |
| | | exposition la fois, encore einfacher comme qui msx-interval.inc ist qui thread-unit [...] , beide mettons sur qui settimer-api sur.
Im Unterschied seulement zur msx-interval.inc ist qui thread-unit bestückt avec quelque chose Sicherheit et Bedienungsanleitung verteilt sur Threads, mais aussi cet beiden Dinge peut qui Absturzgefahr seulement vermindern.
ProcAddr ist momentan pour Enumerationsapis vorgesehen. Es pour setTimer trop verwenden, et encore ausserhalb des Waitinput, peux toujours crashen, solange XProfan cela (encore) pas explizit handhaben peux.
exposition, selbst Rolands Implementation des SubClassings funktioniert seulement im WaitInput.
Irgendwann wird Roland là ran doit. |
| | | | |
|
Zum QuelltextOptions du sujet | 11.345 Views |
Themeninformationencet Thema hat 5 participant: |