Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMPOSANT LISTE DE STRINGS AVEC CHAMPS


Information sur la source

Catégorie :Composants Classé sous : liste, StringList, list, data Niveau : Initié Date de création : 19/04/2008 Date de mise à jour : 06/05/2008 10:01:42 Vu / téléchargé: 3 033 / 382

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

Description

TRecordsList est une liste de strings, chaque string comportant une ou plusieurs "sous-chaînes" (champs).
Le composant est dérivé de TList et non pas de TStrings, ce qui permet de stocker dans un seul champ un texte avec retours-chariot.
Exemple : MaListe.Add([Edit1.Text, Memo1.Text]);
La liste peut être triée de façon maintenue sur un ou plusieurs champs.
Fonctions de recherche par clés.
Petite démo jointe et présentation du composant dans un fichier .rtf

Merci d'avance pour vos commentaires.

Thierry
 

Conclusion

Utilité :
- sauvegarder dans un seul fichier les saisies de données par l'utilisateur du programme.
- simple BD "maison".
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

20 avril 2008 15:29:39 :
20/04/08 : propriété FieldValue déclarée par défaut + correction procedure DoFindkey (pas de problèmes en usage interne, mais bug avec FindKey utilisateur).
20 avril 2008 15:32:07 :
Propriété FieldValue déclarée par défaut. Correction de DoFindKey (pas de problèmes en interne, mais bug avec FindKey utilisateur)
06 mai 2008 10:01:43 :
Ajout function EditField pour faciliter modification d'un record.

Commentaires et avis

signaler à un administrateur
Commentaire de cirec le 19/04/2008 13:57:50 administrateur CS 10/10

Alors moi je dis bravo

il y a eu beaucoup de travail de fait et une présentation soignée.

très très bien et certainement très utile ^^
10/10

signaler à un administrateur
Commentaire de ThWilliam le 19/04/2008 14:05:53

Grand merci à toi, Cirec

Thierry

signaler à un administrateur
Commentaire de ThWilliam le 19/04/2008 17:19:10

Salut Florent et grand merci à toi.

FiedValue par défaut et OnChange : excellente suggestion, j'ajouterai cela dans une prochaine mise à jour.
Cirec et toi, vous m'avez donné du coeur à l'ouvrage : je travaille déjà sur un compo dérivé avec champs typés...

"je vois déjà à quoi ça pourrait bien te servir..." : à faire un fichier de descriptifs de photos, p.ex ?
  
Thierry

signaler à un administrateur
Commentaire de amiga68 le 21/04/2008 07:28:40 10/10

Superbe boulot !

Me servira sans avoir à réinventer la roue !

signaler à un administrateur
Commentaire de ThWilliam le 21/04/2008 09:21:57

Merci pour ton appréciation, Amiga68.
Et heureux de voir que ce compo puisse t'être utile.

Thierry

signaler à un administrateur
Commentaire de Delphiphi le 21/04/2008 10:02:22

Impressionnant !
Par contre, lorsque j'ouvre le projet, ds l' unit RecList à la fonction CustomRecList.SearchFieldValue, j'ai une erreur sur la ligne
P1:= PosEx(RL_FIELDSEPARATOR, S, P1 + 1);
Ça me donne une erreur Identificateur non déclaré : 'PosEx'.
J'utilise D6 Perso sous W2000 Pro.

signaler à un administrateur
Commentaire de cirec le 21/04/2008 10:21:18 administrateur CS

@Delphiphi:

c'est normal PosEx n'est apparue qu'avec D7 mais tu peux trouver une une implémentation ici :
http://www.developpez.net/forums/showthread.php?t=41069&highlight=PosEx

c'est pas la même que celle de Delphi mais elle fait le même travail (je l'ai pas testé personnellement)

Celle de Delphi est écrite en assembleur et est donc plus rapide en dehors de cela les résultats devraient être les mêmes
@++

signaler à un administrateur
Commentaire de cirec le 21/04/2008 10:38:09 administrateur CS

tu as beaucoup de chance :

j'ai trouvé l'implémentation d'origine (qui est la même que celle fournit avec Delphi) de Aleksandr Sharahov:
http://delphi.newswhat.com/geoxml/forumhistorythread?groupname=borland.public.delphi.language.basm&messageid=4241ce68@newsgroups.borland.com

