Page 7 sur 12

Publié : ven. 30/sept./2005 20:44
par Droopy
Supprime la Lib LDB ( elle a été intégrée dans la Droopy Lib )

C:\Program Files\PureBasic\PureLibraries\UserLibraries\Ldb ( sans extension )

Publié : sam. 01/oct./2005 7:26
par Good07
Bonjour Droopy.

En fait je m'en doudais un peu mais je voulais prendre l'avis du spécialiste avant de le faire car en ce moment j'utilise la librairie Ldb pour une application.

Merci pour ta réponse.

Publié : sam. 01/oct./2005 8:39
par Droopy
lionel_om a écrit :Bah tu fais file$ = GetFilePart(file$)
Puis la suite du traitement.

Mais c'est pas forcément une bonne idée de tronquer le répertoire.
Si l'utilisateur veux ke le nom de fichier sans extension et sans le chemin d'accès, et bah il combine les deux fonctions... :wink:
Chemin = GetPathPart
Fichier = GetFilePartWithoutExtension
Extension = GetExtensionPart

Avec ces 3 fonctions on peut générer ce que l'on veut :wink:

Publié : sam. 01/oct./2005 9:28
par lionel_om
Mais pour supprimer l'extension on est obligé de faire :
GetPathPart(file$) + GetFilePartWithoutExtension(file$)

Ca aurait été mieux que GetFilePartWithoutExtension() n'enlève que l'extension et non pas également le répertoire.

Publié : sam. 01/oct./2005 12:06
par Droopy
Que pense tu de ça ?

Code : Tout sélectionner

Procedure.s GetFilePartAndPathWithoutExtension(FullPath.s) 
  LenExt = Len(GetExtensionPart(FullPath)) 
  ;FullPath=GetFilePart(FullPath)
  If LenExt
    ProcedureReturn Left(FullPath, Len(FullPath)-1-Len(GetExtensionPart(FullPath))) 
  Else
    ProcedureReturn FullPath
  EndIf
EndProcedure

;/ Test 
NbFiles=SearchFilesInit("c:\windows","*.txt") 
Text.s=Str(NbFiles)+" files found"+#CRLF$+#CRLF$ 
Repeat 
  File.s=SearchFilesGet() 
  If File="" : Break : EndIf 
  Text.s + GetFilePartAndPathWithoutExtension(File) + #CRLF$ 
ForEver 
MessageRequester("*.TXT in SystemDirectory",Text)

Publié : sam. 01/oct./2005 12:51
par lionel_om
:yes:, c'est ce que je voulais !!!
Elle sera incluse dans la prochane version ?

Et pour mon autre fonction ? (Elle est indispensable celle là ) !!!

Publié : sam. 01/oct./2005 13:07
par Dr. Dri
ca fait quand même des longs noms de fonctions tout ca... Pourquoi ne pas passer par des flags et des fonctions à signature variable ?

Dri

Publié : sam. 01/oct./2005 15:20
par Droopy
lionel_om a écrit ::yes:, c'est ce que je voulais !!!
Elle sera incluse dans la prochane version ?

Et pour mon autre fonction ? (Elle est indispensable celle là ) !!!
Oui et oui

Publié : sam. 01/oct./2005 15:22
par Droopy
Dr. Dri a écrit :ca fait quand même des longs noms de fonctions tout ca... Pourquoi ne pas passer par des flags et des fonctions à signature variable ?

Dri
J'utilise Japbe, et avec l'autocompletion ça va très vite à saisir :wink:
Sinon j'ai pas compris pour la suite, tu peux m'expliquer ?

Publié : sam. 01/oct./2005 16:32
par Dr. Dri
par exemple
GetFileName(chaine.s, [options.l])

les options :
#GetFileName_Path
#GetFileName_File
#GetFileName_Extension

Code : Tout sélectionner

Debug GetFileName("c:\autoexec.bat", #GetFileName_File)
Debug GetFileName("c:\autoexec.bat", #GetFileName_Path|#GetFileName_File)
Debug GetFileName("c:\autoexec.bat", #GetFileName_File|#GetFileName_Extension)
Ce qui renverrai respectivement : "autoexec", "c:\autoexec" et "autoexec.bat"

Dri :idea:

Publié : sam. 01/oct./2005 20:47
par Droopy
GetFilePart(FileName.s, options)

avec comme options :
#GetFilePart_Drive
#GetFilePart_Path
#GetFilePart_File
#GetFilePart_Extension

ça irait ?

Publié : sam. 01/oct./2005 21:42
par Dr. Dri
Ca commence à vraiment avoir de la gueule ^^
Par contre les noms des constantes sont trop longs...

je suggere de remplacer le GetFilePart_ par GFP_
(par contre le "drive" n'est pas valable sous linux)

Dri ;)

Publié : sam. 01/oct./2005 21:45
par Droopy
No problemo 8)

Publié : dim. 02/oct./2005 13:40
par lionel_om
Faut pas prendre un autre nom de fonction, car c'est déjà utilisé par PB GetFilePart() ?!!!

Publié : dim. 02/oct./2005 13:44
par Dr. Dri
ah ouai me suis pas rendu compte, j'avais proposé GetFileName et j'ai cru qu'il avait gardé lol

Dri :lol: