[RESOLU] Open Directory

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

[RESOLU] Open Directory

Message par Arbrakan »

Salutations à tous.

Je me suis perdu dans la doc PureBASIC, et je ne trouve pas comment ouvrir le dossier courant via un click sur un boutton... Juste ouvrir un dossier en gros.
Y a bien des commandes de la bibliothèque FileSystem, mais rien à se niveau la, a moins que mes lunettes sois sale.
j'ai pensé a faire un tour au niveau de des commandes "Requester" mais rien non-plus.

need help.

D'avance, Merci pour vos réponses.
Dernière modification par Arbrakan le mer. 06/juin/2012 19:50, modifié 1 fois.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Open Directory

Message par falsam »

NomFichier$ = OpenFileRequester(Titre$, FichierParDefaut$, Filtre$, FiltrePosition [, Options])

Code : Tout sélectionner

Enumeration
  #Mainform
  #Button
EndEnumeration

Global File$, Filtre$

Procedure Open_MainForm()
  OpenWindow(#Mainform, 0, 0, 500, 400, "New Form")
  ButtonGadget(#Button, 20,20, 100, 22, "Choisir un fichier")
EndProcedure

Open_MainForm()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget() ;<<==== ça se passe là
        Case #Button
          Filtre$="Texte (*.txt)|*.txt;*.bat|PureBasic (*.pb)|*.pb|Tous les fichiers (*.*)|*.*"
          
          File$ = OpenFileRequester("Choisir un fichier ....", "", Filtre$, 1)
          
          If File$ ;Si fichier selectionné
            Debug File$
          EndIf
          
      EndSelect
        
    Case #PB_Event_CloseWindow
      End
  EndSelect
  
ForEver
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
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

Re: Open Directory

Message par Arbrakan »

Merci d'avoir pris le temps pour me répondre. :)

Par contre c'est pas ce que je recherche, Ce que je cherche a faire c'est ouvrir un dossier via un bouton, comme tu l'as fait dans l'exemple. mais ouvrir un dossier avec une chemin spécifique, mais sans le Open File Rquester.

Exemple:

c:\files\MonDossier

J'y ai réfléchi, et je pensai partir sur du explorer.exe avec le chemin du dossier courant. pour ouvrir mon dossier.

Je sais pas si c'est la manière de faire la plus opti.. je vais continuer mes recherche, en tout cas Merci pour ta réponse rapide falsam :)

belle journée a vous !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Open Directory

Message par falsam »

Peut être comme ceci.

Code : Tout sélectionner

Enumeration
  #Mainform
  #Button
  
  #Explorer
  #Content
EndEnumeration

Procedure Open_MainForm()
  OpenWindow(#Mainform, 0, 0, 500, 400, "New Form")
  ButtonGadget(#Button, 20,20, 100, 22, "Choisir un fichier")
EndProcedure

Open_MainForm()

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget() ;<<==== ça se passe là
        Case #Button
          If OpenWindow(#Explorer, 0, 0, 400, 200, "Explorer", #PB_Window_SystemMenu|#PB_Window_WindowCentered|#PB_Window_SizeGadget, WindowID(#mainform)) 
            ;Exemple pour le dossier Users (Window7)
            ExplorerListGadget(#Content, 0, 0, 400, 200, "C:\users\", #PB_Explorer_MultiSelect)
            SetGadgetAttribute(#Content, #PB_Explorer_DisplayMode , #PB_Explorer_LargeIcon)
          EndIf
          
          
        Case #Content
          Select EventType()
            Case #PB_EventType_Change
              
            Case #PB_EventType_LeftClick
              Debug GetGadgetText(#Content) + GetGadgetItemText(#Content, GetGadgetState(#Content))
              
              
          EndSelect
      EndSelect
      
    Case #PB_Event_SizeWindow
      If IsWindow(#Explorer)
        ResizeGadget(#Content, #PB_Ignore, #PB_Ignore, WindowWidth(#Explorer), WindowHeight(#Explorer))
      EndIf
      
    Case #PB_Event_CloseWindow
      End
  EndSelect
  
ForEver
Dernière modification par falsam le mer. 06/juin/2012 10:38, modifié 1 fois.
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
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Open Directory

Message par djes »

Arbrakan a écrit :Merci d'avoir pris le temps pour me répondre. :)

Par contre c'est pas ce que je recherche, Ce que je cherche a faire c'est ouvrir un dossier via un bouton, comme tu l'as fait dans l'exemple. mais ouvrir un dossier avec une chemin spécifique, mais sans le Open File Rquester.

Exemple:

c:\files\MonDossier

J'y ai réfléchi, et je pensai partir sur du explorer.exe avec le chemin du dossier courant. pour ouvrir mon dossier.

Je sais pas si c'est la manière de faire la plus opti.. je vais continuer mes recherche, en tout cas Merci pour ta réponse rapide falsam :)

belle journée a vous !
Si c'est en mode console, oui, c'est comme ça ;)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Open Directory

Message par Ar-S »

Si tu souhaites ouvrir une fenêtre explorer indépendante de ton logiciel en appuyant sur un bouton, rien de plus simple:

Code : Tout sélectionner

; Pour ouvrir le dossier TEMP par exemple.
RunProgram ("C:\Temp")
En reprenant l'exemple de falsam

Code : Tout sélectionner



Enumeration
	#Mainform
	#Button
EndEnumeration

Global File$, Filtre$

Procedure Open_MainForm()
	OpenWindow(#Mainform, 0, 0, 500, 400, "New Form")
	ButtonGadget(#Button, 20,20, 100, 22, "Ouvrir TEMP")
EndProcedure

Open_MainForm()

Repeat
	Select WaitWindowEvent()
    Case #PB_Event_Gadget
    Select EventGadget() ;<<==== ça se passe là
      Case #Button
        RunProgram ("C:\Temp")
        
    EndSelect
    
  Case #PB_Event_CloseWindow
    End
EndSelect

ForEver
~~~~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
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

Re: Open Directory

Message par Arbrakan »

Parfait !, merci a tous pour vos réponses rapide, ça fait plaisir et c'est en plus en français.. :D
Content de passé sur ce forum, belle communautés, je vais m'y installé un moment si cela ne vous dérange pas.

Pour le petit background, je suis a la base WebDesign, et je code aussi en DarkBASIC depuis quelques années, depuis 1année env. je me suis mit au PureBASIC, j'en suis devenu fan, surtout avec la doc en français, ça aide ^^

Donc si y en as qui touche au DarkBASIC où besoin d'aide niveau web, je peux toujours aider.

Bref content d'être là, et merci encore.

Belle soirée et bon code à tous !

Arbrakan
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: [RESOLU] Open Directory

Message par falsam »

Bienvenue à toi sur ce forum :)
Dernière modification par falsam le mer. 06/juin/2012 20:28, modifié 1 fois.
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
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

Re: [RESOLU] Open Directory

Message par Arbrakan »

Merci !, (Ton avatar m'agace déjà... :D ;))
Dernière modification par Arbrakan le mer. 06/juin/2012 20:26, modifié 1 fois.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: [RESOLU] Open Directory

Message par blendman »

bienvenue sur le forum :D
Avatar de l’utilisateur
Arbrakan
Messages : 34
Inscription : lun. 24/janv./2011 10:52
Localisation : Genève
Contact :

Re: [RESOLU] Open Directory

Message par Arbrakan »

Merci blendman, sympa ton blog ! Et bonne suite pour Arkeos Chronicle .
Je n'ai pas énormément testé de langages (un peu de C et de C++, un peu de python) et je ne suis pas développeur de base (je suis graphiste), donc, ce langage s'est vite avéré être le langage de prédilection pour moi.
Je vois que tu as eu le même Virus, et que tu viens aussi du monde des pixels, j'aime !

Arbrakan
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: [RESOLU] Open Directory

Message par djes »

Bienvenue :)
Répondre