Tu verras il y en a plusieurs (c'est l'avant dernière, qu'il faut prendre) elle est nommé : PosEx_Sha_IA32_4_a

Tu recopies le code et tu renommes la fonction en PosEx et voili voilou tu as la même que nous ^^

pas belle la vie ^^

signaler à un administrateur
Commentaire de ThWilliam le 21/04/2008 10:45:41

Bonjour Delphiphi et merci.

Pour le problème de PosEx, ceci doit être plus rapide que la fonction trouvée sur le site renseigné par Cirec.

function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;
begin
  if Offset <= 1 then Result:= Pos(SubStr, S)
  else
  begin
    Result:= Pos(SubStr, Copy(S, Offset, Length(S)));
    if Result > 0 then Result:= Result + Offset -1;
  end;
end;

En D6, tu auras peut-être aussi un problème avec TFormatSettings. Si c'est le cas, tu peux virer dans MainFrm.pas tout ce qui concerne FS. Cela ne change pas grand chose à la démo.

A +
Thierry





signaler à un administrateur
Commentaire de ThWilliam le 21/04/2008 10:48:20

Salut Cirec,
désolé, je n'avais pas vu ton dernier commentaire avant d'ajouter le mien.
A +
Thierry

signaler à un administrateur
Commentaire de cirec le 21/04/2008 10:53:34 administrateur CS

ha ha ha ... justement je lisais ton premier commentaire et
je me demandais ce que tu avais fumé ... mdr

Mais tu as quand même raison en disant que cette version est plus rapide que la première de mes propositions

Mais en ce qui concerne la deuxième .... heu ... aucune chance ^^

signaler à un administrateur
Commentaire de MAURICIO le 24/04/2008 18:48:10

Arg, je voulais tester ton compo cette semaine mais il n' y aura pas moyen vu que demain est un jour férié au Portugal et que je m' en vais à la plage loin de Delphi et d' Internet! Et comme hier je me devais de corriger mon propre compo ...

D' après les fonctionnalités, ce compo semble très interessant.
Lundi je te donnerai mon avis ^^

A+

PS: tu as vu la source de Kenavo et la mienne sur les sous-chaines? (fait une cherche avec "chouchen")

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Liste [ par MFC42 ] Salut, comment faut faire pour afficher le nombre que contient une liste sur un label ? List [ par VB6fr.dll ] Salut, comment ça se fait que je peux pas mettre l'évenement "OnChange" sur une liste ? Changer le nom d'un champ dans une base Paradox [ par Philippe ] Est_ce quelqu'un sait comment renommer le nom d'un champ dans une table paradox ? J'ai trouvé pour créer une table dans un prog avec les champs mais j Probleme ListView [ par Shadow ] Quand je mets ce code là et que je l execute il me dit erreur !code :varlist:TlistItem;beginif list.Caption = 'Quitter' then main.Close; FileListBox [ par jlg75 ] Question idiote, j'affiche une liste de fichiers dans une TFileListBox synchronisée avec l'affichage des répertoires dans une DirListBox(façon explora Parcourir un répertoire [ par DarkLago ] Est-ce que quelqu'un sait comment puis-je faire pour récupérer la liste des fichier sous forme de string ou de liste contenus dans un répertoire ??? combobox [ par cldvax ] Bonjour à tousJe suis débutant en programmation vba et j'ai deux petits problèmes.Dans une combobox j'arrive à extraire une valeur dans une liste, pré Liste des Extensions de fichier [ par Gysmo ] Dans l'explorer,menu Outills|Option des dossiers|Types de fichiers, une liste des extensions apparait.Ben voila j'aimerais savoir si c possible de rec Lecteur Mp3 [ par MAsterC ] Salut !Je me suis faite un lecteur Mp3 et toute marche sauf ma liste de mp3. J'ai mis un TOpenDialog (pour ouvrir les Mp3 voulu)et après j'ai un probl ecrire des data dans registre [ par crogger ] Salut, je voudrai arriver à ecrire dans la base registre des informations de type DATA...par exemple, une fois détérminé le chemin etc... pouvoir ecri


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.