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
    942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 942
    Points : 1 549
    Points
    1 549
    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 : 120
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.

  4. #24
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 331
    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 331
    Points : 9 459
    Points
    9 459
    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...

  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_

+ 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