Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Le petit explorateur | |
| | |
Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 0:06 | |
| Lorsqu’on écrit du texte en dehors des balises, certains caractères se transforment en smileys. Exemple : ….bonjour -------> le smiley est en fait un point-virgule suivi d’une parenthèse fermante x( --------> le smiley est en réalité un 8 suivi d'une parenthèse fermante --------> le smiley est en réalité deux-points suivi de la lettre D(en majuscule) Pour éviter ceci, on peut ajouter un espace entre les 2 caractères … bonjour ; ) x(8 ) : D Par contre, quand ces mêmes exemples sont insérés entre les balises code, le texte reste inchangé ce qui est tout à fait normal. - Code:
-
...bonjour ;) x(8) :D Les balises code NE DOIVENT, EN AUCUN CAS, modifier quoique ce soit, sinon c’est la zizanie. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 0:30 | |
| - JL35 a écrit:
- Merci papydall, je vais m'endormir serein (non, pas serin !)
Tu désire peut-être te réveiller serin (ou canari) ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 0:41 | |
| Très mignons, ces oiseaux ! Bavo ! La transmission des caractères spéciaux m'a interpellé. J'avais, moitié par boutade, suggéré de poster en hexa. Et bien, par ce petit outil que j'ai nommé hexify.bas, on peut le faire: il prend un fichier BAS et produit un fichier HEX, ou l'inverse. Pour sourire un peu: - Code:
-
' hexify.bas
' ******************** programme de base ************
label labels : gosub labels gosub constantes gosub variables gosub form0 gosub GUI gosub initialisations end
' ******************** routines de structure ************
labels: label constantes, variables, form0, GUI, initialisations label fnd_bas, bas_to_hex, fnd_hex, hex_to_bas, bth, htb return constantes: return variables: dim no%, no1% , no_bas%, no_hex%, no_d_bas%, no_d_hex%, s$, n%, i%, h$ dim no_bas_to_hex%, no_hex_to_bas%, f_bas$, f_hex$ return form0: width 0,800 : height 0,190 caption 0,"Hexify - codage/décodage d'un fichier entre ASCII<->Hexa" return GUI: no% = no% + 1 : open_dialog no% : no_d_bas% = no% filter no%,"Source BAS|*.bas" no% = no% + 1 : open_dialog no% : no_d_hex% = no% filter no%,"Ficher HEX|*.hex"
no% = no% + 1 : container no% : no1% = no% top no%,10 : left no%,10 : caption no%,"Fichier source en ASCII" width no%,770 : height no%,60 no% = no% + 1 : edit no% : parent no%,no1% : no_bas% = no% top no%,20 : left no%,10 : width no%,500 no% = no% + 1 : button no% : parent no%,no1% top no%,20 : left no%,530 : width no%,50 : caption no%,"..." on_click no%,fnd_bas no% = no% + 1 : button no% : parent no%,no1% : no_bas_to_hex% = no% : inactive no% top no%,20 : left no%,600 : width no%,150 : caption no%,"Coder en hexa-décimal" on_click no%,bas_to_hex
no% = no% + 1 : container no% : no1% = no% top no%,80 : left no%,10 : caption no%,"Fichier codé en hexa-décimal" width no%,770 : height no%,60 no% = no% + 1 : edit no% : parent no%,no1% : no_hex% = no% top no%,20 : left no%,10 : width no%,500 no% = no% + 1 : button no% : parent no%,no1% top no%,20 : left no%,530 : width no%,50 : caption no%,"..." on_click no%,fnd_hex no% = no% + 1 : button no% : parent no%,no1% : no_hex_to_bas% = no% : inactive no% top no%,20 : left no%,600 : width no%,150 : caption no%,"Décoder en Ascii" on_click no%,hex_to_bas
return initialisations: dir_dialog no_d_bas%, dir_current$ dir_dialog no_d_hex%, dir_current$ return ' ******************** routines spécifiques ************
fnd_bas: s$ = file_name$(no_d_bas%) if s$="_" then return if right$(s$,4)=".bas" then s$ = left$(s$,len(s$)-4) text no_bas%,s$+".bas" text no_hex%,s$+".hex" active no_bas_to_hex% inactive no_hex_to_bas% return
bas_to_hex: f_bas$ = trim$(text$(no_bas%)) if file_exists(f_bas$)=0 message "Le fichier en entrée est inexistant !" text no_bas% = "" text no_hex% = "" return end_if f_hex$ = trim$(text$(no_hex%)) if file_exists(f_hex$)=1 s$ = "Le fichier en sortie existe déjà !" s$ = s$ + chr$(13)+chr$(10)+"Voulez-vous le remplacer ?" if message_confirmation_yes_no(s$)<>1 then return end_if file_open_read 1,f_bas$ file_open_write 2,f_hex$ h$ = "" while file_eof(1)=0 file_readln 1,s$ gosub bth s$ = chr$(0) gosub bth end_while if len(h$)>0 then file_writeln 2,h$ file_close 2 file_close 1 message "Terminé." return
bth: if len(s$)=0 then return for i%=1 to len(s$) h$ = h$ + right$("0"+hex$(asc(mid$(s$,i%,1))),2) if len(h$)=80 file_writeln 2,h$ h$ = "" end_if next i% return
fnd_hex: s$ = file_name$(no_d_hex%) if s$="_" then return if right$(s$,4)=".hex" then s$ = left$(s$,len(s$)-4) text no_bas%,s$+".bas" text no_hex%,s$+".hex" inactive no_bas_to_hex% active no_hex_to_bas% return
hex_to_bas: f_hex$ = trim$(text$(no_hex%)) if file_exists(f_hex$)=0 message "Le fichier en entrée est inexistant !" text no_bas% = "" text no_hex% = "" return end_if f_bas$ = trim$(text$(no_bas%)) if file_exists(f_bas$)=1 s$ = "Le fichier en sortie existe déjà !" s$ = s$ + chr$(13)+chr$(10)+"Voulez-vous le remplacer ?" if message_confirmation_yes_no(s$)<>1 then return end_if
file_open_read 1,f_hex$ file_open_write 2,f_bas$ s$ = "" while file_eof(1)=0 file_readln 1,h$ gosub htb end_while file_close 2 file_close 1 message "Terminé." return
htb: for i%=1 to len(h$)-1 step 2 n% = hex(mid$(h$,i%,2)) if n%=0 file_writeln 2,s$ s$ = "" else s$ = s$ + chr$(n%) end_if next i% return
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 1:15 | |
| Merci Klaus, j'espère quand même que l'on ne sera pas obligé d'en arriver là ... Bon aller, il faut que je dorme quelques heures. A demain | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 1:16 | |
| En fait, il transforme n’importe quel fichier ASCII en fichier HEXA. Idée simple, mais il fallait la trouver ! Les grandes idées sont souvent des idées simples qui échappent aux communs des mortels, sauf aux Klaus et semblables ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 8:56 | |
| Bonjour tout le monde,
@bignono pour les caractères accentués dans les noms de répertoires c'est vrai j'avais remarqué une anomalie, il faudrait peut-être essayer une autre fonte pour LIST 1
@Klaus évidemment il y a des solutions en convertissant le source à l'aller et au retour, mais ce n'est pas satisfaisant du tout pour l'esprit, comme tu sais. Dans le texte, oui, je veux bien qu'il y ait des ambigüités, mais pas dans le code. Les balises sont là pour interdire toute interprétation intermédiaire.
@papydall, merci pour le serin, c'est joli ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 9:36 | |
| Je sais, JL35. Et je l'avais bien dit dans mon post. C'était juste un petit exercice d'esprit, pour sourire un peu. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 12:03 | |
| Je l'avais bien compris comme ça, on est bien d'accord. | |
| | | ambroise
Nombre de messages : 264 Localisation : Haute-Savoie Date d'inscription : 29/04/2012
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 14:17 | |
| Je suis admiratif... En parcourant le code, je découvre des manières de coder intéressantes et instructives. Merci.
Quelle bonne idée que ce petit panneau affichant des fonctions ("Lister, exécuter, etc.") au clic sur un fichier !
Problème récurrent : A la commande "exécuter", j'obtiens parfois le message "Cannot open ..." et là l'explorateur perd la boule... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 14:28 | |
| Merci ambroise, ça me fait plaisir si ça peut t'inspirer.
Quant à la commande Exécuter, effectivement il y a des cas où ça ne marche pas, mais comme ce n'est pas systématique il est difficile d'en tirer des conclusions. Il faudrait repérer un cas particulier, reproductible, et noter les conditions, notamment le nom de l'exécutable, son chemin d'accès, etc. et peut-être mettre un point d'arrêt (Message par exemple) juste avant l'Execute pour voir ce qu'on donne exactement à exécuter.
Maintenant ça ne devrait pas suffire pour faire perdre la boule à l'explorateur, il n'exécute pas, d'accord, mais il devrait continuer ensuite ? | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 19:06 | |
| J'ai ajouté la possibilité de calculer le chemin court complet du fichier cliqué. Ce chemin court est simultanément copié dans le presse-papier windows, pour utilisation à la demande.
Pour les répertoires avec caractères accentués (bignono), le problème subsiste, j'ai beau changer de fontes ça ne change rien... je cherche... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Le petit explorateur Mar 5 Juin 2012 - 19:37 | |
| J'ai fait une version plus aboutie de mon hexifieur. On peut maintenant, via une option, choisir la conversion d'un fichier binaire comme un *.exe, par exemple. Ce fichier devient alors du simple texte. La conversion aller/retour marche, et le résultat dé-hexifiée est absolument identique à l'original. J'ai ajouté aussi une barre de progression et une indication de la taille du fichier en cours de conversion. Le tout en 274 lignes. - Code:
-
' hexify.bas
' ******************** programme de base ************
label labels : gosub labels gosub constantes gosub variables gosub form0 gosub GUI gosub initialisations end
' ******************** routines de structure ************
labels: label constantes, variables, form0, GUI, initialisations label fnd_bas, bas_to_hex, fnd_hex, hex_to_bas, bth, htb label mode_change return constantes: return variables: dim no%, no1% , no_bas%, no_hex%, no_d_bas%, no_d_hex%, s$, n%, i%, h$, j% dim no_bas_to_hex%, no_hex_to_bas%, f_bas$, f_hex$, no_bin%, buf%(513) dim siz%, no_bar%, tot%, no_aff% return form0: width 0,1000 : height 0,230 caption 0,"Hexify - codage/décodage d'un fichier entre ASCII<->Hexa" return GUI: no% = no% + 1 : open_dialog no% : no_d_bas% = no% filter no%,"Source BAS|*.bas" no% = no% + 1 : open_dialog no% : no_d_hex% = no% filter no%,"Ficher HEX|*.hex"
no% = no% + 1 : container no% : no1% = no% top no%,10 : left no%,10 : caption no%,"Fichier source en ASCII" width no%,770 : height no%,60 no% = no% + 1 : edit no% : parent no%,no1% : no_bas% = no% top no%,20 : left no%,10 : width no%,500 no% = no% + 1 : button no% : parent no%,no1% top no%,20 : left no%,530 : width no%,50 : caption no%,"..." on_click no%,fnd_bas no% = no% + 1 : button no% : parent no%,no1% : no_bas_to_hex% = no% : inactive no% top no%,20 : left no%,600 : width no%,150 : caption no%,"Coder en hexa-décimal" on_click no%,bas_to_hex
no% = no% + 1 : container no% : no1% = no% top no%,80 : left no%,10 : caption no%,"Fichier codé en hexa-décimal" width no%,770 : height no%,60 no% = no% + 1 : edit no% : parent no%,no1% : no_hex% = no% top no%,20 : left no%,10 : width no%,500 no% = no% + 1 : button no% : parent no%,no1% top no%,20 : left no%,530 : width no%,50 : caption no%,"..." on_click no%,fnd_hex no% = no% + 1 : button no% : parent no%,no1% : no_hex_to_bas% = no% : inactive no% top no%,20 : left no%,600 : width no%,150 : caption no%,"Décoder en Ascii" on_click no%,hex_to_bas
no% = no% + 1 : container no% : no1% = no% top no%,10 : left no%,790 : caption no%,"Options" width no%,190 : height no%,130 no% = no% + 1 : check no% : parent no%, no1% : no_bin% = no% top no%,20 : left no%,10 : caption no%,"Mode binaire" on_click no%,mode_change no% = no% + 1 : progress_bar no% : no_bar% = no% top no%,160 : left no%,10 : width no%,770 min no%,0 : max no%,1000 : position no%,0 no% = no% + 1 : alpha no% : no_aff% = no% top no%,160 : left no%,790
return initialisations: dir_dialog no_d_bas%, dir_current$ dir_dialog no_d_hex%, dir_current$ return ' ******************** routines spécifiques ************
fnd_bas: s$ = file_name$(no_d_bas%) if s$="_" then return if checked(no_bin%)=0 if right$(s$,4)=".bas" then s$ = left$(s$,len(s$)-4) text no_bas%,s$+".bas" else text no_bas%,s$ end_if text no_hex%,s$+".hex" active no_bas_to_hex% inactive no_hex_to_bas% return
bas_to_hex: f_bas$ = trim$(text$(no_bas%)) if file_exists(f_bas$)=0 message "Le fichier en entrée est inexistant !" text no_bas% = "" text no_hex% = "" return end_if f_hex$ = trim$(text$(no_hex%)) if file_exists(f_hex$)=1 s$ = "Le fichier en sortie existe déjà !" s$ = s$ + chr$(13)+chr$(10)+"Voulez-vous le remplacer ?" if message_confirmation_yes_no(s$)<>1 then return end_if if checked(no_bin%)=0 filebin_open_read 1,f_bas$ tot% = filebin_size(1) caption no_aff%,str$(tot%)+" Octets" filebin_close 1 file_open_read 1,f_bas$ file_open_write 2,f_hex$ h$ = "" siz% = 0 while file_eof(1)=0 file_readln 1,s$ siz% = siz% + len(s$) + 2 gosub bth s$ = chr$(0) gosub bth position no_bar%,(siz%/tot%)*1000 end_while if len(h$)>0 then file_writeln 2,h$ file_close 2 file_close 1 else filebin_open_read 1,f_bas$ file_open_write 2,f_hex$ siz% = filebin_size(1) tot% = siz% caption no_aff%,str$(tot%)+" Octets" if siz%>0 repeat n% = 512 if n%>siz% then n% = siz% filebin_block_read 1,n%,buf%(1) h$ = "" for i%=1 to n% h$ = h$ + right$("0"+hex$(buf%(i%)),2) next i% file_writeln 2,h$ siz% = siz% - n% position no_bar%,((tot%-siz%)/tot%)*1000 until siz% = 0 end_if file_close 2 filebin_close 1 end_if message "Terminé." position no_bar%,0 caption no_aff%,"" return
bth: if len(s$)=0 then return for i%=1 to len(s$) h$ = h$ + right$("0"+hex$(asc(mid$(s$,i%,1))),2) if len(h$)=80 file_writeln 2,h$ h$ = "" end_if next i% return
fnd_hex: s$ = file_name$(no_d_hex%) if s$="_" then return if right$(s$,4)=".hex" then s$ = left$(s$,len(s$)-4) if checked(no_bin%)=1 text no_bas%,s$ else text no_bas%,s$+".bas" end_if text no_hex%,s$+".hex" inactive no_bas_to_hex% active no_hex_to_bas% return
hex_to_bas: f_hex$ = trim$(text$(no_hex%)) if file_exists(f_hex$)=0 message "Le fichier en entrée est inexistant !" text no_bas% = "" text no_hex% = "" return end_if f_bas$ = trim$(text$(no_bas%)) if file_exists(f_bas$)=1 s$ = "Le fichier en sortie existe déjà !" s$ = s$ + chr$(13)+chr$(10)+"Voulez-vous le remplacer ?" if message_confirmation_yes_no(s$)<>1 then return end_if if checked(no_bin%)=0 filebin_open_read 1,f_hex$ tot% = filebin_size(1) caption no_aff%,str$(tot%)+" Octets" filebin_close 1 file_open_read 1,f_hex$ file_open_write 2,f_bas$ s$ = "" siz% = 0 while file_eof(1)=0 file_readln 1,h$ siz% = siz% + len(h$) + 2 gosub htb position no_bar%,(siz%/tot%)*1000 end_while file_close 2 file_close 1 else filebin_open_read 1,f_hex$ tot% = filebin_size(1) caption no_aff%,str$(tot%)+" Octets" filebin_close 1 file_open_read 1,f_hex$ filebin_open_write 2,f_bas$ siz% = 0 j% = 0 while file_eof(1)=0 file_readln 1,h$ siz% = siz% + len(h$) + 2 n% = len(h$) for i%=1 to n%-1 step 2 j% = j% + 1 buf%(j%) = hex(mid$(h$,i%,2)) if j%=512 filebin_block_write 2,512,buf%(1) j% = 0 end_if next i% position no_bar%,(siz%/tot%)*1000 end_while if j%>0 filebin_block_write 2,j%,buf%(1) position no_bar%,(siz%/tot%)*1000 end_if filebin_close 2 file_close 1 end_if message "Terminé." caption no_aff%,"" return
htb: for i%=1 to len(h$)-1 step 2 n% = hex(mid$(h$,i%,2)) if n%=0 file_writeln 2,s$ s$ = "" else s$ = s$ + chr$(n%) end_if next i% return mode_change: if checked(no_bin%)=1 filter no_d_bas%,"Tous fichiers|*.*" caption no_hex_to_bas%,"Décoder en binaire" else filter no_d_bas%,"Source BAS|*.bas" caption no_hex_to_bas%,"Décoder en Ascii" end_if return
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 16:09 | |
| J'ai ajouté la prise en compte des répertoires et fichiers comportant des lettres accentuées. J'ai ajouté pour ça un petit s/p de conversion, ce n'est pas forcément la solution la plus élégante et ça ralentit un peu l'affichage, mais ça marche. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 17:28 | |
| @Klaus, concernant ton hexifieur (marque déposée), j'ai fait quelque chose de beaucoup plus rustique en 40 lignes seulement, mais sans aucun dialogue, ni affichage, ni test d'existence des fichiers: - Code:
-
LABEL bin2hex, hex2bin DIM f1$, f2$, fh$, a$, sz%, n%, i%
' binaire ou ascii -> hexa f1$ = "C:\Textes\Lorem.txt": fh$ = "C:\Temp\Test.hex": gosub bin2hex end ' hexa -> binaire (reconstitution du fichier original) f2$ = "C:\Temp\Test.txt": gosub hex2bin print "Terminé !" END
bin2hex: ' conversion fichier quelconque en valeurs hexadécimales f1$ -> fh$ FILEBIN_OPEN_READ 1, f1$: sz% = FILEBIN_SIZE(1): FILE_OPEN_WRITE 2, fh$ IF sz% > 2000 n% = INT(sz%/2000) FOR i% = 1 TO n% FILEBIN_HEXA_READ 1, 2000, a$: FILE_WRITE 2, a$ NEXT i% sz% = MOD(sz%, 2000): ' reste END_IF FILEBIN_HEXA_READ 1, sz%, a$: FILE_WRITELN 2, a$ FILEBIN_CLOSE 1: FILE_CLOSE 2 RETURN
hex2bin: ' reconversion fichier hexadécimal en fichier normal fh$ -> f2$ FILEBIN_OPEN_READ 1, fh$: sz% = FILEBIN_SIZE(1): FILEBIN_CLOSE 1 FILE_OPEN_READ 1, fh$: FILEBIN_OPEN_WRITE 2, f2$ IF sz% > 4000 n% = INT(sz%/4000) FOR i% = 1 TO n% FILE_READBUF 1, a$, 4000: FILEBIN_HEXA_WRITE 2, 2000, a$ NEXT i% sz% = MOD(sz%, 4000): ' reste END_IF FILE_READBUF 1, a$, sz%: sz% = (sz%-2)/2 FILEBIN_HEXA_WRITE 2, sz%, a$ FILE_CLOSE 1: FILEBIN_CLOSE 2 RETURN
Dernière édition par JL35 le Mer 6 Juin 2012 - 18:09, édité 1 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 17:49 | |
| Eh oui, j'aurais mieux dû lire la doc ... FILEBIN_HEXA_xxx est beaucoup mieux approprié à ce que je veux faire que mes FILEBIN_BLOCK_... . Je vais revoir ça - merci pour le tuyau.
Juste une remarque: tel que tu l'as fait, ça ne marche que pour des fichiers de moins de 4000 octets. Au-delà, il faut faire une boucle REPEAT ou WHILE. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 17:59 | |
| Ben non Klaus, ça marche pour toutes les tailles ! c'est la boucle FOR i% = 1 TO n% qui fait le boulot par blocs de 2000 à l'aller ou 4000 au retour.
Rectif. il manque le Dim i% qui a sauté dans mon exemple, je rectifie
J'ai testé avec un fichier image de 3M, ça marche très bien (quelques secondes quand même). | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 18:16 | |
| Autant pour moi. J'ai dû avoir des tomates dans les yeux... | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 18:25 | |
| Sont pas encore mûres... | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 19:13 | |
| Bonjour JL35, Ton petit explorateur fonctionne très bien maintenant. Je trouve que c'est un très bon utilitaire qui va me servir souvent. Surtout les fonctions Lister et Dump. Très simple à s'en servir! Merci beaucoup! A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 20:58 | |
| Bonsoir bignono et merci pour ton appréciation, ça me fait bien plaisir On peut imaginer quelques développements simples à ajouter, je pensais par exemple à la fonction lister, donner le choix de l'éditeur à utiliser en fonction du fichier: notepad, wordpad, word, abiword, works, ou un tableur, etc. (ou l'éditeur panoramic). Mais bon, c'est peut-être une complication (visuelle) pas très utile... PS finalement je n'ai pas résisté, j'ai ajouté le choix du programme utilisé pour lister un fichier (type texte): Notepad, Wordpad, etc., en fonction de ce dont on dispose sur son pc. Il faut pour ça mettre à jour le garnissage des objets LIST 65 (nom) et DLIST 66 (chemin de l'exécutable) qui sont en parallèle. On peut mettre ce qu'on veut, mais il faudrait éventuellement allonger la Form 50 s'il y en a trop (List 65 s'ajuste automatiquement). On voit là l'utilité de la fonction "Path court", pour mettre le chemin abrégé des exécutables. Ceux que j'ai mis dans le source sont pour mon cas personnel, ils sont à ajuster par chacun selon ses désirs et ses conditions locales. Quand il n'y a pas de programme correspondant, c'est que je ne le possède pas. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 22:33 | |
| Vraiment super bien fait, je pense que je piocherais allégrement dedans encore une fois JL35 Merci pour ce joli code | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 22:36 | |
| Merci à toi également Jicehel, pioche tant que tu veux, ça me fait plaisir !
Je viens de faire une petite modif de dernière minute, mais uniquement esthétique, rien d'important.
C'est un explorateur parmi les milliers qui existent un peu partout, la plupart beaucoup plus performants, mais l'avantage ici c'est de posséder le code source et d'avoir la possibilité de le modifier à son goût et de s'ajouter des fonctions personnelles. Un exemple: l'affichage du chemin abrégé d'un fichier. | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 22:46 | |
| Sans compter que l'on peut l'intégrer facilement dans nos programmes pour choisir un fichier à ouvrir ou indiquer le nom et l'emplacement d'un fichier à enregistrer. Bon, je récupère ta dernière mise à jour pour voir la modif | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 22:55 | |
| Dans ce cas il faut élaguer pas mal, mais c'est possible. La modif c'était juste les dimensions de la Form 50, pour gagner un peu de place, mais on peut l'agrandir tant qu'on veut.
On peut envisager aussi de lister les volumes existants (disques annexes, clés usb ou cartes mémoire) pour pouvoir basculer dessus en cliquant, mais il faut pour ça intégrer un script vbs, ce qui alourdit un peu (il n'y a pas de fonction Dos pour faire ça, ni panoramic: le disk_exists bloque). On peut de toute façon y accéder en mettant directement le nom du volume en question dans l'édit en tête... à condition de le connaître ! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Le petit explorateur Mer 6 Juin 2012 - 23:02 | |
| Il faut voir, je ne sais pas encore comment les codes Panoramic et FreeBasic vont s'intégrer mais ce sera peut être codable directement dans un code source bientôt | |
| | | Contenu sponsorisé
| Sujet: Re: Le petit explorateur | |
| |
| | | | Le petit explorateur | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |