une fois de plus, je viens vers vous pour solliciter votre expérience, j'ai fait une procédure pour charger un fichier et je voudrais qu'il n'y ait que le nom du fichier avec son extension, mais pas le chemin et je ne comprend pas car elle me retourne "" et si je commente la ligne 6, j'ai le chemin + le nom du fichier + l'extension !
Procedure.s ChargerFichier()
FichierParDefaut$ = "*.*"
Filtre$ = "Tous les fichiers (*.*)|*.*"
Filtre = 0
Fichier_a_charger$ = OpenFileRequester("Choisissez un fichier à charger", FichierParDefaut$, Filtre$, Filtre)
Fichier_a_charger$ = GetFilePart(Fichier_a_sauvegarder$)
ProcedureReturn Fichier_a_charger$
EndProcedure
Je vous remercie d'avance pour votre réponse.
Dernière modification par Micoute le mer. 03/sept./2014 12:50, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Pourquoi ton code ne fonctionne pas c'est simple tu utilise plein de variables sans les déclarés et donc il arrive des fois que l'on fasse une petite erreur dans le nom de la variable.... Mais dans ton cas c'est juste que le part utilise une variable vide.
EnableExplicit
UseZipPacker()
#Fichier_a_charger = 1
#Fichier_a_sauvegarder = 2
Global Filtre$, FichierParDefaut$, Filtre.i
Global Fichier_a_sauvegarder$
Global Fichier_a_charger$
Procedure.s ChargerFichier()
FichierParDefaut$ = "*.*"
Filtre$ = "Tous les fichiers (*.*)|*.*"
Filtre = 0
Fichier_a_charger$ = OpenFileRequester("Choisissez un fichier à charger", FichierParDefaut$, Filtre$, Filtre)
ProcedureReturn Fichier_a_charger$
EndProcedure
Procedure.s SauvegarderFichier()
Filtre$ = "Tous les fichiers (*.*)|*.*"
Filtre = 0
Fichier_a_sauvegarder$ = SaveFileRequester("Choisissez un fichier à sauvegarder", FichierParDefaut$, Filtre$, Filtre)
Fichier_a_sauvegarder$ = GetFilePart(Fichier_a_sauvegarder$, #PB_FileSystem_NoExtension)
Fichier_a_sauvegarder$ + ".zip"
ProcedureReturn Fichier_a_sauvegarder$
EndProcedure
Procedure Fichier_a_compresser(Fichier.s)
Protected longueur, *IDMemoire
If ReadFile(#Fichier_a_charger, Fichier)
longueur = Lof(#Fichier_a_charger)
*IDMemoire = AllocateMemory(longueur)
If *IDMemoire
ReadData(#Fichier_a_charger, *IDMemoire, longueur)
EndIf
CloseFile(#Fichier_a_charger)
ProcedureReturn *IDMemoire
EndIf
EndProcedure
ChargerFichier()
SauvegarderFichier()
Define *mem
If CreatePack(#Fichier_a_sauvegarder, Fichier_a_sauvegarder$, #PB_PackerPlugin_Zip)
*mem = Fichier_a_compresser(Fichier_a_charger$)
AddPackMemory(#Fichier_a_sauvegarder, *mem, MemorySize(*mem), GetFilePart(Fichier_a_charger$))
ClosePack(#Fichier_a_sauvegarder)
FreeMemory(*mem)
EndIf
Merci beaucoup pour ton aide qui m'a été très profitable.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Ton programme ne sait pas où sauvegarder ton archive, car quand tu utilises le FileRequester pour la sauvegarde, tu ne gardes que le nom, donc il te faut repréciser le chemin :
Merci du conseil, GallyHC, mais j'oublie tout le temps, on ne se refait pas !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !