• Advertisement

problème d'importation d'un fichier texte vers un fichier hf

Tout ce qui concerne la version 11 & plus récentes de windev

**Windev est une marque déposée de Pcsoft**

problème d'importation d'un fichier texte vers un fichier hf

Messagepar ASG2012 » Ven Juin 24, 2011 8:35 am

bonjour à tous les membres

j'ai un problème d'importation dans ce code

Code: Tout sélectionner
NomCheminFichier est une chaîne
IdFichier est un entier
LigneLue est une chaîne
ResFermeFichier est un entier
asg est un booléen =Vrai
// Sélection du nom et du chemin du fichier
NomCheminFichier = "C:\pharmacnam\pharmacien.txt"

// Ouverture du fichier
IdFichier = fOuvre(NomCheminFichier)
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
   Erreur(ErreurInfo(errMessage))
SINON
   // Lecture de la première ligne du fichier
   LigneLue = fLitLigne(IdFichier)
   // Affichage de la première ligne dans le champ de saisie
   asg =Decomptes.type1+...
   NumériqueVersChaîne(Val(Decomptes.Code_pharmacien),"012,0f")+...
   Decomptes.date_depôt+...
   Decomptes.Date_début+...
   Decomptes.date_fin+...
   Complète((Decomptes.Référence),20," ")+...
   NumériqueVersChaîne(Val( Decomptes.Nombr_de_Facture),"05,0f")+...
   NumériqueVersChaîne(Val(Decomptes.Total_bordereau)*1000,"010,0f")+...
   NumériqueVersChaîne(Val(Decomptes.Total_tickets_mo)*1000,"010,0f")+...
   NumériqueVersChaîne(Val(Decomptes.Total_cnam)*1000,"010,0f")
   asg=LigneLue
   // Autres lignes à lire ? Erreur de lecture ?
   TANTQUE LigneLue <> EOT ET LigneLue <> ""
      // Lecture des lignes suivantes du fichier
      LigneLue = fLitLigne(IdFichier)
hajoute(decomptes)
      // Affichage des lignes suivantes dans le champ de saisie
      asg = asg + LigneLue
      
   FIN
   // Affichage du message d'erreur si la lecture n'a pas été effectuée
   SI LigneLue = "" ALORS Erreur(ErreurInfo(errMessage))
   SI LigneLue = EOT ALORS Info("La fin du fichier a été atteinte")
   // 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


le fichier texte comprend cette ligne
1010000892093200501022005010220050102R 00002000061405200001842160000429836

c"est le résultat d'un export de fichier hf en principe ca doit être de cette façon
1;010000892093;2005010;2200501;022005010;2:R ;00002;0000614052;0000184216;0000429836;

c'est que je veux c'est de lire la ligne est l'ajouter dans un fichier hf décomptes
pourriez vous me corriger le code ?
merci pour l'aide
ASG2012
Membre
 
Messages: 90
Inscription: Dim Mai 15, 2011 2:32 am

Advertisement

Re: problème d'importation d'un fichier texte vers un fichie

Messagepar Samifred » Ven Juin 24, 2011 8:57 am

Bonjour,

Regarde dans l'aide... les fonctions:

ChaineOccurrence() //Donne le nombre de ";" par exemple
ExtraitChaine() //Donne une chaine jusqu'au ";" suivant
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3553
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

Re: problème d'importation d'un fichier texte vers un fichie

Messagepar ASG2012 » Ven Juin 24, 2011 10:49 am

merci si sami pour la réponse

j'ai essayé de mettre ce code rien ne ce passe
Code: Tout sélectionner
NomCheminFichier est une chaîne
IdFichier est un entier
// Sélection du nom et du chemin du fichier
NomCheminFichier = fSélecteur("", "", "Sélection d'un fichier externe",...
"Fichier externe"+TAB+"*.txt", "txt", fselCrée)
// Ouverture du fichier
IdFichier = fOuvre(NomCheminFichier, foLectureEcriture)
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = -1 ALORS
   Erreur(ErreurInfo(errMessage))
