EPB

Programmation d'applications complexes
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: EPB

Message par Ar-S »

Si tu fais chemin_defaut_compiler_32$ = #PB_Compiler_Home à la compilation d'EPB, c'est ton path qui sera renvoyé..

Il est censé faire ça quand le #PB_Compiler_Home ? Chez toi ou chez nous ? Car lorsque je lance la commande dans un editeur, c'est bien mon path qui est renvoyé.
~~~~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: EPB

Message par Backup »

Ar-S a écrit :Si tu fais chemin_defaut_compiler_32$ = #PB_Compiler_Home à la compilation d'EPB, c'est ton path qui sera renvoyé..

Il est censé faire ça quand le #PB_Compiler_Home ? Chez toi ou chez nous ? Car lorsque je lance la commande dans un editeur, c'est bien mon path qui est renvoyé.
ben il est sensé faire ça chez vous bien sur ... 8O
Ar-S a écrit :Si tu fais chemin_defaut_compiler_32$ = #PB_Compiler_Home à la compilation d'EPB, c'est ton path qui sera renvoyé..
ha... mais alors , je fais comment moi pour connaitre Votre chemin de compilateur ? 8O

je pensai que

Code : Tout sélectionner

chemin_defaut_compiler_32$=#PB_Compiler_Home
dans un code, mettait au moment de son execution
le chemin dans la variable ....

pas que ça ce faisait seulement au moment de la compilation du code ... évidement ... dans ce cas :lol:

elle ne sert a rien cette constante alors ... je pensai qu'elle etait branché sur les variables systeme
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: EPB

Message par Ar-S »

Dobro a écrit :
Ar-S a écrit :Si tu fais chemin_defaut_compiler_32$ = #PB_Compiler_Home à la compilation d'EPB, c'est ton path qui sera renvoyé..
ha... mais alors , je fais comment moi pour connaitre Votre chemin de compilateur ? 8O
C'est une supposition de ma part.

---edit----

tu t'embêtes, surtout si l'utilisateur à différentes version de PB... Tu ferais mieux de faire un simple test du string. si string = "c:\" (que tu mets par defaut), alors tu ouvres un pathrequester qui demande ou se trouve le repertoire PB
Tu peux même enquiller sur une demande d'ajout du compilateur x64 ou pas. Si oui, même procédé.
~~~~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: EPB

Message par Backup »

je veux quans meme essayer de mettre un chemin par defaut , car les 3/4 des gens, vont essayer de compiler
un truc avant meme d'aller dans la fenetre des Options :)


j'avais posté , il y a longtemps un code sur la lecture du Path de Purebasic ( la derniere installé ) en lisant le registre
faut que je remette la main dessus :)
je mettrai ce Path par Defaut, ça fera un point de depart :) Merci pour ces infos... je vais donc fouiller dans mes codes :lol:
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: EPB

Message par falsam »

J'ai supprimé et vérifié qu'aucune installations d'EPB se trouve sur mon PC.

1-Je télécharge ta derniere version et je décompresse.
2-Dans le dossier je n'ai pas de fichier preférence.
3-Je clique sur Projet - > Options du projet
4-Puis onglet chemin : j'ai D:\Dobro\Purebasic_4_61\86\Compilers\pbcompiler.exe

Le fichier epb.prefs est crée
Extrait

Code : Tout sélectionner

; 
;  ********** chemin des fichiers *********
; 
[files]
indice = 0
fichier_chemin_0 = c:\
chemin_defaut = c:\
chemin_compilateur 32 bits = D:\Dobro\Purebasic_4_61\86\Compilers\pbcompiler.exe
activ_32_bits = 1
chemin_compilateur 64 bits = c:\
activ_64_bits = 0
chemin_son_apres_compilation = c:\
J’espère que tu pourras reproduire la même chose chez toi .
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: EPB

Message par Backup »

Merci Falsam ..

le probleme a été expliqué par Ar-s :)
Si tu fais chemin_defaut_compiler_32$ = #PB_Compiler_Home à la compilation d'EPB, c'est ton path qui sera renvoyé..
tout est dis :)

je vais lire le Registre pour connaitre l'emplacement du Compilateur ;) (faut juste que je remette la main sur ce P** de code :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: EPB

Message par Backup »

pouvez vous me dire si ce code renvois bien VOTRE chemin de Purebasic (dernierement installé ... )

Code : Tout sélectionner

 ; Lire une chaine dans le registre
Procedure.s ReadRegKey(OpenKey.l,SubKey.s,ValueName.s)  ; ====================================== ReadRegKey 
	; 
	hKey.l=0
	KeyValue.s=Space(255)
	DataSize.l=255
	
	If RegOpenKeyEx_(OpenKey,SubKey,0,#KEY_READ,@hKey)
		KeyValue=""
	Else
		If RegQueryValueEx_(hKey,ValueName,0,0,@KeyValue,@DataSize)
			KeyValue=""
		Else 
			KeyValue=Left(KeyValue,DataSize-1)
		EndIf
		RegCloseKey_(hKey)
	EndIf
	
	ProcedureReturn KeyValue
EndProcedure 


Chemin_purebasic$ =ReadRegKey(#HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Purebasic_is1\","Inno Setup: App Path")+"\"

Debug Chemin_purebasic$ 
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Re: EPB

Message par SPH »

reponse :
\
mais c'est peut etre normal vu que je n'ai pas installé PB. Je l'ai juste copié sur mon diskdur :idea:
Dernière modification par SPH le mer. 29/août/2012 11:41, modifié 1 fois.

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: EPB

Message par falsam »

Code : Tout sélectionner

C:\Program Files (x86)\PureBasic470\
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: EPB

Message par kernadec »

bonjour Dobro
oui il peut le dire :mrgreen:

YES, c'est bon chez moi

Cordialement
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: EPB

Message par Ar-S »

SPH a écrit : mais c'est peut etre normal vu que je n'ai pas installé PB. Je l'ai juste copié sur mon diskdur :idea:
Évidement SPH...


Peut être aussi une solution sans passer par le registre, avec cette variable d'environnement sauf si c'est aussi à la compilation que la variable se créée.

Code : Tout sélectionner

ExamineEnvironmentVariables()
While NextEnvironmentVariable()
  If EnvironmentVariableName() = "PB_TOOL_Compiler"
    Chemincompiler$ =  EnvironmentVariableValue()
  EndIf
Wend

Debug Chemincompiler$
~~~~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: EPB

Message par Backup »

Ar-S a écrit :
SPH a écrit : mais c'est peut etre normal vu que je n'ai pas installé PB. Je l'ai juste copié sur mon diskdur :idea:
Évidement SPH...


Peut être aussi une solution sans passer par le registre, avec cette variable d'environnement.

Code : Tout sélectionner

ExamineEnvironmentVariables()
While NextEnvironmentVariable()
  If EnvironmentVariableName() = "PB_TOOL_Compiler"
    Chemincompiler$ =  EnvironmentVariableValue()
  EndIf
Wend

Debug Chemincompiler$
ha oui :) pas mal , il faudrait que SPH test aussi ce code pour voir
parceque c'est vrais que j'ai pas pensé a ceux qui copie le Dossier sans installation ... :roll:

SPH ? ça donne quoi chez toi , le code de Ar-s ??
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: EPB

Message par Ar-S »

Arf je pense que ça chie car l'exe créé renvoie un string vide alors qu'à la compilation il marche.

Le soucis avec ton code c'est qu'il trouvera le chemin de la DERNIERE installation de PB.
Du coup si comme moi tu as installé PB x86 puis PB x64, c'est le chemin du X64 qui sera pris en considération ! du coup EPB ne sera pas si c'est du x64 ou pas. (Sauf si tu ajoutes une vérification de la valeur DisplayName à la même clé (PureBasic 4.60 (64 bit) dans mon cas) mais ça ne règlera pas le cas des versions "portable" de PB comme celle de SPH (et de ma version sur clé usb par exemple).

Donc je reviens à mon idée du classique PathRequester() tout bête :mrgreen:

P.S : je ne suis plus dispo je pars tirer à l'arc ^^ je re en fin d'aprem.
~~~~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
Avatar de l’utilisateur
Micoute
Messages : 2583
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: EPB

Message par Micoute »

Je pense avoir une solution

Code : Tout sélectionner

Procedure.s CheminPureBasic() ; Retourne Chemin de PureBasic    
SousCle.s="PureBasic.exe\DefaultIcon\"  
RegOpenKeyEx_(#HKEY_CLASSES_ROOT,@SousCle,0,#KEY_READ,@GestionCle)  
Sortie.s=Space(255)  
TailleDonnees.l=Len(Sortie)  
RegQueryValueEx_(GestionCle,@nom$,0,@Type,@Sortie,@TailleDonnees)  
RegCloseKey_(GestionCle)    
Sortie=GetPathPart(StringField(Sortie,1,","))    
ProcedureReturn Sortie
EndProcedure

Debug CheminPureBasic()
J’espère que ça servira à quelqu'un
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: EPB

Message par Backup »

Micoute a écrit :Je pense avoir une solution

Code : Tout sélectionner

Procedure.s CheminPureBasic() ; Retourne Chemin de PureBasic    
SousCle.s="PureBasic.exe\DefaultIcon\"  
RegOpenKeyEx_(#HKEY_CLASSES_ROOT,@SousCle,0,#KEY_READ,@GestionCle)  
Sortie.s=Space(255)  
TailleDonnees.l=Len(Sortie)  
RegQueryValueEx_(GestionCle,@nom$,0,@Type,@Sortie,@TailleDonnees)  
RegCloseKey_(GestionCle)    
Sortie=GetPathPart(StringField(Sortie,1,","))    
ProcedureReturn Sortie
EndProcedure

Debug CheminPureBasic()
J’espère que ça servira à quelqu'un
oui c'est clair :)

Maintenant, faut voir ce que va dire Ar-s
si ça lui donne le chemin vers compilateur x86 ou x64 ...


Ar-S a écrit : Donc je reviens à mon idée du classique PathRequester() tout bête :mrgreen:.
oui c'est deja implémenté, grace au petits bouton a droite du champs de chemin
mais je voulais essayer de donner un chemin par defaut du compilateur x86 ... une base quoi :)

test le code de Micoute ...
il est probable qu'il ne marche pas non plus avec la Version a SPH (portable )
puis ce code fait appel au registre ....

mais bon .. sait 'on jamais :lol:
Verrouillé