Droopy's Lib

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Message par GG »

Je suis en train de tester ta lib Droopy, très bien jusqu'à présent.
Question, j'utilise tes fonctions LDB_*. Manipulant plusieurs databases, il est fastidieux d'en fermer une, puis de rouvrir l'autre, etc... Est-il possible de créer une fonction de type usefile (lorsque en Purebasic tu ouvres plusieurs fichiers en même temps), qui s'appellerait par exemple LDB_Usedatabase, pour sélectionner une des databases simultanément ouvertes ?

Je ne sais pas si j'ai été assez clair dans mon explication...
PureBasic 6.03 - Windows 11 22H2 (64 bits)
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

En fait la DataBase est stockée dans une LinkedList.

Je ne connais pas de méthode pour créer des linkedList à la volée .

Désolé :oops:
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Je suis en train d'en programmer une (+fct de Tri et de recherche).
J'espère qu'elle vous plaira ! :lol:

En tout cas je la crée pour l'utiliser dans de futur projets donc elle sera générique (pourra stoquer des différentes infos : long, strings et structures).

Actuellement à trier une liste de 1000 éléments (longs ou Strings) en 100ms. Mais je vais rechercher un algo + optimisé.

Plus d'info bientot.
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Cool 8)
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Version 1.26 disponible 8)

Le changelog indique les modifs .
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

cool ! :D

mais pourquoi faire 2 lien ? un pour la lib et l'autre pour le CHM ?

pourquoi pas tout grouper dans un zip ? 8O
surtout que de telecharger un *.EXE c'est pas possible pour tout le monde !
a cause des protections ! il y a beaucoup de risques a recuperer un exe !
car pour X raison on peut le lancer plus facilement !
un zip , faut d'abord desarchiver , ce qui fait que l'on peut mieux maitriser ce que l'on fait !
pis comme je le dit pour un exe certain system d'entreprise empecheron le telechargement d'un EXE direct !
un zip ça passe partout ! et ça se telecharge plus vite ! :D
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Je vais y réfléchir, merci pour tes critiques constructives 8)
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

En + l'exe contient le CHM !!!
:0: Droopy !!!
Le lien de l'aide est donc inutil... :wink:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

C'est fait 8)
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Droopy, tu pourrais pas ajouter ces deux fonctions là ? (tu change leur nom si tu veux, ms elles sont bien pratiques) :

Code : Tout sélectionner

Procedure.s EnleveExtension(file$)
  Protected extLen.l
  
  extLen = Len(GetExtensionPart(file$))
  If extLen
    ProcedureReturn Left(file$, Len(file$)-(extLen+1))
  Else
    ProcedureReturn file$
  EndIf
  
EndProcedure

; Zap les dossiers "." et ".."
Procedure NextDirectory()
  Protected FileType.b, FileName$

  FileType = NextDirectoryEntry()
  If FileType = 2
    FileName$ = DirectoryEntryName()
    If FileName$ = "." Or FileName$ = ".."
      ProcedureReturn(NextDirectory())
    EndIf
  EndIf
  ProcedureReturn(FileType)

EndProcedure
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Pour la 1° fonction j'avais justement prévu la même fonction que toi ! ( Transmission de pensée ? ) 8)

Code : Tout sélectionner

Procedure.s GetFilePartWithoutExtension(FullPath.s)
  FullPath=GetFilePart(FullPath)
  ProcedureReturn Left(FullPath, Len(FullPath)-1-Len(GetExtensionPart(FullPath))) 
EndProcedure

;/ Test
NbFiles=SearchFilesInit(GetSystemDirectory(),"*.txt")
Text.s=Str(NbFiles)+" files found"+#CRLF$+#CRLF$
Repeat
  File.s=SearchFilesGet()
  If File="" : Break : EndIf
  Text.s + GetFilePartWithoutExtension(File) + #CRLF$
ForEver
MessageRequester("*.TXT in SystemDirectory",Text)
Pas de problème pour l'ajout de la fonction NextDirectory dans la prochaine version .
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Une petite remarque. Dans ta lib essaie d'optimiser tes fonctions. L'exemple de lionel pour l'extension est bien plus performant.

Non seulement il vérifie qu'une extension existe mais en plus il ne limite pas le résultat à la partie fichier.

Dri
Avatar de l’utilisateur
Droopy
Messages : 1151
Inscription : lun. 19/juil./2004 22:31

Message par Droopy »

Bien vu, j'ai ajouté le test de l'extension.

Par contre je ne veux pas récupérer le chemin du fichier, je veux la même fonction que GetFilePart mais sans l'extension .
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

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:
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Message par Good07 »

Bonsoir.

J'ai un petit problème avec ta Lib. Je viens de l'installer et dès que je lance PureBasic j'ai le message suivant:

Compiler Error: Duplicated library command:LdbAddField():(in libbrairies Ldb and Droopy) :(

Je pense que la correction ne doit pas être trop difficile.

Merci d'avance.
Répondre