SINON
      
   
   Decomptes.type1=ExtraitChaîne(1,1,"")
   Decomptes.date_depôt=ExtraitChaîne(1,2,"")
   Decomptes.date_depôt=ExtraitChaîne(1,14,"")
    Decomptes.Date_début=ExtraitChaîne(1,22,"")
    Decomptes.date_fin=ExtraitChaîne(1,30,"")
    Decomptes.Référence=ExtraitChaîne(1,50,"")
    HAjoute(Decomptes,hIgnoreIntégrité)
       
    TableAffiche(TABLE_Decomptes)
   
     
FIN



1 represente la ligne et "" represente aucun espace

car ma ligne elle est comme la façon indiquée au début du sujet
ASG2012
Membre
 
Messages: 90
Inscription: Dim Mai 15, 2011 2:32 am

Re: problème d'importation d'un fichier texte vers un fichie

Messagepar Samifred » Ven Juin 24, 2011 11:43 am

Je ferais un bout de code avec comme texte à reprendre, la ligne ci-dessous:

1;010000892093;2005010;2200501;022005010;2:R ;00002;0000614052;0000184216;0000429836;

Mais pas avant la fin de journée car je suis occupé.

Si une âme charitable à le temps avant, qu'il se manifeste.
Cordialement, en espérant que ma collaboration soit profitable. Fred Image
PS: Il est important d'indiquer, dans la question, la version WD utilisée.
Note: Pas de question par MP, merci.
Avatar de l’utilisateur
Samifred
 
Messages: 3553
Inscription: Sam Nov 26, 2005 12:16 pm
Localisation: 128.0.0.0

VOILA C'EST RESOLU

Messagepar ASG2012 » Ven Juin 24, 2011 2:35 pm

C BON J4AI CRÉE LE BON CODE

Code: Tout sélectionner
texte est un chaîne
IdFichier est un entier
NomCheminFichier est une chaîne

// Sélection du fichier à ouvrir
NomCheminFichier = fSélecteur("C:\MesRépertoires", "Fichier.txt", ...
"Sélectionner un fichier", "Fichier Texte (*.TXT)"+TAB+ ...
"*.txt"+RC+"Tous fichiers (*.*)"+TAB+"*.*", "TXT", fselOuvre+fselExiste)
// Ouverture du fichier
IdFichier = fOuvre(NomCheminFichier, foLectureEcriture)
// Affichage du message d'erreur si l'ouverture n'a pas été effectuée
SI IdFichier = 1 ALORS
   Erreur(ErreurInfo(errMessage))
SINON
   
   SI texte <> EOT
      texte = fLitLigne(IdFichier)
      Decomptes.type1 = ExtraitChaîne(texte,1,";")
      Decomptes.Code_pharmacien = ExtraitChaîne(texte,2,";")
      Decomptes.date_depôt = ExtraitChaîne(texte,3,";")
      Decomptes.Date_début = ExtraitChaîne(texte,4,";")
      Decomptes.date_fin = ExtraitChaîne(texte,5,";")
      Decomptes.Référence = ExtraitChaîne(texte,6,";")
      Decomptes.Nombr_de_Facture= ExtraitChaîne(texte,7,";")
       Decomptes.Total_bordereau= Val(ExtraitChaîne(texte,8,";"))/1000
       Decomptes.Total_tickets_mo=Val(ExtraitChaîne(texte,9,";"))/1000
      Decomptes.Total_cnam=Val(ExtraitChaîne(texte,10,";"))/1000
      HAjoute(Decomptes,hIgnoreDoublon)
      texte = fLitLigne(IdFichier)
      TableAffiche(TABLE_Decomptes)
ASG2012
Membre
 
Messages: 90
Inscription: Dim Mai 15, 2011 2:32 am



  • Advertisement

Retourner vers Forum windev 11 & plus récentes

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: DevPlus et 0 invités