Bonsoir tout le monde,
J'ai un fichier Texte avec cette structure :
Le fichier contient des milliers de données qui sont sous ce format (Début d'enregistrement TRANSACTION START, fin d'enregistrement TRANSACTION END) . Je veux pouvoir parcourir chaque ligne, dès que je retrouve le motif CASH TAKEN je dois écrire les les lignes en rouges.
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 09:47:00 -> TRANSACTION START 09:47:00 TRACK 2 DATA: 6765460270532722 09:47:03 CARD(6765460270532722) TAKEN 09:47:07 <- TRANSACTION END 09:47:15 -> TRANSACTION START 09:47:15 TRACK 2 DATA: 6765460270532722 09:47:21 PIN ENTERED 09:47:21 TRANSACTION REQUEST AAAAA 09:47:23 TRANSACTION REPLY NEXT 041 FUNCTION 5 09:47:28 TRANSACTION REQUEST AAAB A A 09:47:31 TRANSACTION REPLY NEXT 405 FUNCTION A105 09:47:36 CASH REQUEST: 03000000 09:47:36 CASH 1:1,3; 09:47:39 CARD(6765460270532722) TAKEN 09:47:42 CASH PRESENTED ======================================== RETRAIT DATE HEURE OP. GAB 01/09/15 09:26:42 006006006 70010001 N?CARTE 6765460270532722 N?COMPTE 700001204037 MONTANT TRX. : XOF 30000 N?TRX: 774916 CODE REPONSE 000 ======================================== 09:47:44 CASH TAKEN 09:47:51 <- TRANSACTION END
J'ai commencé ce bout de code, mais je ne suis pas vraiment sûr de la logique :
Merci du coup de main.
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 idFichier est un entier ResFermeFichier est un entier sligne est une chaîne NomCheminFichier est une chaîne sval est une chaîne ResEcrit est un booléen = Vrai nBreligne est un entier = 0 NomCheminFichier = "G:\Transaction.txt" //Transaction est une chaine idFichier=fOuvre(SAI_FIC,foLectureEcriture) Trace(idFichier) SI idFichier = -1 ALORS Erreur(ErreurInfo(errMessage)) SINON //flitligne(idFichier) sligne=fLitLigne(idFichier) TANTQUE sligne<>EOT nBreligne = nBreligne + 1 sval = sligne [[20 A 10]] SI sval = "CASH TAKEN" ALORS nBreligne = nBreligne-8 sligne=fLitLigne(nBreligne) ResEcrit = fEcritLigne(idFichier,sligne) FIN FIN SI ResEcrit = Faux ALORS Erreur(ErreurInfo(errMessage)) // Fermeture du fichier ResFermeFichier = fFerme(idFichier) SI ResFermeFichier = -1 ALORS // Affichage du message d'erreur si la fermeture n'a pas été effectuée Erreur(ErreurInfo(errMessage)) FIN FIN
Cordialement,
_shuriken_
Partager