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
» Projet de planétarium virtuel.
par Pedro Alvarez Hier à 17:29

» Quantité de mémoire utilisée par un exe
par Navigateur Hier à 14:52

» Problème avec 'file_load'.
par Pedro Alvarez Hier à 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Ven 15 Juin 2018 - 7:52

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

» image_width(n) et image_height(n)
par silverman Sam 9 Juin 2018 - 11:22

» Site sur la programmation sympa
par Jean Claude Jeu 7 Juin 2018 - 11:20

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Un explorateur de fichiers avec KGF

Aller en bas 
AuteurMessage
Minibug

avatar

Nombre de messages : 2962
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: