Re bonjour a tous
Voila je voudrais savoir commen affiche la version de oracle en cour dans mon menu
dans $Info2 avec la commande dos suivante sqlplus -v
; affecte une valeur à un contrôle dans une GUI
GuiCtrlSetData($info2, _Oracle_GetVersion())
Func _Oracle_GetVersion()
Local $lines = "", $line = ""
; C'est ici que l'on lance la commande DOS a toi d'adapter avec les bon chemin si c'est pas dans le Path Windows
Local $pid = Run("sqlplus.exe -v", "Path to Oracle sqlplus.exe si besoin", @SW_HIDE, $STDOUT_CHILD)
; on boucle tant que le process s'execute
While 1
; on récupère la ligne écrite dans la pseudo fenêtre Dos
$line = StdoutRead($pid) & @LF
; l' erreur survient qd le process est terminé
If @error Then ExitLoop
; ici on stocke les valeurs de la commande Dos, on en fait le ménage
$line = StringReplace($line, @LF & @LF, @LF)
If $line <> @LF Then $lines &= $line
WEnd
; retourne toutes les lignes si y'en a plusieurs
Return $line
EndFunc ;==>_Oracle_GetVersion
vais surement dire une bêtise
indique la fonction en bas de script et d'indiquer GUISetState(@SW_SHOW) avant le mot while.
dans la fonction y a une partie run
Local $pid = Run("sqlplus.exe -v", "Path to Oracle sqlplus.exe si besoin",
"Path to Oracle sqlplus.exe si besoin" ? c'est le nom du dossier ou se trouve sqlplus.exe ?
soit tu l'indique ou tu le laisse vide
Ani à parfaitement raison a toi de modifier suivant ton cas le chemin.
Désolé mauvaises habitudes de programmer en anglais, je mélange souvent les 2 langues: "Path to Oracle SQLPlus.exe si besoin"
"Chemin vers le programme Oracle SQLpluq.exe"
De plus remplace la dernière ligne dans la fonction: Return $lines au lieu de Return $line
$lines, contient toutes les lignes renvoyer par une commande Dos, $line c'est la dernière ligne qui peut souvent être une retour à la ligne.
Par contre j'ai pas vu de menu dans ton application, je mets juste à jour en fonction de ton exemple le texte du label $info2.