Registre

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
aliong
Messages : 44
Inscription : lun. 12/avr./2010 22:17

Registre

Message par aliong »

Bonsoir,
je commence tout juste la prog avec pure basic, je cherche a écrire une clef dans la base de registre. j'ai trouvé plusieurs lib qui le permettent apparemment seulement à partir de la version 4.40 il manquerait d'autre lib StringExtension. les lib que j'essaie d'utiliser sont : PBOSL et RegIni les deux me donne la même erreur (StringExtension).
quelqu'un aurait la solution à se problème ?
par avance merci et bonne prog a tous !
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Registre

Message par Ar-S »

Bonsoir,

As tu la version de demo de Pb ou pas ? si tu ne l'as pas, les lib que j'utilise se servent d'API windows, ce qui est in-interprétable par la version demo de PB.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Registre

Message par Backup »

.....................
Dernière modification par Backup le sam. 19/mars/2011 17:50, modifié 2 fois.
aliong
Messages : 44
Inscription : lun. 12/avr./2010 22:17

Re: Registre

Message par aliong »

bonsoir
étant passionné par la prog depuis des année j'ai cracker et acheter directement la licence de purebasic donc je suis en version complète ! :) j'ai trouvé une réponse qui utilise l'api windows ! en faite j'étais déjà tombé dessus mais je n'avais pas vraiment fait attention à toutes les réponses ! Comptois donne une bonne solution ici : http://www.developpez.net/forums/d59044 ... -registre/

par contre je suis quand même intéresse si c'est possible pour utiliser les lib pbosl et reg_ini sur la v 4.4
merci pour ta rapidité de reponse ! :)
aliong
Messages : 44
Inscription : lun. 12/avr./2010 22:17

Re: Registre

Message par aliong »

merci Dobro c'est l'api windows comme l'exemple de mon lien . par contre pour cette erreur StringExtension c'est du a quoi ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Registre

Message par Backup »

aliong a écrit : par contre pour cette erreur StringExtension c'est du a quoi ?
quel erreur ? 8O sur quel code ?
aliong
Messages : 44
Inscription : lun. 12/avr./2010 22:17

Re: Registre

Message par aliong »

lorsque je veux tester PBOSL l'exemple NTService (creation de services):
j'ai une erreur a la compi qui me dis StringExtension manquant ...

Code : Tout sélectionner

Procedure MyFunction()
If OpenWindow(0, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  Repeat
    EventID.l = WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow  ; 
      Quit = 1
    EndIf
 Until Quit = 1
EndIf
EndProcedure

Procedure NTNotify(Parameter)
Select  Parameter
 Case 1
  MessageRequester("Info","Service is stopped",0)
 Case 2
  MessageRequester("Info","Service is paused",0)
 Case 3 
  MessageRequester("Info","Service is resumed",0)
EndSelect
EndProcedure


Procedure.s GetExeName()
  sApp.s=Space(256)
  GetModuleFileName_(GetModuleHandle_(0), @sApp, 256)
  ProcedureReturn sApp
EndProcedure

ServiceName.s = "MyService"
C.s=LCase(ProgramParameter())
If C.s="/?" Or c.s="/h" 
 MessageRequester("Info","NT-Services the easy way",0)
 End
EndIf
If C.s="/install"
 DisplayName.s = "NT Service Example by Rings" ;The name displayed in the SCM And sent To functions query its display name
 PathToServiceEXE.s  = GetExeName(); Full path to the service, it can be anywhere you wish.
 ; start types
 #SERVICE_BOOT_START     = $00000000
 #SERVICE_SYSTEM_START   = $00000001
 #SERVICE_AUTO_START     = $00000002
 #SERVICE_DEMAND_START   = $00000003
 #SERVICE_DISABLED       = $00000004
 Installservice(ServiceName,DisplayName,PathToServiceEXE,"hallo ein bsps",#SERVICE_AUTO_START)
 End
EndIf 
If C.s="/remove"
 RemoveService(ServiceName)
 End
EndIf 
;NTService(ServiceName.s,@MyFunction())
Service(ServiceName.s,@MyFunction(),@NTNotify()) ;the Notify is optional

Dernière modification par aliong le lun. 12/avr./2010 23:07, modifié 1 fois.
aliong
Messages : 44
Inscription : lun. 12/avr./2010 22:17

Re: Registre

Message par aliong »

et meme erreur avec la lib pour la base de registre RegINI code test :

Code : Tout sélectionner

curdir.s=Space(256)
GetCurrentDirectory_(256,@curdir)
If Right(curdir,1)<>"\":curdir+"\":EndIf

inifile$=curdir+"Testfile.ini"



;-Set Get INI File
If SetIniKey("Data","Key1","99",inifile$)
  MessageRequester("Done","Value written to INI",0)
EndIf

value$=GetIniKey("Data","Key1","xxx",inifile$)
MessageRequester("","INI value returned was: "+value$,0)








;-Set Registry Key
If SetRegKey(#HKEY_LOCAL_MACHINE,"SOFTWARE\TestKey","MyKey","Test")
  MessageRequester("Done","Value written to Registry",0)
EndIf

;-Get Value of Registry Key
value$=GetRegKey(#HKEY_LOCAL_MACHINE,"SOFTWARE\TestKey","MyKey")
MessageRequester("","Registry value returned was: "+value$,0)



;-Get Key and Value Pairs from Registry
Repeat 
  result$=ListRegKey(#HKEY_LOCAL_MACHINE,"SOFTWARE\TestKey",idx)
  Debug result$
  idx+1
Until result$=""



;-Delete Key and Value from Registry
If DeleteRegKey(#HKEY_LOCAL_MACHINE,"SOFTWARE\TestKey","MyKey")
  MessageRequester("","Registry Key and Value have been Deleted",0)
EndIf

;-Remove Key Registry
If RemoveRegKey(#HKEY_LOCAL_MACHINE,"SOFTWARE\TestKey")
  MessageRequester("","Registry Key has been Removed",0)
EndIf

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

Re: Registre

Message par Backup »

a oui ta question du debut !! :lol:

ben je sais pas , ça peut venir d'une mauvaise installation d'une lib
(bien mettre ta lib dans le dossier \PureLibraries\UserLibraries )
et peut etre que la lib que tu utilise n'as pas ete compilé pour la V 4.41 ....
cette incompatibilité peut creer un plantage de ce genre :)
aliong
Messages : 44
Inscription : lun. 12/avr./2010 22:17

Re: Registre

Message par aliong »

Dobro a écrit :a oui ta question du debut !! :lol:

ben je sais pas , ça peut venir d'une mauvaise installation d'une lib
(bien mettre ta lib dans le dossier \PureLibraries\UserLibraries )
et peut etre que la lib que tu utilise n'as pas ete compilé pour la V 4.41 ....
cette incompatibilité peut creer un plantage de ce genre :)
ok merci bien pour toutes tes réponses en tout cas j'ai testé ton code c'est parfait ! :)
bonne continuation à bientôt ;)
Répondre