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
» Compilateur FBPano
par jean_debord Aujourd'hui à 11:07

» Documentation de KGF
par Klaus Hier à 22:52

» Zoom sur une portion d'écran
par JL35 Hier à 21:51

» KGF_dll - nouvelles versions
par Klaus Hier à 21:31

» double guillemets "" dans un EDIT
par pascal10000 Hier à 21:08

» Recherche d'une expression dans un source
par Marc 37 Hier à 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

» Bizzarerie dans Edge
par Marc 37 Mer 15 Nov 2017 - 17:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
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 : 10126
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 : 7997
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 : 10126
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 : 7997
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 : 5859
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 : 10126
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 : 7997
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 : 7997
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 : 10126
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 : 7997
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 : 10126
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 : 7997
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 : 10126
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 : 7997
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 : 10126
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 : 5859
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 : 7997
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

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: