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
» Mise à jour PANOMAND
par jean_debord Aujourd'hui à 11:33

» Pourquoi le compilateur stagne
par Jicehel Aujourd'hui à 11:13

» Immortaliser les photos de famille
par jjn4 Hier à 18:29

» Concours de Morpions
par jjn4 Hier à 18:11

» Compilateur FBPano
par jean_debord Hier à 10:12

» Tout est tranquille
par Jean Claude Ven 22 Sep 2017 - 21:41

» Texte en gif animé
par JL35 Ven 22 Sep 2017 - 13:29

» BasicEditor
par Yannick Mer 20 Sep 2017 - 17:17

» Simuler l’appui d'une touche ou combinaison de touches.
par pascal10000 Lun 18 Sep 2017 - 19:30

» Utilisation de HVIEWER pour afficher des images
par papydall Lun 18 Sep 2017 - 17:43

» Panoramic et les gifs animés.
par papydall Lun 18 Sep 2017 - 16:32

» recover source
par pascal10000 Dim 17 Sep 2017 - 14:21

» Recent dans vos menu
par Jean Claude Sam 16 Sep 2017 - 11:41

» Comment centrer un texte 3D.
par pascal10000 Ven 15 Sep 2017 - 20:20

» Carte interface 16 entrées et 16 sorties
par Jicehel Ven 15 Sep 2017 - 16:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
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 : 10062
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 : 7992
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 : 10062
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 : 7992
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 : 5856
Age : 45
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 : 10062
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 : 7992
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 : 7992
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 : 10062
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 : 7992
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 : 10062
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 : 7992
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 : 10062
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 : 7992
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 : 10062
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 : 5856
Age : 45
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 : 7992
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
» je cherche de l'aide pour un jeu de gestion d'animalerie
» Zumo 660 Gestion des Cartes
» Gestion hasardeuse des fichiers gpx
» soucis profil & gestion des champs

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: