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
» Planétarium virtuel.
par Jean Claude Aujourd'hui à 18:16

» 11 (en analyse): commandes sur TAB et SUB_MENU.
par Jack Aujourd'hui à 14:10

» 10 (en analyse): Erreur sur variable locale.
par Jack Aujourd'hui à 14:05

» Métamatière, éternité et renouvellement
par Oscaribout Aujourd'hui à 12:40

» De retour...
par Yannick Hier à 15:11

» bug SEVERE fnc+sub : (35)name already defined
par Oscaribout Dim 12 Aoû 2018 - 23:55

» ajouter des blancs dans un TXT
par silverman Dim 12 Aoû 2018 - 15:38

» Encadrement
par Jean Claude Dim 12 Aoû 2018 - 11:53

» Des rectangles...
par JL35 Dim 12 Aoû 2018 - 10:53

» TRIGGER_KEY_COMBINED_TOUCH
par Jean Claude Mar 7 Aoû 2018 - 20:58

» ITEM_SELECT N,L pour synedit
par Jean Claude Mar 7 Aoû 2018 - 19:11

» amélioration panoramic
par silverman Dim 5 Aoû 2018 - 18:34

» Commande file_readln.
par Pedro Alvarez Dim 5 Aoû 2018 - 17:08

» Klaus ?
par Jack Sam 4 Aoû 2018 - 22:48

» Défragmentation du disque dur
par JL35 Sam 4 Aoû 2018 - 21:06

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2018
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier

Partagez | 
 

 Un explorateur de fichiers avec KGF

Aller en bas 
AuteurMessage
Minibug

avatar

Nombre de messages : 2996
Age : 51
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

MessageSujet: Un explorateur de fichiers avec KGF   Mer 11 Avr 2018 - 1:11

Bonsoir !

Je vous livre mon petit code réalisé ce soir qui peut faite office d'explorateur de fichier.

Il faut charger la DLL de klaus.
Pour voir les 2 icônes dossiers et fichiers il faut créer un fichier ILB avec 2 images
Mais vous pouvez testé sans ce fichier sauf qu'il n'y aura pas d’icônes !

Dernière chose, lorsque vous cliquez sur un fichier cela vous fait sortir du programme.
Après a vous de voir comment l'utiliser...

Voila une capture d'écran :



Et voici le code :

Code:

' ------------------------- DECLARATION DES VARIABLES --------------------------                     
DIM a% , b% , c% , d% , no% ,t$
DIM res% , index% , IL% , tree% , doss% , PAN%(26) , ALP%       

DIM cFond%    : cFond%=hex("909090") : ' gris                                                                                                                         
DIM cFont%    : cFont%=hex("000000") : ' noir                                                                                                                             
DIM cSelect%  : cSelect%=hex("FF0000") : ' bleu

' --------------------------- DECLARATION DES LABELS ---------------------------
LABEL menu , erreur , retour , evenement               
                                             
' ----------------------------- GESTION DES OBJETS -----------------------------
LEFT no%,5 : TOP no%,5 : WIDTH no%,300 : HEIGHT no%,500 : COLOR no%,30,30,30 : BORDER_HIDE no% : no%=no%+1       

FOR a%=65 TO 90
    PANEL no% : PARENT no%,0 : CAPTION no%,CHR$(a%)+":" : TOP no%,5 : WIDTH no%,20 : HEIGHT no%,20 : ON_CLICK no%,menu
    IF DISK_EXISTS(CHR$(a%))=1 : SHOW no% : b%=b%+1 : LEFT no%,b%*20-15 : ELSE : HIDE no% : END_IF
    PAN%(a%-64)=no% : no%=no%+1
NEXT a% 

ALPHA no% : PARENT no%,0 : LEFT no%,5 : TOP no%,30 : WIDTH no%,290 : FONT_COLOR no%,255,255,255 : ALP%=no% : no%=no%+1                                             
                                                                                     
' -------------------------- CHARGEMENT DE LA DLL KGF --------------------------
DLL_ON "KGF.dll"
PAUSE 1000                                                                                                                                 

' ----------------------------- CREATION DE L'IMAGELIST ------------------------
IL%=DLL_CALL2("CreateImageList",15,15)
t$="" : ' "D:\BASIC\GPP2\lolo.ilb"                                                                                                                                       
res%=DLL_CALL2("LoadImageList",IL%,adr(t$))

' ----------------------------- CREATION DE L'ICONLIST -------------------------
res% = dll_call1("SetMainFormHandle",handle(0))
tree%=DLL_CALL3("CreateIconListBox",handle(0),IL%,3)                                                                                                 
res%=DLL_CALL5("LocateIconListBox",tree%,5,45,(WIDTH_CLIENT(0)-10),(HEIGHT_CLIENT(0)-50))
t$="D:"

retour:

affichage(t$)

' --------------------------- GESTION DES EVENEMENTS ---------------------------
ON_ERROR_GOTO erreur
ON_USER_EVENT evenement
                                                                                                   
END

' ------------------------------- MENU PRINCIPAL -------------------------------
menu:
  FOR a%=1 TO 26
    IF NUMBER_CLICK=PAN%(a%)
        res%=dll_call1("ClearIconListBox",tree%) : affichage(CAPTION$(a%)+"") : COLOR PAN%(a%),255,150,0
    ELSE
        COLOR PAN%(a%),230,230,230
    END_IF
  NEXT a%
RETURN

' --------------------------------- EVENEMENT ----------------------------------
evenement:                                                                                                                                                                 
  IF BIN_AND(USER_EVENT_WPARAM,HEX("FF000000"))=HEX("0A000000")                                                                                                 
      IF BIN_AND(USER_EVENT_WPARAM,HEX("00FF0000"))<>HEX("00010000") THEN RETURN                                                                                               
      index%=BIN_AND(USER_EVENT_WPARAM,HEX("0000FFFF"))                                                                         
      t$=string$(50," ") : res%=dll_call3("GetItemOfIconListBox",tree%,index%,adr(t$)) : t$=trim$(t$)
     
      IF FILE_EXISTS(t$)=1 THEN MESSAGE t$ : TERMINATE
     
      IF index%<=doss%
        res%=dll_call1("ClearIconListBox",tree%)
        IF RIGHT$(DIR_CURRENT$,1)="" : t$=DIR_CURRENT$+t$ : ELSE : t$=DIR_CURRENT$+chr$(92)+t$ : END_IF
        affichage(t$)
      END_IF                                                                                                                                                                                                                                                                                 
  END_IF                                                                                                                                                                     
RETURN

' ----------------------------------- ERREUR -----------------------------------
erreur:
  SELECT ERROR_NUMBER
      CASE 161
        MESSAGE "Répertoire inaccessible !"
        t$=LEFT$(chem$,LEN(chem$)-INSTR_RIGHT(chem$,""))
        GOTO retour
  END_SELECT
  TERMINATE
RETURN

' --------------------------------- AFFICHAGE ----------------------------------
SUB affichage(chem$)
  INACTIVE 0
 
  res% = dll_call2("OptionsForIconListBox",tree%,3)
  res% = dll_call4("SetColorsForIconListBox",tree%,cFond%,cFont%,cSelect%)
 
  ' Choix du dossier
  IF DIR_EXISTS(chem$)=1 THEN DIR_CHANGE chem$ : CAPTION ALP%,DIR_CURRENT$ : doss%=0
 
  ' Affichage des sous_dossiers
  t$=FILE_FIND_FIRST$
  WHILE t$<>"_"
      IF t$<>"." AND DIR_EXISTS(t$)=1 THEN res%=dll_call6("AddItemToIconListBox",tree%,adr(t$),1,1,0,0) : doss%=doss%+1
      t$=FILE_FIND_NEXT$
  END_WHILE
  FILE_FIND_CLOSE

  ' Affichage des fichiers
  t$=FILE_FIND_FIRST$
  WHILE t$<>"_"
      IF t$<>"." AND DIR_EXISTS(t$)<>1 THEN res%=dll_call6("AddItemToIconListBox",tree%,adr(t$),2,1,0,0)
      t$=FILE_FIND_NEXT$
  END_WHILE
  FILE_FIND_CLOSE
 
  ACTIVE 0 
END_SUB
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
 
Un explorateur de fichiers avec KGF
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Fenêtres qui s'ouvrent toutes seules sur internet sous IE et Mozzilla
» Problème avec les fichiers wav
» Problème avec l'explorateur Windows (Résolu)
» AllDup 4.0 Trouver et supprimer des fichiers dupliqués avec un minimum d'effort
» Comment envoyer une détection chez avira avec Antivir 9 français - Version Classic

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: