IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Affichage des dates dans FileListBox, ShellListView ou récupération date de fichier [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 30
    Points
    30
    Par défaut Affichage des dates dans FileListBox, ShellListView ou récupération date de fichier
    Bonjour, après de longues recherches et des lectures variées de différentes pages web concernant ces filelistbox et shelllistview et l'affichage des fichiers, je ne parviens toujours pas à comprendre ...

    • comment afficher les dates des fichiers en plus de: name ext (filelistbox)
    • comment afficher les dates des fichiers en plus de: name ext size (shellListview)
    • y a t il une autre méthode plus facile pour afficher une liste de fichier filtré par ext et trié par date (avec affichage date) ?
    • Comment aurais je dû procéder pour trouver ces infos dans le prog lazarus ?



    je teste sur une application avec un
    directoryedit + filelistbox liée
    et un bouton pour afficher le directoryedit.directory dans un shellListview

    mais je ne trouve nulle part dans les proprietes, ni evenements comment afficher la date des fichiers

    Merci de votre attention

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Yep !
    Citation Envoyé par gilgameshh Voir le message
    Comment aurais je dû procéder pour trouver ces infos dans le prog lazarus ?
    (...)
    mais je ne trouve nulle part dans les propriétés, ni événements comment afficher la date des fichiers
    Si tu ne trouves pas, c'est parce que ça n'est pas prévu...

    Si tu veux ces infos dans ton programme, va falloir mettre les mains dans le cambouis, se retrousser les manches, et tout faire à partir d'une simple ListView en ViewStyle vsReport, lui ajouter 4 colonnes, et coder...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    merci de l'intervention rapide.
    je craignais ce genre de réponse

    j'ai toujours cette question:
    • Comment aurais je dû procéder pour trouver ces infos dans le prog lazarus ?


    petite réflexion personnelle: c'est quand même étrange d'avoir implémenté des outils concernant les fichiers et répertoires sans avoir prévu de donner l'accès à toutes les infos (basiques) des fichiers ... dommage

    pour ce qui est de mettre les mains dans le cambouis ... pfff c'est pas que ça me répugne, loin de là mais c'est pas simple du tout de savoir par quel bout le prendre


    autre chose: je vois sur mon premier topic:
    Dernière modification par Roland Chastain ; Aujourd'hui à 18h50.
    est ce un modérateur ou un admin qui a apporté une correction à mon topic (je ne vois pas laquelle d'ailleurs)


    merci

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par gilgameshh Voir le message
    autre chose: je vois sur mon premier topic:
    est ce un modérateur ou un admin qui a apporté une correction à mon topic (je ne vois pas laquelle d'ailleurs)
    Bonjour ! C'est moi qui ai légèrement retouché le titre de la discussion (j'ai ajouté des majuscules). J'ai négligé de renseigner le motif de la modification, ce qui est un tort.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  5. #5
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par gilgameshh Voir le message
    merci de l'intervention rapide.
    je craignais ce genre de réponse
    Désolé

    Citation Envoyé par gilgameshh Voir le message
    j'ai toujours cette question:
    • Comment aurais je dû procéder pour trouver ces infos dans le prog lazarus ?
    Je ne comprends pas la question : tu ne peux pas trouver ces infos puisqu'elles n'existent pas...

    Citation Envoyé par gilgameshh Voir le message
    pour ce qui est de mettre les mains dans le cambouis ... pfff c'est pas que ça me répugne, loin de là mais c'est pas simple du tout de savoir par quel bout le prendre
    Exemple personnel : j'ai longtemps codé en D7 (6, et 3 avant) et comme il y a beaucoup d'exemples d'explorateurs de fichiers (c'est un peu ça que tu cherches), sur le web et dans l'aide, ce fut une joyeuse galère quand j'ai tenté de créer le mien...
    Et lors de la bascule vers Lazarus, même pas j'ai essayé de migrer mon code ! Je me passe des infos de date et voilà !

    Sinon, une piste : il te faut savoir comment fonctionne une ListView en mode vsReport (ajouter des infos dans les différentes colonnes par ex.), ensuite il te faudra savoir comment récupérer les données qui t'intéressent dans le dossier qui te concerne, et enfin incorporer ces données dans ta ListView et voilà
    Attention, sous Delphi la ListView est molle quand le dossier contient beaucoup de fichiers : on passe alors en virtuel, mais il faut alors prévoir de l'aspirine...

    Citation Envoyé par gilgameshh Voir le message
    autre chose: je vois sur mon premier topic:
    Dernière modification par Roland Chastain ; Aujourd'hui à 18h50.
    est ce un modérateur ou un admin qui a apporté une correction à mon topic (je ne vois pas laquelle d'ailleurs)
    C'est un modo, peut-être y avait-il une énorme faute d'orthographe, par exemple ?
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    héhé, vous êtes pointilleux sur l'orthographe ^_^
    bah une majuscule pas trop grave à mon sens mais bon, c'est votre forum, je me range à votre niv d'exigence
    (quoique tiret imperatif pfff) edit: je voulais ecrire trait d'union en référence à ta signature

    donc pour revenir à ce qui m'amène sur ce forum:

    total debutant avec lazarus
    je suis plus bidouilleur que codeur, j'ai déjà touché à pas mal de langage etc... mais il me faut une base (exemple) pour que je puisse avancer sans devoir me taper des jours de lecture de doc mal fichues

    pour expliquer ce que je cherche à faire:

    je veux proposer aux utilisateurs un affichage (résumé) de sauvegarde (d'un jeu)
    avec affichage de la date heure de manière à les aider à choisir quelle restauration de fichier est la plus adéquate.
    affichage à faire sous forme de mini liste ou label ou popup ou caption ou ListView en mode vsReport etc ...
    Donc je veux amener un peu de visuel pour les aider à choisir rapidement car les sauvegardes comprennent plusieurs parties (de jeu) en cours
    (évoluant ou pas de sauvegarde en sauvegarde)

    les sauveg sauv 1 sauv 2 sauv 3
    partie A état 1 état 2 état 3
    partie B état 1 état 1 état 2
    partie C état 1 état 1 état 1


    voici une capture d'écran de mon petit programme dans l'état actuel du développement
    (il est fonctionnel mais j'ai dû biaiser pour pallier mes manques de connaissances):

    par exemple, l'utilisateur peut utiliser les sauvegardes 2, pour l'instant j'affiche en dessous l'heure du clic de sauvegarde des parties A, B ,C sans distinction
    (à défaut de la date/time des fichiers A, B, C)
    Nom : 9IZpnhr.png
Affichages : 756
Taille : 13,1 Ko

    Voilà, j'espère avoir éclairci ma (mes) demande(s)


    Citation Envoyé par Jipété Voir le message
    Sinon, une piste : il te faut savoir comment fonctionne une ListView en mode vsReport (ajouter des infos dans les différentes colonnes par ex.), ensuite il te faudra savoir comment récupérer les données qui t'intéressent dans le dossier qui te concerne, et enfin incorporer ces données dans ta ListView et voilà
    Attention, sous Delphi la ListView est molle quand le dossier contient beaucoup de fichiers : on passe alors en virtuel, mais il faut alors prévoir de l'aspirine...
    j'ai effectivement mis en évidence ce que j'aimerai trouver


    merci de votre suivi

  7. #7
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Il y a plusieurs façons de récupérer la date de dernière modification d'un fichier. En faisant une recherche rapide sur le sujet, je suis tombé sur la fonction FileAge de l'unité SysUtils. Peut-être pourrait-elle faire l'affaire ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par gilgameshh Voir le message
    héhé, vous êtes pointilleux sur l'orthographe ^_^
    bah une majuscule pas trop grave à mon sens mais bon, c'est votre forum, je me range à votre niv d'exigence (quoique tiret imperatif pfff)
    Euh là je sais pas de quoi tu causes à propos du tiret...
    Cependant il est vrai que je le suis, pointilleux (comme je dis toujours, les fautes d'orthographe pendant une lecture c'est comme des nids de poule sur une belle route, ça te casse le plaisir de la conduite ! Ça n'empêche pas d'arriver, mais on arrive fatigué), et tiens, par exemple, y a rien qui te choque, là ? :
    Nom : sauvegarde.png
Affichages : 646
Taille : 1,7 Ko

    Pas vraiment une faute d'orthographe mais plutôt une faute de cohérence

    Citation Envoyé par gilgameshh Voir le message
    donc pour revenir à ce qui m'amène sur ce forum:
    (...)
    je veux proposer aux utilisateurs un affichage (résumé) de sauvegarde (d'un jeu)
    Ah ben ça va mieux en le disant ! Quand tu parlais de liste (filelistbox et/ou listview) ça sentait son explorateur de fichiers alors qu'en fait ça n'est pas du tout le cas !

    Allez, pour t'éviter de te prendre la tête avec ces histoires de dates, je complète le post de Roland avec ce petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowMessage(DateTimeToStr(FileDateToDateTime(FileAge(Paramstr(0)))));
    Le FileDateToDateTime est mandatory sinon ça raconte nawak ! (Essaye de l'enlever, tu verras )

    Bonne journée,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour.

    Ta première question portait sur le ShellListView.
    Or, d'après tes png, tu veux faciliter la sauvegarde, donc je ne vois pas l'intérêt de ce composant.

    Pour une recherche de fichiers d'après leur date de modification, 2 solutions :
    1) si tu connais le nom des fichiers, utilisation de FileExists et FileAge (cfr Jipété et Roland).
    2) utilisation de TSearchRec avec fonctions FindFirst, FindNext, FindClose : avec ceci tu peux te créer une liste de fichiers avec les critères souhaités (liste = par exemple un TStringList).

    Pour quelques fonctions fichiers dans l'unité SysUtil : http://www.freepascal.org/docs-html/...s/index-5.html
    Pour les fonctions dans l'unité FileUtil : http://lazarus-ccr.sourceforge.net/d...l/index-5.html

    Si SearchRec t'intéresse et que, malgré le web, tu ne sais comment l'utiliser, pose la question.

    Thierry

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    Merci les gars, je me bois un café ou 2 et je me recolle sur mon code avec vos suggestions et pistes.

    Pour la remarque orthographique (pluriel) effectivement le prog est un peu brouillon car j'envisage de le passer en version anglaise voire multilingues (j'ai vu des tutos à ce sujet) donc je n'ai pas fait de corrections poussées.
    De plus je ne suis pas satisfait de la redondance des termes "sauvegarde", "restauration" etc ... faut que je cherche qlq chose de plus agréable.

    Je repasserai faire commentaires et j'espère pouvoir placer la bannière RESOLU sur mon premier topic du forum



    ps: concernant la gestion des pièces jointes de ce forum, je trouve qu'il n'est pas aisé d'intuitivement comprendre comment supprimer les images non utilisées dans des topics ..
    il est écrit que "Les fichiers qui ne sont pas utilisés une heure après leurs ajouts seront supprimés"
    il me semble que cela ne fonctionne pas ! car j'avais fait 2 insertions d'image que j'ai supprimées par la suite dans le topic mais qui se trouvaient encore là aujourd'hui (je viens de manuellement les supprimer)

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    bonsoir, après période de test, j'ai finalement trouvé un moyen de coder un truc qui fonctionne
    je dois bien avouer avoir déclarer forfait pour créer une boucle pour lire les fichiers d'un répertoire et d'en afficher le nom et la date
    • if fileexists then
    • DateTimeToStr (FileDateTodateTime(xxx)


    je parvenais à afficher les noms fichiers mais la date restait invariablement la premiere date lue
    pas compris comment "vider" cette var date à chaque boucle

    bref, je me suis débrouillé autrement sans doute en ralentissant grandement le code sans faire de boucles

    Nom : b18iibj.png
Affichages : 745
Taille : 16,9 Ko


    merci de vos reponses et aides

    je place la bannière RESOLU

  12. #12
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par gilgameshh Voir le message
    je dois bien avouer avoir déclaré forfait pour créer une boucle pour lire les fichiers d'un répertoire et d'en afficher le nom et la date
    Il aurait été intéressant de voir le code de cette boucle...
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    bonsoir,

    oui, bien d'accord mais j'ai viré ce bout de code et plus moyen d'en retrouver de trace ...
    je ne suis pas bien organisé avec tous les fichiers et étapes de projet sous lazarus

  14. #14
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Si tu utilisais une FileListBox, probable que tu as oublié de renseigner le chemin complet des fichiers.

    Regarde ce petit truc pondu en 5 minutes, il fonctionne tip-top (une Form et dessus une TFileListBox, un TMemo et un TButton) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: integer;
      s: string;
    begin
      s := '/etc/';
      FileListBox1.Directory := s;
      for i := 0 to FileListBox1.Count-1 do
        Memo1.Lines.Add(s + FileListBox1.Items.Strings[i] + '----' +
          DateTimeToStr(FileDateToDateTime(FileAge(s + FileListBox1.Items.Strings[i]))));
    end;
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    merci je vais regarder cela demain à tête reposée

    par contre en fouillant plus avant mes différents projets d'essai j'ai retrouvé une étape du code que j'ai abandonné par la suite car pas du tout fonctionnel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    procedure TForm1.Button7Click(Sender: TObject);
    var
    Item: TListItem;
     
    begin
    Count:=0;
     If FindFirst ('c:\Program Files (x86)\xxxxxxxxxxx\survival_*',faAnyFile and faDirectory,Info)=0 then
     begin
        Repeat
        Inc(Count);
        With Info do
          begin
          If (Attr and faDirectory) = faDirectory then
          Inc(FItemIndex);
          Item := ListView1.Items.Add;
          Item.Caption := Format(Name , [FItemIndex]);
          Item.SubItems.Add(Format(DateTimeToStr(timeDate), [FItemIndex]));
          end;
        Until FindNext(info)<>0;
      end;
      FindClose(Info);
    end;

    j'avais essayé comme cela aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    procedure TForm1.Button3Click(Sender: TObject);
     
    begin
    Count:=0;
    If FindFirst ('c:\Program Files (x86)\xxxxxxxxx\survival_*',faAnyFile and faDirectory,Info)=0 then
      begin
      Repeat
      Inc(Count);
      With Info do
       begin
      fa:=FileAge('c:\Program Files (x86)\xxxxxxxxx\survival_?');
      If Fa<>-1 then
        begin
        S:=FileDateTodateTime(fa);
        ListBox3.Items.Add ( DateTimeToStr(S)) ;
        end;
    end;
      Until FindNext(info)<>0;
      end;
      FindClose(Info);
    end;
    si je me souviens bien il n'y a que comme ça que je parvenais à faire des recherches via des caractères génériques (wildcard)
    car je ne voulais afficher que les fichiers avec "survival" * et ?

    mais cela ne fonctionnait que si j' "initialisais" la recherche date via cette procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    if FileExists('c:\Program Files (x86)\xxxxxxxxxxx\survival_1')then
    begin
    FileAge('c:\Program Files (x86)\xxxxxxxxxxx\survival_1', timeDate);
    label1.caption := (' le fichier survival_1 = '+ DateTimeToStr(timeDate));
    end;
    end;
    je me rends bien compte de mon errance et je pense que les codeurs expérimentés doivent avoir les yeux qui piquent en regardant cela

    bref,
    voici mon dernier code en optant pour l'affichage de 3 fichiers "survival*"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    procedure TForm1.Button3Click(Sender: TObject);
    var
    fa1: LongInt;
    fa2: LongInt;
    fa3: LongInt;
    listePaths : TStringList;
    progpath: String;
    begin
    	GroupBox5.Hide;
    	GroupBox6.Hide;
    	If Not DirectoryExists('save3') then
    		GroupBox7.Hide;
    	If Not DirectoryExists('save3') then
    		ShowMessage ('Aller dans les Options pour créer les répertoires de sauvegardes')
    	else
    	GroupBox7.Show;
    	Panel4.Hide;
             ListBox3.Items.Clear();
     
            listePaths := TStringList.Create;
        listePaths.LoadFromFile('launcher.cfg');
        progpath :=  listePaths.Strings[listePaths.Count-1];
            fa1:=FileAge(progpath + 'xxxxxxxxxx\survival_1');
       If Fa1<>-1 then
        begin
        ListBox3.Items.Add ('S_1 :       ' + DateTimeToStr (FileDateToDateTime(fa1)));
     
        end;
     
       fa2:=FileAge(progpath + 'xxxxxxxx\survival_2');
       If Fa2<>-1 then
        begin
        ListBox3.Items.Add ('S_2 :       '+ DateTimeToStr (FileDateTodateTime(fa2))) ;
        end;
     
       fa3:=FileAge(progpath + 'xxxxxxxxx\survival_3');
       If Fa3<>-1 then
        begin
        ListBox3.Items.Add ( 'S_3 :       '+ DateTimeToStr (FileDateTodateTime(fa3))) ;
        end;
     
    end;
    pascal vs gilgameshh = 1-0 :

  16. #16
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour.

    Pour ton info, voici comment lister les fichiers d'un répertoire avec TSearchRec.
    Stockage des fichiers dans un TListBox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    procedure TForm1.SearchFiles(Dir: string; Filter: string);
    var
       Info: TSearchRec;
    begin
       Dir:= IncludeTrailingPathDelimiter(Dir);
       if FindFirstUTF8(Dir + Filter,  faAnyFile, Info) = 0 then
          repeat
             if (Info.Name = '.') or (Info.Name = '..') or
                   (Info.Name = '') then Continue; // on saute les fichiers spéciaux  
             if (Info.Attr and faDirectory) = 0 then // trouvé un fichier et non un dossier
                ListBox1.Items.Add(Info.Name + '     ' + DateTimeToStr(FileDateToDateTime(Info.Time)));
          until FindNextUTF8(Info) <> 0;
       FindCloseUTF8(Info);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      SearchFiles('c:\data', '*.*');
      // ou SearchFiles('c:\data', '*.txt');
    end;
    Cordialement
    Thierry

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Photographe
    Inscrit en
    Septembre 2014
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Photographe
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2014
    Messages : 25
    Points : 30
    Points
    30
    Par défaut
    merci je vais regarder cela tranquillement ce soir

    ps:
    je vais regarder ton message qui répond à une autre de mes questions
    http://www.developpez.net/forums/d14...g/#post7973819

  18. #18
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    @ThWilliam

    Pourquoi if (Info.Attr and faDirectory) <= 0 then ? C'est = qu'il faut mettre, non ?
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  19. #19
    Membre chevronné

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour Roland.

    Merci pour ta remarque.
    Tu as raison.
    Un peu distrait cette matinée...

    J'ai corrigé le code et j'en ai profité pour ajouter le saut des fichiers spéciaux.

    Cordialement
    Thierry

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage des liens dans internet Explorer
    Par totojak dans le forum IE
    Réponses: 1
    Dernier message: 06/09/2005, 15h42
  2. Réponses: 9
    Dernier message: 02/02/2005, 15h52
  3. []Problème d'affichage des enregistrements dans un DataReport
    Par GeniuZ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 05/01/2005, 16h52
  4. [C#] Affichage des lignes dans un tableau.
    Par maldufleur dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h28
  5. Réponses: 1
    Dernier message: 06/03/2003, 11h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo