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

 Delphi Discussion :

Valeur maximale parmi plusieurs lignes


Sujet :

Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2016
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Avril 2016
    Messages : 73
    Points : 41
    Points
    41
    Par défaut Valeur maximale parmi plusieurs lignes
    Bonjour,

    J'ai un fichier .txt avec un grand nombre de lignes que je charge dans un memo. Dans chacune de ces lignes, il y a en caractères 152 à 158, un nombre comme "160315" ou "160316". J'aurai besoin de récupérer le nombre le plus haut parmi toutes les lignes.


    voici le code que je propose:

    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
    var
      i : integer;
      j: integer;
      l:string;
      m:integer;
      k:string; // vérif bon établissement
      phrase : string;
      nomjour:string;
      dernierjour:integer;
      memo: Integer;
     
     
     
     
         begin
                     l:=copy(Memo4.Lines[i],152,6);
     
               for m := 0 to memo4.Lines.Count-1 do begin
                      dernierjour := High(l);
     
     
             end;
     
              showmessage(IntToStr(dernierjour));
    Avec ce code, j'ai comme résultat "6", ce qui je comprends vu que dans "160315", c'est bien 6 qui est le plus grand. Mais ce que je veux obtenir comme résultat, c'est "160321", vu que c'est ce nombre là qui est le plus grand parmi toutes les lignes.


    Voici qqes lignes de mon fichier

    Larmusuin, Yvonne Marie Yvonne19080505655 00007-01 1939-01-01 reumon 0ABUT990102893634 0A18:00 16031573260536100 aucunements 00007-01
    Larmusuin, Yvonne Marie Yvonne19080505655 00007-01 1939-01-01 reumon 0ABUT990102893634 0A18:00 16031673260536100 aucunements 00007-01
    Larmusuin, Yvonne Marie Yvonne19080505655 00007-01 1939-01-01 reumon 0ABUT990102893634 0A18:00 16031773260536100 aucunements 00007-01
    Larmusuin, Yvonne Marie Yvonne19080505655 00007-01 1939-01-01 reumon 0ABUT990102893634 0A18:00 16031873260536100 aucunements 00007-01
    Larmusuin, Yvonne Marie Yvonne19080505655 00007-01 1939-01-01 reumon 0ABUT990102893634 0A18:00 16031973260536100 aucunements 00007-01
    Larmusuin, Yvonne Marie Yvonne19080505655 00007-01 1939-01-01 reumon 0ABUT990102893634 0A18:00 16032073260536100 aucunements 00007-01
    Larmusuin, Yvonne Marie Yvonne19080505655 00007-01 1939-01-01 reumon 0ABUT990102893634 0A18:00 16032173260536100 aucunements 00007-01
    callocq, Suzanne Suzanne 20080416297 00004-01 1939-01-01 reumonnebergen 0ABUT990101391077 0A18:00 16031573260536100 aucunements 00004-01
    callocq, Suzanne Suzanne 20080416297 00004-01 1939-01-01 reumonnebergen 0ABUT990101391077 0A18:00 16031673260536100 aucunements 00004-01
    callocq, Suzanne Suzanne 20080416297 00004-01 1939-01-01 reumonnebergen 0ABUT990101391077 0A18:00 16031773260536100 aucunements 00004-01
    callocq, Suzanne Suzanne 20080416297 00004-01 1939-01-01 reumonnebergen 0ABUT990101391077 0A18:00 16031873260536100 aucunements 00004-01
    callocq, Suzanne Suzanne 20080416297 00004-01 1939-01-01 reumonnebergen 0ABUT990101391077 0A18:00 16031973260536100 aucunements 00004-01
    callocq, Suzanne Suzanne 20080416297 00004-01 1939-01-01 reumonnebergen 0ABUT990101391077 0A18:00 16032073260536100 aucunements 00004-01
    callocq, Suzanne Suzanne 20080416297 00004-01 1939-01-01 reumonnebergen 0ABUT990101391077 0A18:00 16032173260536100 aucunements 00004-01

    D'avance merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je vais répondre avec un code pas très top et directement en ligne donc sans contrôle. De plus je remarque que la fameuse "date" n'est pas toujours en même position !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function MaxDateInMemo(m : TMemo) : Integer;
    var i : integer;
         d : String;
    begin
     result:='';
     for i:=0 to Pred(m.Lines.Count) do
       begin
         d:= copy(M.Lines[i],152,6);
         if d>Result then Result:=d;
       end;
    end;
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Avril 2016
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Avril 2016
    Messages : 73
    Points : 41
    Points
    41
    Par défaut
    ok merci!

Discussions similaires

  1. [XL-2007] Allégement d'une suppression de lignes parmi plusieurs lignes
    Par Sylla12345 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/12/2016, 16h21
  2. [XL-2007] Trouver la dernière colonne occupée parmis plusieurs lignes sélectionnées
    Par Rémy A. dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/07/2013, 12h13
  3. Réponses: 8
    Dernier message: 13/01/2010, 06h42
  4. Reporter valeur enregistrement sur plusieurs lignes suivantes
    Par oarnold dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 06/03/2008, 17h52
  5. Récupérer une seule valeur parmi plusieurs
    Par geraldgg dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/05/2007, 10h26

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