FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF_dll - nouvelles versions
par pascal10000 Aujourd'hui à 13:15

» Casse-tête : Echanger les positions des cavaliers
par jean_debord Aujourd'hui à 10:21

» demande pour recuperer un text speciale
par silverman Hier à 23:00

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

» Déterminer le Handle de l’objet ayant le focus
par papydall Dim 16 Juil 2017 - 3:15

» Déterminer le HANDLE du Bureau
par papydall Dim 16 Juil 2017 - 1:59

» Généralisation de a fonction OBJECT_INTERNAL
par Klaus Dim 16 Juil 2017 - 1:10

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 Début des fonctions de gestion du registre

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Klaus

avatar

Nombre de messages : 10061
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 2:43

KGF.dll passe à la version V1.60. Ajout de la fonction ReadRegistryKey.

Cette fonction lit la donnée associée au triplet (ruche, clé, valeur). Cette donnée peut être numérique ou texte. Le format binaire et le format inconnu ne sont pas gérés.

Cette fonction peut également servir à tester l'existence d'une clé, car elle retourne O si la clé est trouvée et la donnée est reconnue, ou 1 dans le cas contraire.

Le format d'appel est le suivant:
Code:
res% = dll_call4("ReadRegistryKey",root%,adr(cle$),adr(valeur$),adr(donnee$))
avec root% étant l'identification de la ruche:
1 = HKEY_CLASSES_ROOT;
2 = HKEY_CURRENT_CONFIG;
3 = HKEY_CURRENT_USER;
4 = HKEY_LOCAL_MACHINE;
5 = HKEY_USERS;

La doc est mise à jour dans tous les formats.

Voici un petit programme de démo. Lancez-le et cliquez sur "Lire" directement - les paramètres sont préchargés avec des valeurs qui devraient être valides partout.
Code:
' test_ReadRegistryKey.bas

' ce programme permet lire une valeur d'une clé quelconque dans l registre.


label lire

dim res%, cle$, donnee$, valeur$, root%

combo 20 : top 20,10 : left 20,20 : width 20,200
  item_add 20,"HKEY_CLASSES_ROOT"
  item_add 20,"HKEY_CURRENT_CONFIG"
  item_add 20,"HKEY_CURRENT_USER"
  item_add 20,"HKEY_LOCAL_MACHINE"
  item_add 20,"HKEY_USERS"
  text 20,item_read$(20,3)
root% = 3


alpha 1 : top 1,40 : left 1,10 : caption 1,"Clé:"
edit 2 : top 2,40 : left 2,50 : width 2,400

alpha 3 : top 3,70 : left 3,10 : caption 3,"Nom:"
edit 4 : top 4,70 : left 4,50 : width 4,400

button 10 : top 10,100 : left 10,50
  caption 10,"Lire" : on_click 10,lire

alpha 5 : top 5,130 : left 5,10 : caption 5,"Valeur:"
edit 6 : top 6,130 : left 6,50 : width 6,400
alpha 11 : top 11,160 : left 11,50

dll_on "KGF.dll"

text 2,"Software\Microsoft\Windows\CurrentVersion\Internet Settings"
text 4,"User Agent"
end

lire:
  cle$ = trim$(text$(2))
  valeur$ = trim$(text$(4))
  donnee$ = string$(255," ")
  if item_index(20)>0 then root% = item_index(20)
  res% = dll_call4("ReadRegistryKey",root%,adr(cle$),adr(valeur$),adr(donnee$))
  text 6,trim$(donnee$)
  if res%=0
    caption 11,"Ok"
  else
    caption 11,"Erreur - clé inexistante"
  end_if
  return
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Sep 2012 - 12:32

Petit souci avec "GetShortName"

Je ne savais plus où mettre ce post du coup il est là
j'ai un souci avec cette fonction de KGF ( pas dans cette version mais la 1.58
je ne suis pas encore à jours, tu vas trop vite ! Laughing ).
Le code est sur mon Webdav ( Panoramic 2\NPP.zip )
pour ne pas trop pollué ce sujet... Embarassed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10061
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 12:38

Regarde mon programme de démo:
Code:
' test_GetShortName.bas

  label chercher
 
  dim res%, nom_long$, nom_court$
 
  open_dialog 1
 
  button 2 : top 2,10 : left 2,10 : width 2,200
  caption 2,"Chercher un fichier"
      on_click 2,chercher

  dll_on "KGF.dll"
  end
 
chercher:
  nom_long$ = file_name$(1)
  if nom_long$="_" then return
  nom_court$ = string$(255," ")
  res% = dll_call2("GetShortName",adr(nom_long$),adr(nom_court$))
  if res%>0
    message "Erreur en conversion"
  else
    nom_court$ = trim$(nom_court$)
    message nom_long$+chr$(13)+chr$(10)+"devient"+chr$(13)+chr$(10)+nom_court$
  end_if
  return
 
 

Le l'ai réexécuté pour vérifier - il marche bien et donne le bon résultat. Peux-tu t'inspirer de ce core ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Sep 2012 - 12:46

GRRrrrr ! je dois avoir de la M... dans les yeux ce matin, j'avais sauté une ligne pale
Embarassed Désolé....


Je vais me mettre à jour ! Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5840
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 12:47

Merci Klaus pour cette nouvelle possibilité. Bon, je n'ai pas l'usage tout de suite, par rapport à ce que je veux faire, mais il est certain que cela peut être utile et pour de nombreuses choses.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10061
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 12:56

