Page 1 sur 1

[RESOLU] Open Directory

Publié : mar. 05/juin/2012 17:45
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.

Re: Open Directory

Publié : mar. 05/juin/2012 22:58
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

Re: Open Directory

Publié : mer. 06/juin/2012 9:44
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 !

Re: Open Directory

Publié : mer. 06/juin/2012 10:17
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

Re: Open Directory

Publié : mer. 06/juin/2012 10:22
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 ;)

Re: Open Directory

Publié : mer. 06/juin/2012 12:42
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

Re: Open Directory

Publié : mer. 06/juin/2012 19:38
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

Re: [RESOLU] Open Directory

Publié : mer. 06/juin/2012 20:10
par falsam
Bienvenue à toi sur ce forum :)

Re: [RESOLU] Open Directory

Publié : mer. 06/juin/2012 20:15
par Arbrakan
Merci !, (Ton avatar m'agace déjà... :D ;))

Re: [RESOLU] Open Directory

Publié : mer. 06/juin/2012 20:22
par blendman
bienvenue sur le forum :D

Re: [RESOLU] Open Directory

Publié : mer. 06/juin/2012 21:39
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

Re: [RESOLU] Open Directory

Publié : jeu. 07/juin/2012 11:09
par djes
Bienvenue :)