Coder l'heur en minute avec delphi 7

sandra83 Messages postés 84 Statut Membre -  
sandra83 Messages postés 84 Statut Membre -
Bonjour,

j'ai un fichier texte qui contient les champs suivant:

voici un exemple de mon fichier:
IP	                        URL	                        DH

41.97.166.26	/accueil.html	            11:33:01
41.97.166.26	/theflogos.php	            11:33:06
41.97.166.26	/thelogos.php	            11:33:06
41.97.166.26	/offresdemploi.html	    11:37:10


l'heur est codé par : heur, minute, seconde
je veux transformer cette format en minute, c a d, la coder que en minute,
je trvail avec delphi 7,
j'esper vous pouvez maider

2 réponses

  1. Profil bloqué
     
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private
    { Déclarations privées }
    public
    { Déclarations publiques }
    end;

    var
    Form1: TForm1;

    implementation
    uses DateUtils;
    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var TimeDonne : String;

    function ConvertToMin(TimeStr : String) : Double;
    var Time : TDateTime;
    Heure, Min, Sec, MillSec : Word;
    begin
    Time := StrToTime(TimeStr);
    DecodeTime(Time, Heure, Min, Sec, MillSec);
    Result := (Heure * 60) + Min + (Sec / 60) + 00;
    end;

    begin
    TimeDonne := '10:10:15'; // Valeur à passer en paramètre
    ShowMessage(FloatToStr(ConvertToMin(TimeDonne))+ ' Min');
    end;

    end.
    0
    1. sandra83 Messages postés 84 Statut Membre
       
      bonjour metarefsalem et merci de m'avoir répondu,
      j'ai bien réussi a résoudre le problème de minute, maintenant j'ai un autre problème concernant le même fichier qui contient des enregistrements : ip, url, dh
      dh représente le temps en minute,
      je veux calculer la différence entre deux lignes successive et mettre le résultat dans la première ligne,
      donc j'ai considéré mon fichier comme un fichier séquentiel sous forme de tableau dynamique qui contient n lignes et 3 colonnes, donc il est coder comme ceci
      type
      Tlog=record
      ip:integer;
      url:string;
      dh:integer;
      end;
      TTablog=array Tlog;
      


      donc le problème c'est que je ne sais pas comment faire pour ouvrir mon fichier , le transformer en tableau et faire mon calcule,
      voila ma proposition pour le calcule:

      var
      Tablog=array of array of string;
      begin
      SetLength(Tablog,100,3);
      begin
      for i:=1 to 100 do
      Tablog[i,3]=Tablog[i+1,3]-Tablog[i,3];
      end;
      end;
      


      j'espère que vous pouvez m'aider.
      0
  2. Profil bloqué
     
    1 - Si dh est de vocation difference horaire, il manque les deux termes de la difference h1, h2 tel que dh = h1 - h2 avec ou sans condition h1 >= h2.

    2 - Il est déconseillé d'utiliser des tableaux dynamiques ou des pointeurs dans l'implémentation d'un fichier, il faut recourir à d'autres techniques qui consistent à effectuer les calculs séparément et les sauvegarder ensuite, la classe TStringList répond au besoin, vous pouvez ensuite transferer les données de la liste vers un fichier sequentiel ou binaire de votre choix.
    0
    1. sandra83 Messages postés 84 Statut Membre
       
      bonjour;
      s'il vous plai est ce que vous pouvez m'expliquer un peu plus ou bien me donner un éxemple parce que je suis débutante avec delphi,
      merci.
      0