File

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

File

Message par jblaise.cs »

Bonjour je vous esplique le truc :

Je veu faire un chti truc qui me generera des pages html a partir de fichier log.
Ses "logs" son editer pendans la partie sa donne ca :

L 04/25/2004 - 22:57:31: Log file started (file "c:\sierra\half-life_old_version\SvenCoop\logs\L0425004.log") (game "SvenCoop") (version "46/1.1.1.0/2056"
L 04/25/2004 - 22:57:38: "-=[RG]=- n00b (rg-team.new.fr)<1><4200901><>" connected, address "loopback"
L 04/25/2004 - 22:57:41: "-=[RG]=- n00b (rg-team.new.fr)<1><4200901><team1>" has entered the game
L 04/25/2004 - 22:58:14: "monster_human_grunt<monster><NoWonID><enemy>" has been killed by "-=[RG]=- n00b (rg-team.new.fr)<1><4200901><team1>"
L 04/25/2004 - 23:01:30: "monster_human_grunt<monster><NoWonID><enemy>" killed "-=[RG]=- n00b (rg-team.new.fr)<1><4200901><team1>" with "monster_human_grunt"
L 04/25/2004 - 23:12:20: Server shutdown
L 04/25/2004 - 23:12:20: Log file closed

Jvous ai mit toutes les lignes possible qui m interressent.
toutes les lignes commencent par L + la date + l heure
ensuite il y a linformation, ca jespere que je saurait comment faire pour lextraire....
mais c pas pour ca que je viens...:)
Ca peut vous paraitre simple desole je debute :p

Dans l exemple fourni avec purebasic "file" il y a

If ReadFile(0, "Log1.log")
First$ = Trim(ReadString())
MessageRequester("PureBasic", "Line read: "+First$, 0)
CloseFile(0)
Else
MessageRequester("PureBasic", "Error: Can't read the file", 0)
EndIf

Mais le problemes c que les fichier logs on des centaines et des milliers lignes...
Hmm vous pouriez po maidez svp?
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Bienvenue dans la communauté Pure Basic, Jblaise :)

Pour lire toutes les lignes d'un fichier, il faut rajouter une boucle While/Wend comme ceci:

Code : Tout sélectionner

If ReadFile(0, "c:\texte.txt") 
  While Eof(0)=0 ; tant que eof(0) égale 0, la fin du fichier n'a pas été atteinte
    First$ = Trim(ReadString())
    ;il n'est pas recommandé de mettre un MessageBox à l'intérieur d'une boucle
    ;mais tu peux le faire pour des essais pour de très petits fichiers
    MessageRequester("PureBasic", "Line read: "+First$, 0) 
  Wend
  CloseFile(0) 
Else 
  MessageRequester("PureBasic", "Error: Can't read the file", 0) 
EndIf 
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

Message par jblaise.cs »

Woooooo rapide merci... ;) a+(c sur :oops: )
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Bonjour

Tu peux essayer cela aussi !

Code : Tout sélectionner


File.s=OpenFileRequester("Choix du fichier","c:\","*.*","")
If OpenFile(1,File)
  While Eof(1)=0
    Debug ReadString()
  Wend
EndIf

Denis

Bonne Jounée à tous
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

Message par jblaise.cs »

Merci denis mais ca mets les chaines dans le debuggeur...
Deja que je comprends pas trop je ne vais pas trop compliquer ^^

J ai un autre problemes :

Code : Tout sélectionner

A$="2"
B$="1"
Val(A$)-Val(B$)=C
MessageRequester("Title", Str(C))
Pourquoi ca ne marche pas ?
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

Message par jblaise.cs »

Et j aime bien celui la :

Code : Tout sélectionner

A=2
B=1
A-B=C
MessageRequester("Title", Str(C))
2-1=0 :)
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

Message par jblaise.cs »

lool dsl je me suis tromper jai inverser le egal :oops:
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

Message par jblaise.cs »

hmm sans vouloir etre reloud
Est ce qu il y orait une comande pour soustraire des Minutes heure...
Par ce que 22:57 - 23:12 ca fait 1:-45...
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Salut :)

Code : Tout sélectionner

;Voir l'aide pour ParseDate() et FormatDate()

HeureMaintenant = ParseDate("%hh:%ii:%ss","23:12:00")
HeureAvant = ParseDate("%hh:%ii:%ss","22:57:00")

Difference = HeureMaintenant - HeureAvant

Diff$ = FormatDate("%hh:%ii:%ss",Difference)
Debug Diff$
Chris :)
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

Message par jblaise.cs »

Merci encore a tt le monde :D
ke ca va vite sur ce forum c halcinant sur les otres c deux / trois heures...la 5/20 min
BRAVO!
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message par LavaLava »

Si j'ai bien compris, tu veux connaitre le temps entre 2 heures ...
Alors essaye ça :

Code : Tout sélectionner

Heure1=22
Minute1=57
Heure2=23
Minute2=12

Diff = (Heure1*60 + Minute1) - (Heure2*60 + Minute2)

Heure = ( Diff ) / 60
Minute = Diff - Heure * 60

Debug Str(Heure) + ":" + Str(Minute)
Si tu ne veux pas que Heure et Minute soit négatif, utilise la fonction Abs(Heure) et Abs(Minute).

J'ai utilisé Debug car je crois que tu n'a pas lieu d'avoir peur de l'utiliser. L'utilisation de la commande Debug sert simplement à afficher dans une fenêtre des données (tel que le fait le MessageRequester). Tu n'est pas obligé d'utiliser les boutons 'Stop', 'Step',...
Essaye tu verras que c'est plus pratique et plus facile de Debugger ainsi !
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

Message par jblaise.cs »

Haa oué je ny avait pas penser. C est vrai que j utilise que des messagerequester pour voir si sa marche bien...
ok cimer
Vi c est ca le temp entre deux heure
jvai prendre celui de LavaLava il est plus pratique pour mon code...
jblaise.cs
Messages : 30
Inscription : lun. 26/avr./2004 11:30
Localisation : V'dauban
Contact :

Hmm

Message par jblaise.cs »

Je sai que ca a un peu rien a voir mais je voulais savoir qu elle diplome faut avoir pour etre programmeur(on ma di ke maintenant on disait analyste...)
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message par LavaLava »

@Chris
Personellemnent ta solution me plait plus mais si la différence entre HeureAvant et HeureMaintenant est négative (22H57 - 23H12) cela ne marche pas !
As tu une solution ? Cela m'interesse car j'avais commencé comme toi mais j'ai abandonné suite à ça !

@Jblaise
A ma connaissance il existe des BTS Analyste programmeur, des DUT Genie Informatique,... Il faut que tu aille dans un CIO (Centre d'Information et d'Orientation) d'un lycée (si tu est lycéen !).
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message par LavaLava »

@Crhis
J'ai oublié de te dire, une solution, sans test style If HeureMaintenant > HeureAvant ...
Répondre