@Ygeronimi:
Ce n'est pas grave. Cela m'arrive aussi.

@Jicehel:
Je suis en train de mettre au point des fonctions de mise a jour des données, de création de clés et de valeurs et de leur suppression. Mais c'est évidemment beaucoup plus délicat. On pourrait utiliser ces fonctions, non seulement pour aller chercher la valeur de certains paramètres système, mais également mémoriser des paramètres de configuration, par exemple (numéro de licence, durée pour un shareware, dossier racine pour une application, ...). Les utilisations sont infinies !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Sep 2012 - 13:58

Je vais regarder de près ces nouvelles possibilités
car pour les langues çà peut être un truc pour faire
un logiciel intelligent qui prend la langue de l'utilisateur
(ndlr celle de l'ordi ) comme langue par défaut.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Sep 2012 - 15:26

Peux tu m'indiquer comment récupérer le pays avec ta dll
à partir de çà :
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10061
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 15:37

C'est très simple. Ton image donne clairement:
- la ruche: HKEY_CURRENT_USER
- la clé: Control Panel\International
- la valeur: sCountry
La donnée recherchée est "France"

Voici mon petit programme de démo modifié pour proposer directement les bonnes valeurs:
Code:
' test_ReadRegistryKey.bas

' ce programme permet lire une valeur d'une clé quelconque dans l registre.


label lire

dim res%, cle$, donnee$, valeur$, root%

combo 20 : top 20,10 : left 20,20 : width 20,200
  item_add 20,"HKEY_CLASSES_ROOT"
  item_add 20,"HKEY_CURRENT_CONFIG"
  item_add 20,"HKEY_CURRENT_USER"
  item_add 20,"HKEY_LOCAL_MACHINE"
  item_add 20,"HKEY_USERS"
  text 20,item_read$(20,3)
root% = 3


alpha 1 : top 1,40 : left 1,10 : caption 1,"Clé:"
edit 2 : top 2,40 : left 2,50 : width 2,400

alpha 3 : top 3,70 : left 3,10 : caption 3,"Nom:"
edit 4 : top 4,70 : left 4,50 : width 4,400

button 10 : top 10,100 : left 10,50
  caption 10,"Lire" : on_click 10,lire

alpha 5 : top 5,130 : left 5,10 : caption 5,"Valeur:"
edit 6 : top 6,130 : left 6,50 : width 6,400
alpha 11 : top 11,160 : left 11,50

dll_on "KGF.dll"

' text 2,"Software\Microsoft\Windows\CurrentVersion\Internet Settings"
' text 4,"User Agent"
text 2,"Control Panel\International"
text 4,"sCountry"
end

lire:
  cle$ = trim$(text$(2))
  valeur$ = trim$(text$(4))
  donnee$ = string$(255," ")
  if item_index(20)>0 then root% = item_index(20)
  res% = dll_call4("ReadRegistryKey",root%,adr(cle$),adr(valeur$),adr(donnee$))
  text 6,trim$(donnee$)
  if res%=0
    caption 11,"Ok"
  else
    caption 11,"Erreur - clé inexistante"
  end_if
  return

Cela marche sans problème.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Sep 2012 - 15:46

Merci Klaus,

J'avais un doute sur la clé et la valeur.
La base de registre est une grande inconnue pour moi,
et sachant un petit peu les problèmes que l'on peut avoir
sur une mauvaise manipulation, elle me fait PEUR What a Face
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10061
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 15:52

En lecture, il n'y a aucun problème. Cette partie est sans danger. C'est l'écriture qui pose problème, et ce n'est pas encore dispo. Mais déjà la lecture, à l'image de ce que tu veux faire, peut donner des choses intéressantes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Sep 2012 - 16:04




Edit : mon controle m' annonce toujours la version 1.58
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10061
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 16:33

Oups..... Désolé. C'est corrigé. Télécharge KGF.dll et ce sera réglé.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Sep 2012 - 16:55

Il n' y a pas de quoi Klaus

çà fonctionne à merveille avec la 1.60...

Les chemins sont ils les mêmes sur ton XP ou cela diffère selon les systèmes ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10061
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 18:11

Tu parles des chemins dans le registre ? En principe, ce qui existe sous XP, existera de même sous Vista ou W7. La preuve: j'ai appliqué le chemin pour le langage et c'est le même. Bien sûr, les aspects spécifiques de Vista ou XP - je ne les aurai pas sous XP.

La procédure à suivre, c'est d'utiliser RegEdit pour repérer le chemin exact vers l'information qui t'intéresse, et tu mets ces valeurs dans le paramétrage. L'accès par lui-même passe par un service Windows qui doit fonctionner partour.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5840
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Début des fonctions de gestion du registre   Jeu 20 Sep 2012 - 18:24

Et s'il y a des différences signalées par les autres, hop, on ajoute le test de version de windows de la DLL et on regarde dans le chemin qui va bien Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7930
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Jeu 20 Sep 2012 - 19:35

Ok ! Merci pour les infos.

( Toutes ces questions sont pour la portabilité de mes programmes.
Actuellement, je ne vois que pour Windows car je nage assez comme çà
mais plus tard quand je maîtriserai Bill et Panoramic je verrai pour
les autres)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Début des fonctions de gestion du registre   

Revenir en haut Aller en bas
 
Début des fonctions de gestion du registre
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Gestion des cantons en mode hors ligne
» Gestion de la position de la souris
» Problème de gestion du temps d'animation
» je cherche de l'aide pour un jeu de gestion d'animalerie
» Jouer avec la base de registre

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: