|
Started by Jean-Michel, May, 03 2025 10:02 AM - 14 replies |
| |
| | | |
|
| |
Registered member 855 messages |
| | |
|
| | |
| |
Registered member 3,650 messages |
|
Posted on May, 03 2025 - 11:20 AM |
Salut Je suppose que ton projet est en unicode vu que tu es en Thaïlande Donc j'aurais précisé que le sRes est une chaîne ANSI Et j'aurais plutôt utiliser fChargeTexte |
| |
| |
| | | |
|
| | |
| |
Registered member 855 messages |
|
Posted on May, 03 2025 - 2:54 PM |
Bonsoir Popoy, Oui mon projet est en unicode mais la precision en AINSI que j'avais teste ne me donne que des "?"

Par contre, je n'avais pas pense au fchargetexte ! Merci a toi, il ne me reste plus a le lire par RC

Merci Popoy !!
-- Synchronize Systems International LTD Développement d'outils de gestion
Environnements AS400 – Windows Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev - Windev Mobile
Bangkok / Pattaya |
| |
| |
| | | |
|
| | |
| |
Registered member 2,211 messages |
|
Posted on May, 03 2025 - 7:48 PM |
Bonjour Jean-Michel,
De nos jours ... les logiciels sont plus intelligents : - ils ont plus d'options, - ils s'adaptent à l'environnement (langue par exemple).
Notepad a beaucoup progressé : il interprète le texte lu et indique dans une case de la barre de message le format de fichier (non visible sur ta copie d'écran). Peut-être une piste pour savoir comment lire le fichier en WinDev avec flitLigne (même si fChargeTexte est bien meilleur) ?
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
Registered member 10 messages |
|
Posted on June, 09 2025 - 7:32 PM |
Apparemment avec mon code, j'enregistre uniquement la dernière ligne... |
| |
| |
| | | |
|
| | |
| |
Registered member 905 messages |
|
Posted on June, 09 2025 - 10:01 PM |
bonjour, Benat64, que faut-il comprendre !!!
Vérifiez éventuellement que les sauts de lignes de votre fichier ne soient pas des LF. Vous pouvez vérifier avec Notepad++ avec l'option "Afficher tous les caractères". si ce sont des LF (Line Feed), on peut lire chaque ligne avec :
POUR TOUT CHAÎNE sLigne DE sContenuFichier SÉPARÉE PAR Caract(10).
Sinon, il faut remplacer les LF par des CRLF dans le fichier.
Cdlt |
| |
| |
| | | |
|
| | |
| |
Posted on June, 10 2025 - 12:31 PM |
Cédric_34 a écrit :
bonjour, Benat64, que faut-il comprendre !!!
Vérifiez éventuellement que les sauts de lignes de votre fichier ne soient pas des LF. Vous pouvez vérifier avec Notepad++ avec l'option "Afficher tous les caractères". si ce sont des LF (Line Feed), on peut lire chaque ligne avec :
POUR TOUT CHAÎNE sLigne DE sContenuFichier SÉPARÉE PAR Caract(10).
Sinon, il faut remplacer les LF par des CRLF dans le fichier.
Cdlt
Bonjour Cédric_34, voici mon code :
SI sJournal = "Carrefour Bque" ALORS MaChaîne = UTF8VersChaîne(fLitLigne(gnFic)) SI gnFic <> -1 ALORS POUR TOUTE chaîne MaChaîne de gnFic SEPAREE PAR Caract(10) nUnité = 0 Import.Journal = sJournal Import.date = ChaîneVersDate(ExtraitChaîne(MaChaîne,1,";",DepuisDébut)) Import.Déscription = ExtraitChaîne(MaChaîne,2,";",DepuisDébut) nUnité = Droite(ExtraitChaîne(MaChaîne,3,";",DepuisDébut),10) SI nUnité < 0 ALORS Import.Débit = -nUnité Import.Crédit = 0 SINON Import.Crédit = nUnité Import.Débit = 0 FIN HAjoute(Import) FIN FIN fFerme(gnFic) FIN
le fichier à lire est le suivant :
"Nom : ";"MARIE LANDRE" "Numéro Carte Pass : ";50003327171100
Date;Libellé;Montant;Mode;N°Carte ;;;; 05/06/2025;"PRELEVE SUR VOTRE COMPTE BANCAIRE BORDEAUX";182,00;Crédit;•0000 30/05/2025;"PRELEV. ACHATS DIFF. SUR CPTE BANCAIRE";-829,01;Différé;•0000 14/05/2025;"ACHAT MARKET URT 196 1000";-23,80;Différé;•9976 07/05/2025;"ACHAT GARANTIES PASS";-2,50;Différé;•0000 05/05/2025;"ACHAT PAIN FL 8 03/05 1813";-8,35;Différé;•9976 05/05/2025;"PRELEVE SUR VOTRE COMPTE BANCAIRE BORDEAUX";182,00;Crédit;•0000 02/05/2025;"ACHAT GEMO 15 30/04 1637";-15,98;Différé;•9976 02/05/2025;"ACHAT INTERMA 44 30/04 0946";-44,62;Différé;•9976 02/05/2025;"ACHAT DELICES 4 30/04 1800";-4,05;Différé;•9976 02/05/2025;"ACHAT Action 17 30/04 1722";-17,68;Différé;•9976 30/04/2025;"ACHAT MARKET URT 196 1000";-53,59;Différé;•9976 28/04/2025;"ACHAT MARKET URT 196 1207";-39,54;Différé;•9976 28/04/2025;"ACHAT MARKET URT 196 1200";-32,48;Différé;•9976 28/04/2025;"ACHAT MARKET URT 196 0954";-29,62;Différé;•9976 25/04/2025;"ACHAT MARKET URT 196 1146";-45,49;Différé;•9976 25/04/2025;"ACHAT E.LECLE 126 24/04 1156";-126,95;Différé;•9976 25/04/2025;"ACHAT KUBATA 19 24/04 2001";-19,00;Différé;•9976 25/04/2025;"ACHAT JACQUES 9 24/04 1337";-9,00;Différé;•9976 25/04/2025;"ACHAT SELARL 49 24/04 1031";-49,04;Différé;•9976 25/04/2025;"ACHAT BIHOTZA 30 24/04 2014";-30,60;Différé;•9976 25/04/2025;"ACHAT DECATHL 14 24/04 1049";-14,99;Différé;•9976 25/04/2025;"ACHAT ESAN 41 24/04 1321";-41,80;Différé;•9976 23/04/2025;"ACHAT MARKET URT 196 1025";-56,21;Différé;•9976 23/04/2025;"ACHAT BOULANG 11 22/04 1224";-11,80;Différé;•9976 30/04/2025;"PRELEV. ACHATS DIFF. SUR CPTE BANCAIRE";-617,90;Différé;•0000 22/04/2025;"ACHAT MARKET URT 196 1215";-27,32;Différé;•9976 22/04/2025;"ACHAT FLUIDE GLACIAL 4 HS 1 NV";-19,90;Différé;•0000 22/04/2025;"ACHAT MARKET URT 196 0946";-68,64;Différé;•9976 22/04/2025;"ACHAT DELICES 28 20/04 1736";-28,90;Différé;•9976 19/04/2025;"ACHAT MARKET URT 196 1629";-79,71;Différé;•9976 15/04/2025;"ACHAT MARKET URT 196 1656";-14,00;Différé;•9976 10/04/2025;"ACHAT GARANTIES PASS";-2,50;Différé;•0000 05/04/2025;"PRELEVE SUR VOTRE COMPTE BANCAIRE BORDEAUX";182,00;Crédit;•0000 31/03/2025;"ACHAT MARKET URT 196 0945";-23,09;Différé;•9976 31/03/2025;"ACHAT BOULANG 10 30/03 1201";-10,80;Différé;•9976 31/03/2025;"ACHAT E.LECLE 50 29/03 1452";-50,50;Différé;•9976 28/03/2025;"ACHAT MARKET URT 196 1234";-34,06;Différé;•9976 27/03/2025;"ACHAT MARKET URT 196 1152";-61,70;Différé;•9976 27/03/2025;"ACHAT MARKET URT 196 1040";-38,27;Différé;•9976 27/03/2025;"ACHAT BOULANG 7 26/03 1048";-7,65;Différé;•9976
et rien à faire, ça ne veut pas ! |
| |
| |
| | | |
|
| | |
| |
Registered member 10 messages |
|
Posted on June, 10 2025 - 12:41 PM |
Il y à des erreurs dan ce que que j'ai envoyé précédemment... voici mon code (qui ne fonctionne pas) SI sJournal = "Carrefour Bque" ALORS MaChaîne = fLitLigne(gnFic) //on lit une ligne SI gnFic <> -1 ALORS POUR TOUTE CHAÎNE MaChaîne DE gnFic SEPAREE PAR Caract(10) nUnité = 0 Import.Journal = sJournal Import.date = ChaîneVersDate(ExtraitChaîne(MaChaîne,1,";",DepuisDébut)) Import.Déscription = ExtraitChaîne(MaChaîne,2,";",DepuisDébut) nUnité = Droite(ExtraitChaîne(MaChaîne,3,";",DepuisDébut),10) SI nUnité < 0 ALORS Import.Débit = -nUnité Import.Crédit = 0 SINON Import.Crédit = nUnité Import.Débit = 0 FIN FIN FIN fFerme(gnFic) FIN FIN |
| |
| |
| | | |
|
| | |
| |
Registered member 10 messages |
|
Posted on June, 10 2025 - 12:43 PM |
Le fichier traité est les suivant :
"Nom : ";"MARIE LANDRE" "Numéro Carte Pass : ";50003327171100
Date;Libellé;Montant;Mode;N°Carte ;;;; 05/06/2025;"PRELEVE SUR VOTRE COMPTE BANCAIRE BORDEAUX";182,00;Crédit;•0000 30/05/2025;"PRELEV. ACHATS DIFF. SUR CPTE BANCAIRE";-829,01;Différé;•0000 14/05/2025;"ACHAT MARKET URT 196 1000";-23,80;Différé;•9976 07/05/2025;"ACHAT GARANTIES PASS";-2,50;Différé;•0000 05/05/2025;"ACHAT PAIN FL 8 03/05 1813";-8,35;Différé;•9976 05/05/2025;"PRELEVE SUR VOTRE COMPTE BANCAIRE BORDEAUX";182,00;Crédit;•0000 02/05/2025;"ACHAT GEMO 15 30/04 1637";-15,98;Différé;•9976 02/05/2025;"ACHAT INTERMA 44 30/04 0946";-44,62;Différé;•9976 02/05/2025;"ACHAT DELICES 4 30/04 1800";-4,05;Différé;•9976 02/05/2025;"ACHAT Action 17 30/04 1722";-17,68;Différé;•9976 30/04/2025;"ACHAT MARKET URT 196 1000";-53,59;Différé;•9976 28/04/2025;"ACHAT MARKET URT 196 1207";-39,54;Différé;•9976 28/04/2025;"ACHAT MARKET URT 196 1200";-32,48;Différé;•9976 28/04/2025;"ACHAT MARKET URT 196 0954";-29,62;Différé;•9976 25/04/2025;"ACHAT MARKET URT 196 1146";-45,49;Différé;•9976 25/04/2025;"ACHAT E.LECLE 126 24/04 1156";-126,95;Différé;•9976 25/04/2025;"ACHAT KUBATA 19 24/04 2001";-19,00;Différé;•9976 25/04/2025;"ACHAT JACQUES 9 24/04 1337";-9,00;Différé;•9976 25/04/2025;"ACHAT SELARL 49 24/04 1031";-49,04;Différé;•9976 25/04/2025;"ACHAT BIHOTZA 30 24/04 2014";-30,60;Différé;•9976 25/04/2025;"ACHAT DECATHL 14 24/04 1049";-14,99;Différé;•9976 25/04/2025;"ACHAT ESAN 41 24/04 1321";-41,80;Différé;•9976 23/04/2025;"ACHAT MARKET URT 196 1025";-56,21;Différé;•9976 23/04/2025;"ACHAT BOULANG 11 22/04 1224";-11,80;Différé;•9976 30/04/2025;"PRELEV. ACHATS DIFF. SUR CPTE BANCAIRE";-617,90;Différé;•0000 22/04/2025;"ACHAT MARKET URT 196 1215";-27,32;Différé;•9976 22/04/2025;"ACHAT FLUIDE GLACIAL 4 HS 1 NV";-19,90;Différé;•0000 22/04/2025;"ACHAT MARKET URT 196 0946";-68,64;Différé;•9976 22/04/2025;"ACHAT DELICES 28 20/04 1736";-28,90;Différé;•9976 19/04/2025;"ACHAT MARKET URT 196 1629";-79,71;Différé;•9976 15/04/2025;"ACHAT MARKET URT 196 1656";-14,00;Différé;•9976 10/04/2025;"ACHAT GARANTIES PASS";-2,50;Différé;•0000 05/04/2025;"PRELEVE SUR VOTRE COMPTE BANCAIRE BORDEAUX";182,00;Crédit;•0000 31/03/2025;"ACHAT MARKET URT 196 0945";-23,09;Différé;•9976 31/03/2025;"ACHAT BOULANG 10 30/03 1201";-10,80;Différé;•9976 31/03/2025;"ACHAT E.LECLE 50 29/03 1452";-50,50;Différé;•9976 28/03/2025;"ACHAT MARKET URT 196 1234";-34,06;Différé;•9976 27/03/2025;"ACHAT MARKET URT 196 1152";-61,70;Différé;•9976 27/03/2025;"ACHAT MARKET URT 196 1040";-38,27;Différé;•9976 27/03/2025;"ACHAT BOULANG 7 26/03 1048";-7,65;Différé;•9976 |
| |
| |
| | | |
|
| | |
| |
Registered member 905 messages |
|
Posted on June, 10 2025 - 12:47 PM |
Bonjour, Vous faites un fLitLigne puis un "pour toute chaine", ça ne peut pas fonctionner : voici un exemple de code :
nMonfichierOuvert est une entier sLigneLue est une chaîne nMonfichierOuvert = fOuvre("C:\Temp\FichierLF.TXT")
SI nMonfichierOuvert <> - 1 ALORS sLigneLue = fLitLigne(nMonfichierOuvert, Caract(10)) POUR i = 1 _À_ 5 Trace(ExtraitChaîne(sLigneLue,i,";")) sLigneLue = fLitLigne(nMonfichierOuvert, Caract(10)) FIN SINON Info("problème") FIN fFerme(nMonfichierOuvert)
CdltMessage modified, June, 10 2025 - 12:51 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 2,211 messages |
|
Posted on June, 10 2025 - 2:28 PM |
Bonjour,
Je dirais même plus :
nMonfichierOuvert est une entier sLigneLue est une chaîne nMonfichierOuvert = fOuvre("C:\Temp\FichierLF.TXT")
SI nMonfichierOuvert <> - 1 ALORS sLigneLue = fLitLigne(nMonfichierOuvert, Caract(10)) TANTQUE sLigneLue <> EOT POUR i = 1 A 5 Trace(ExtraitChaîne(sLigneLue,i,";")) FIN sLigneLue = fLitLigne(nMonfichierOuvert, Caract(10)) FIN SINON Info("problème") FIN fFerme(nMonfichierOuvert)
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | |
| |
Registered member 10 messages |
|
Posted on June, 10 2025 - 3:32 PM |
Fantastique... Merci mille fois Jean-Pierre., merci Cédric. A ce que je vois, chaque banque a son fichier export, pour une c'est "RC" pour une autre c'est "LF". Cordialement |
| |
| |
| | | |
|
| | |
| |
Registered member 905 messages |
|
Posted on June, 10 2025 - 3:36 PM |
Pour le LF, probablement un fichier d'une appli sous Linux. |
| |
| |
| | | |
|
| | |
| |
Registered member 905 messages |
|
Posted on June, 10 2025 - 4:02 PM |
Jean-Pierre, Pas le temps de regarder ça de plus près, mais il y a un méli-mélo avec le "Tantque" et les "fLitLigne", non ?  Cdlt |
| |
| |
| | | |
|
| | |
| |
Registered member 2,211 messages |
|
Posted on June, 10 2025 - 8:12 PM |
Bonjour Cédric,
Je crois que c'est plutôt l'indentation qui ne fonctionne pas correctement 
-- Bon dev, Jean-Pierre |
| |
| |
| | | |
|
| | | | |
| | |
|