IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Fichier Texte en Entrée et en Sortie


Sujet :

WinDev

  1. #21
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 39
    Points : 39
    Points
    39
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Info("Insertion non éffectuée, réverifiez le code")
    Juste en passant, y a pas d accent sur le premier e d effectuer

  2. #22
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Bonjour
    Ni sur le premier de réverifiez
    Sur le deuxieme oui.
    Mais sur mon clavier je n'ai pas d'accent.
    Il y a pire.
    Des que je peux je lirai ton poste plus serieusement.
    Pour si je peux apporter quelque chose.

  3. #23
    Membre confirmé Avatar de _shuriken_
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2006
    Messages : 543
    Points : 454
    Points
    454
    Par défaut
    Citation Envoyé par Garfield5792 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Info("Insertion non éffectuée, réverifiez le code")
    Juste en passant, y a pas d accent sur le premier e d effectuer
    Merci pour vos corrections.

    J'ai pu enfin régler mon problème à 95% . Nom : Capture.PNG
Affichages : 111
Taille : 149,4 Ko

    J'ai continué sur la logique des 2 tables, mais en occultant complètement la fonction xlsOuvre() au profit de fOuvre(). J'ai d'abord converti mon fichier XLS en CSV (Format DOS). Voici mon code :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    nIDFichier est un entier
    sLigne est une chaîne=""
    sAux est une chaîne=""
    sNumCompteRef est une chaîne=""
    sRefLu est une chaîne=""
    nPos est un entier
    sNomCompte est une chaîne=""
     
    BTN_Importantion_Fichier_Excel..Grisé=Vrai
     
     
    HCréation(Transaction)
     
    // Ouverture du fichier
    nIDFichier = fOuvre(SAI_FIC, foLecture)
    SI nIDFichier <> -1 ALORS
    	//lecture du fichier et chargement des données
    	sLigne=fLitLigne(nIDFichier)
    	BOUCLE
    		SI sLigne=EOT ALORS SORTIR
    		Message(sLigne)
    		// repérer le compte en cours de traitement
    		nPos = Position(sLigne,"Account Number :")
    		SI nPos>0 ALORS
    			sRefLu = sLigne[[nPos+16 A ]]
    			sRefLu = SansEspace(Remplace(sRefLu,";",""))
    			sNomCompte = SansEspace(sRefLu[[10 A ]])
    			sRefLu = sRefLu[[1 A 9]]
    			SI sNumCompteRef<>sRefLu ALORS
    				sNumCompteRef = sRefLu
    				// vérification si existe dans la table des comptes
    				HLitRecherche(Compte,NumCompte,sRefLu)
    				SI PAS HTrouve(Compte) ALORS
    					Compte.NumCompte = sNumCompteRef
    					Compte.NomAccount = sNomCompte
    					HAjoute(Compte)
    				FIN
    			FIN
    		FIN
    		// analyse 
    		sAux = ExtraitChaîne(sLigne,1,";")
    		SI SansEspace(ExtraitChaîne(sLigne,1,";"))<>"" ET Position(sAux,"/")>0 ALORS 
    			Transaction.TransactionDate       = Droite(sAux,4)+NumériqueVersChaîne(Val(ExtraitChaîne(sAux,1,"/")),"02d")+NumériqueVersChaîne(Val(ExtraitChaîne(sAux,2,"/")),"02d")	//5/13/2015
    			Transaction.TransactionID  = ExtraitChaîne(sLigne,4,";")
    			Transaction.Ref = ExtraitChaîne(sLigne,8,";")
    			Transaction.Prod       =  ExtraitChaîne(sLigne,11,";")
    			Transaction.TranType       = ExtraitChaîne(sLigne,12,";")
    			Transaction.Orig_Country    = ExtraitChaîne(sLigne,14,";")
    			Transaction.Rec_Country    = ExtraitChaîne(sLigne,15,";")
    			Transaction.Fx_Rate       = ExtraitChaîne(sLigne,17,";")
    			sAux = ExtraitChaîne(sLigne,22,";")
    			Transaction.Fx_Date  = Droite(sAux,4)+NumériqueVersChaîne(Val(ExtraitChaîne(sAux,1,"/")),"02d")+NumériqueVersChaîne(Val(ExtraitChaîne(sAux,2,"/")),"02d")	//5/13/2015
    			Transaction.Fx_Margin    = ExtraitChaîne(sLigne,23,";")
    			Transaction.fx        = ExtraitChaîne(sLigne,24,";")
    			Transaction.Base_Amount = ExtraitChaîne(sLigne,25,";")
    			Transaction.Fee_Amount  = ExtraitChaîne(sLigne,26,";")
    			Transaction.Commision_Amount  = ExtraitChaîne(sLigne,33,";")
    			Transaction.NumCompte = sNumCompteRef
    			HAjoute(Transaction)
    		FIN
    		//
    		// au suivant
    		sLigne=fLitLigne(nIDFichier)
    	FIN
     
    	// Fermeture du fichier
    	fFerme(nIDFichier)
    SINON
    	Erreur()
    FIN
     
    Info("Importation terminée avec succès !!!!")
    BTN_Importantion_Fichier_Excel..Grisé=Faux
    Il me reste à récupérer la valeur du champs Commission_Amount et je pourrai enfin générer mon fichier de sortie Txt. En attendant le post reste ouvert pour vos remarques et suggestions .

    Merci à vous tous.
    "When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be."

    Lord Kelvin - 1883.

  4. #24
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Tes fichiers semblent assez volumineux (et peut-être nombreux). Un conseil : utilise plutôt un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sContenu = fchargetexte(NomDuFcihier) 
    pour toute chaine sLigne de sContenu separee par rc
    ...
    fin
    L'intérêt est un gain considérable de temps de traitement. Les Flitxx sont lents...
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  5. #25
    Membre confirmé Avatar de _shuriken_
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    543
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2006
    Messages : 543
    Points : 454
    Points
    454
    Par défaut
    Bonjour frenchsting,

    Pas vraiment, il fait en moyenne 250 Ko pour environ 1000 lignes d’enregistrements. Mais j'en tiendrai compte.

    merci à vous tous pour votre disponibilité.

    Cordialement,
    _shuriken_
    "When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be."

    Lord Kelvin - 1883.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/09/2013, 04h21
  2. Réponses: 9
    Dernier message: 12/07/2011, 17h25
  3. Ecrire dans un fichier texte les entrées du clavier
    Par Manou1980 dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 07/07/2011, 10h51
  4. Réponses: 2
    Dernier message: 10/02/2007, 12h07
  5. Réponses: 6
    Dernier message: 23/12/2003, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo