!encore deux questions

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

!encore deux questions

Message par gansta93 »

Bonjour,

Comme je le dis, j'ai deux questions:
1. Comment pourais-je créer un écran de veille avec possibilité de paramaîtrage après quand je suis dans la liste des écrans de veilles mais aussi pour qu'il s'anclanche bien :-). j'ai entendu parlé d'un /p, mais je ne comprand pas très bien comment faire tout ça.
2. Est-il possible de créer un fichier pour le panneau de configuration (.cpl) avec PB?
Suremant que oui, mais comment?

Merci.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

voici le squelette d'ecran de veille que j'utilise
avec utilisation d'un boite de dialogue pour le parametrage
si le gars ne rentre pas "dobro" le screen saver fait une action (surimpression par exemple)
juste un flag pour activer ou suprimer une surimpression (pas presente dans le listing !), mais j'ai laisse le flag

au debut en rem tu as l'explication des parametres ici avec une boite de dialogue je n'utilise que "/c" !! :)



Code : Tout sélectionner

; 
; ici les initialisations des variables et tableaux 
;"/s" pour le lancer
;"/c:" + un nombre pour le faire Paramétrer
;"/p", espace, et un nombre qd son nom est simplement séletionné dans la boîte des propriétés du bureau

;Sinon, un truc tout con:
;Code:

;OpenConsole()
;p$=ProgramParameter()
;While p$
;    PrintN(p$)
;    p$=ProgramParameter()
;Wend
;Input()
 
;
Enumeration
    #Window_0
EndEnumeration

;- Gadget Constants
;
Enumeration
    #code
    #Text_0
EndEnumeration
Procedure Open_Window_0()
    If OpenWindow(#Window_0, 293, 129, 249, 109,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "config")
        If CreateGadgetList(WindowID())
            StringGadget(#code, 40, 50, 170, 30, "", #PB_String_Password)
            TextGadget(#Text_0, 10, 20, 90, 20, "ENTREZ le Code")
        EndIf
    EndIf
EndProcedure




#Police=1
;*********** pour le screensaver
Param.s = Left(ProgramParameter(), 2)
If Param = "/p"
    End
EndIf

If Param = "/c" :;l'utilisateur veut paramettrer le screensaver !
    Open_Window_0():; jouvre ma fenetre ( cree a partir de visual designer)
    Repeat
        Texte$ = GetGadgetText(#code):;je recupere le contenu de ma boite de config
        If Texte$="dobro":;si le gars tappe le code "dobro"
            dobro=1:; c'est bon on affiche pas la surimpression
            code$="ok":;on se prepare a ecrire le mot "ok" dans un fichier
            Resultat = OpenFile(1, "matrix.ini") :;on cree le fichier
            WriteStringN(code$) :; on ecrit dedans "ok"
            CloseFile(1)
        Else
            dobro=0:; la le mec a pas rentré le bon code
        EndIf
    Until WindowEvent() = #PB_Event_CloseWindow :; le gars a fermé la boite de config
EndIf

GetCursorPos_(SourisOrigine.POINT)
ShowCursor_(0)
; ***********************************
Resultat = InitSprite()
FontID = LoadFont(#Police, "arial", 18, #PB_Font_Bold )
EcranX = GetSystemMetrics_(#SM_CXSCREEN)
EcranY = GetSystemMetrics_(#SM_CYSCREEN)

If ReadFile(1, "matrix.ini"):;en temps normal on commence par regarder si le screen saver est enregistré
    code$ = ReadString() :; on lit le contenu de "matrix.ini"
    CloseFile(1)
EndIf
 
If code$="ok":; bon le gars est enregistré
    dobro=1:; ce flag va retirer la surimpression
Else
    dobro=0:; il n'est pas enregistrer donc on affiche la surimpression
EndIf
;************ c'est tout pour le parametrage du screen saver



GetCursorPos_(SourisOrigine.POINT)
ShowCursor_(0)
; ***********************************
Resultat = InitSprite()
Resultat = InitSprite3D() 
FontID = LoadFont(#Police, "system", 18, #PB_Font_Bold )
EcranX = GetSystemMetrics_(#SM_CXSCREEN)
EcranY = GetSystemMetrics_(#SM_CYSCREEN)
;NbSprite = EcranX / 40 * 3
NbSprite =12
OpenWindow(1, 0, 0, EcranX, EcranY, #PB_Window_BorderLess | #PB_Window_Invisible, "Dos 3.10")
SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE) ; fenêtre toujours au premier plan
OpenWindowedScreen(WindowID(), 0, 0, EcranX, EcranY, 1, 0, 0)

; faire ici les initialisations du pre affichage





Repeat :;boucle principale
   
    
    
    
    
    
    
    FlipBuffers():;affichage
    ClearScreen(0,0,0):; eface l'ecran pour image suivante
    
    GetCursorPos_(Souris.POINT):; test le curseur de la souris
Until WindowEvent() = #PB_Event_CloseWindow Or Souris\x <> SourisOrigine\x Or Souris\y <> SourisOrigine\y
ShowCursor_(1)
:)
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

re,

En gros:
/C pour la configuration
/S pour le lencer,
/P quand il est sélectionné?
En fait on peut lui faire faire quelque chose lorsqu'il est sélectionné ou lorsqu'il s'arête?
Bon quand on fait configurer c le /p mais pour les deux autres je ne suis pas sur.
Peux-tu m'éclairer un peu plus ou me dire si j'ai bien compris?

Merci...
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

re,

Après des testes qui se sont révèlés fructueux, j'ai réussi à conmprendre comment tout cela marchait.
Encore merci :-).

Sinon... pour mon module de panneau de config est -ce quelqu'un sait?

Merci d'avance.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Personne ne sait?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ben moi les *.cpl je sais pas trop ce que c'est !!!
ça a l'air d'etre des programmes mais si on change l'extention ça plante
en disant que c'est pas des apli win 32 !! alors je sais pas , pis je vois pas trop l'interet de la chose !! ? 8O , pourquoi veut tu savoir ça au juste ?
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Dobro a écrit :ben moi les *.cpl je sais pas trop ce que c'est !!!
ça a l'air d'etre des programmes mais si on change l'extention ça plante
en disant que c'est pas des apli win 32 !! alors je sais pas , pis je vois pas trop l'interet de la chose !! ? 8O , pourquoi veut tu savoir ça au juste ?
Ce sont des modules du panneau de configuration. Il suffit dee mettre certaines info dans le programme qui font que WINDOWS, lorsque le fichier est dans le répertoir system, sait comment il doit le nommer et les info qu'il doit mettre dessus.
Je voudrait faire un module pour par exemple faire des optimisation dans WINDOWS comme font les Tweakui de Microsoft.
Répondre