Ajout de temps

lordi12 Messages postés 3 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006 - 22 nov. 2006 à 20:22
lordi12 Messages postés 3 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006 - 23 nov. 2006 à 16:44
Bonsoir

petite question,soit un chronometrage avec:
jj:mm:aaaa  hh:mm  +  un commentaire...
cette liste est susceptible d'etre longue
(+/- une cinquantaine de ligne les unes
en dessous des autres),comment faire
pour ajouter en une seule fois avec
un TButton les sec a la suite des min?
(jj:mm:aaaa  hh:mm:ss)
sec qui seraient par defaut sur :00
merci a vous

13 réponses

mtaallah Messages postés 28 Date d'inscription lundi 10 décembre 2001 Statut Membre Dernière intervention 13 décembre 2006
23 nov. 2006 à 01:05
Salut...
   Essayez de préciser mieux votre question
Merci
0
lordi12 Messages postés 3 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006
23 nov. 2006 à 06:41
voila,j'ai une liste de temps (chrono) dans
un fichier txt
23:11:2006  09:54
23:11:2006  10:40
etc....
les secondes dans cette liste ne sont pas
la,comment faire avec un prog pour les
afficher dans toute la liste?
23:11:2006  09:54:00
etc...
j'ai cherché dans des faq (date/heure etc) mais
rien trouvé pour mon cas.merci
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
23 nov. 2006 à 09:13
salut,

bin si ton format et fixe, c'est simple:

Il suffit de lire ton fichier ligne par ligne et d'ajouter ":00" à la position 17 de ta ligne.

cherche de la doc sur la manipulation de fichier/stream texte.

sinon DateTimeToString peu peut-être t'aider.

bon code,
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
23 nov. 2006 à 09:25
Salut,

Ouais, 50 lignes...
Soit tu fais à la main : 5 minutes (avec le copier-coller)
Soit tu fais un bout de code : 2 minutes.
Soit tu demandes le code sur le forum : 10 secondes... (je plaisante)

Donc :

procedure AddStrToLine(const FileName, S: string);
var
  StringList: TStringList;
  i: Integer;
begin
  StringList := TStringList.Create;
  with StringList do
  try
    LoadFromFile(FileName);
    for i := 0 to Count -1 do
      Strings[i] := Strings[i] + S;
    SaveToFile(FileName);
  finally
    Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  AddStrToLine('TonFichier.txt', ':00');
end;

Bons débuts en Delphi !

japee
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
23 nov. 2006 à 09:29
Salut Loda,

Je n'avais pas vu ta réponse...
Problème de rafraîchissement et d'upload en ce moment.

A +

japee
0
Utilisateur anonyme
23 nov. 2006 à 10:01
Ben l'autre solution est qu'il fasse mieux son fichier texte au départ en y ajoutant les secondes : TimeToStr(Now).

PS : Ce genre de question est en général synonyme d'un sujet mal pensé. Toujours faire les trucs au brouillon avant de coder
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
23 nov. 2006 à 13:41
Salut,

il faudrait peut être créer le fichier en question avec les bonnes méthodes :

procedure TForm1.Button1Click(Sender: TObject);
var aStr : String;
begin
  DateTimeToString(aStr,'dddd d  mmmm yyyy:hh-mm-ss',now);
  label1.Caption := aStr;
  DateTimeToString(aStr,'dddd d  mmmm yyyy : hh-mm-ss',Now);
  label1.Caption := aStr;
  DateTimeToString(aStr, 'hh-mm-ss, mm',Now);
  label2.Caption := aStr;
end ;

 
@+
Cirec

<hr size ="2" />
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
23 nov. 2006 à 13:50
Oups désolé pour le doublé

procedure TForm1.Button1Click(Sender: TObject);
var aStr : String;
begin
  DateTimeToString(aStr,'dddd d  mmmm yyyy : hh-mm-ss',Now);
  label1.Caption := aStr;
  DateTimeToString(aStr, 'hh-mm-ss, mm',Now);
  label2.Caption := aStr;
end ;

@Japee : si j'ai bien compris le problème de lordi12 la structure de son fichier est :
jj:mm:aaaa  hh:mm  +  un commentaire

il sera donc difficile d'ajouter ':00' avec ta Procedure.
En effet dans son état actuel ta procedure ajoute ':00' en fin de ligne ce qui donnerait ceci :
jj:mm:aaaa  hh:mm  +  un commentaire+ :00

 
@+
Cirec

<hr size ="2" />
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
23 nov. 2006 à 14:20
Salut Japee,

bin c'est "tant mieux", vu que t'es plus motivé que moi et que tu lui a filer un beau code tout fait...

reste juste a ajouter un eventuel pos(..) ou leftStr/RightStr pour son commentaire.

@Francky:

Il n'as jamais dit que le fichier était fait par son applic.

Au boulot, j'ai souvent du faire des trucs con comme ça, parce que je devais modifier le format de donnée avant de les traiter. D'ailleurs n'est-ce pas la définition première de l'informatique : "modifier et traiter des données"?


A+
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
23 nov. 2006 à 14:32
Salut cirec,

Ouais, j'avais zappé le coup du commentaire...
Bon, avec un Inser(), ça devrait pouvoir s'arranger sans modifier gravement mon code.
Il faudrait préciser s'il s'agit d'un problème de string ou de conversion DateTime => string.
Dans tous les cas, c'est pas bien compliqué.

A+

japee
0
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
23 nov. 2006 à 14:57
@ Loda : décidément, je te croise sans jamais te rencontrer
Depuis quelques temps, j'ai des difficultés de connexion et j'ai du mal à poster.
Par rapport à ce que tu disais, j'aime bien ce genre de questions, ça me permet de "faire mes gammes".

Donc, suite à la remarque de cirec, voici le nouveau code :

procedure AddStrToLine(const FileName, S: string; const Position: Integer);
var
  i: Integer;
  Tmp: string;
begin
  with TStringList.Create do
  try
    LoadFromFile(FileName);
    for i := 0 to Count -1 do
    begin
      Tmp := Strings[i];
      System.Insert(S, Tmp, Position);
      Strings[i] := Tmp
    end;
    SaveToFile(FileName);
  finally
    Free;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  AddStrToLine('TonFichierLog.txt', ':00', 18);
end;

Bonne prog'

japee
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
23 nov. 2006 à 15:42
t'es trop gentil... des codes tout fait. Comment il vont apprendre les débutants si tu leur mâche le boulot comme ça :-)
0
lordi12 Messages postés 3 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006
23 nov. 2006 à 16:44
me voila seulement,boulot oblige!un grand merci pour
toute ces idees,en fait le fichier texte je vais l'ouvrir dans mon
petit prog avec un opendialog,ensuite mon soucis c'etait
bien le fait que les sec s'ajoutait a la suite du commentaire
et pas apres les min.
merci a vous j'examine tout ca
0
Rejoignez-nous