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

VB 6 et antérieur Discussion :

Diff. entre XP et 2000


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut Diff. entre XP et 2000
    Bonjour,

    je vous présente le problème je travail sur un prog qui est déjà existant, et qui fonctionne trés bien sur le pc sur lequel je développe (sous 2000) mais sous XP (avec le même prog, les différente action que j'effectue dans mon prog ne se font pas de la même manière.

    C'est à dire je doit selectionné un fichier et le prog doit le "décripter" (le fichier et une sorte de "bdd" (de référence d'articles)), donc il afficher les différents articles dans un tableau.

    Mais sous XP rien ne se passe à la lecture du même fichier pas d'affichage dasn le tableau et le prog "planté à 99% de la lecture du ficher", (les "") je peut faire autre chose rechoisir mon fichier aller dans la config ou autre.

    Enfin voila tous cela me fait pensé à un pb de lecture de caractère en XP et 2000 car le prog lit un chiffre de 4 numéros pour reconaître que c'est le bon fichier à lire.

    Quelqu'un à une idée d'ou peut venir ce changement de fonctionnement sous XP ?

    Merci

    TH

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Peut etre que si on avait une peu de code a moudre ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    heu wé je veu bien mais je ne sais pas quoi mettre comme code sinon tout le code ^^

  4. #4
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Déjà la partie qui lit le fichier, ca me parait un bon debut puisque tu dis que c'est la que çà plante. Non ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Lecture du fichier :

    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
     
    Public Sub Lecture_WW(Fichier As String)
        Dim liste_champs As New Collection
        Dim tab_champs() As String
     
        Dim car, ligne As String
        Dim champ As Variant
        Dim nb_ligne As Integer
        Dim nb_separateur As Integer
        Dim taille_fichier, car_lu As Double
        Dim separateur As String
        Set Liste_MAJ_WW = New Collection
        'Dim rep As Long
        separateur = conf.separateurWW
     
      '  Exit Sub
        On Error GoTo fermeture
        taille_fichier = FileLen(Fichier): car_lu = 0
        Open Fichier For Input As #2
     
        FrmXl.status = "extraction de World Writer"
        FrmXl.status.Refresh
     
        While Not (EOF(2))
            car = "": ligne = ""
            nb_separateur = 0
            car = Input(1, #2)
            While car <> Chr(10) And Not (EOF(2))
                car_lu = car_lu + 1
                ligne = ligne + car
                car = Input(1, #2)
                If car = separateur Then nb_separateur = nb_separateur + 1
            Wend
     
            FrmXl.ProgressBar1.Value = car_lu / taille_fichier * 100
            FrmXl.Frame1.Caption = Int(FrmXl.ProgressBar1.Value) & "%"
            If nb_ligne Mod 40 = 0 Then FrmXl.Frame1.Refresh
     
            If nb_separateur > 2 Then
                tab_champs = VBA.Split(ligne, separateur)
     
                Set liste_champs = New Collection
                For Each champ In tab_champs
                    liste_champs.Add Trim(champ)
                Next
                If liste_champs.item(1) = "REA800A" Then    -----code rajouter
                      nb_separateur = 8                             -----code rajouter
                End If                                                    ----code rajouter pour test en débug et fenètre espionne :P 
                rep = Liste_MAJ_WW.Count
                Liste_MAJ_WW.Add liste_champs, liste_champs.item(3) & liste_champs.item(1)
     
            End If
        Wend
        Close #2
     
        Exit Sub
    fermeture:
        Close #2
        MsgBox "Erreur de lecture du fichier :" & vbCrLf & err.Description, vbInformation, "Erreur"
        Exit Sub
    End Sub
    voila ya unh truck bizard qui ce passe lorsque je lit mon fichier avec un éditeur exadécimal le dernier article est :
    "REA800A ; 601827 ; 6864109 ; ROULEAU INFERIEUR DEBAL FONDS REVETEMENT CAOUTCHOUC ; TRM ; 47594 ; ; ; ,15
    "

    mais le truck c'est qu'il ne sort pas il continue je sais pas pk !! normalement il doit arrivé à la fin du fichier et donc sortir de la boucle enfin de ce que je pense....

  6. #6
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    Déja je pense que ton code peut être simplifié :
    Si j'ai bien compris, tu lis chaque ligne, compte le nombre de séparateurs (" ; "), sépare les données dans une variable tableau nommée Tab_champs.
    Voila une façon de le faire:
    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
    Public Sub Lecture_WW(Fichier As String)
    Dim Contenu As String 'Contiendra l'ensemble du fichier
    Dim Lignes() As String 'Contiendra toutes les lignes du fichier
    Dim Ligne As Integer 'Variable pour la boucle de lecture des lignes
    Dim Separateur As String
    Dim nb_separateur As Integer
    Dim tab_champs() As String
     
    'Définit le séparateur
    Separateur = ";"
     
    Contenu = Space(FileLen(Fichier))  'Dimensionne a la taille du fichier pour la lecture
     
    'Réccupère le contenu du fichier
    Open Fichier For Binary As #2
    Get #2, , Contenu
    Close #2
     
    'Sépare les lignes du fichier
    Lignes = Split(Contenu, vbCrLf)
     
    'Pour chaque ligne
    For Ligne = 0 To UBound(Lignes)
        'Compte le nombre de séparateurs
        nb_separateur = Len(Lignes(Ligne)) - Len(Replace(Lignes(Ligne), Separateur, ""))
     
        If nb_separateur > 2 Then
            tab_champs = Split(Ligne, Separateur)
     
            '.....
            '.....
            '.....
     
        End If
     
    Next Ligne
     
    End Sub
    L'avantage est que ton fichier n'est lu qu'une seule fois donc la boucle est plus rapide. Puis les lignes sont directement séparée, plus rapide aussi. Enfin le comptage des séparateurs est lui aussi plus rapide. En Effet je fait la différence entre la taille de la ligne avec les séparateurs et celle de la ligne sans les séparateurs (avec un Replace pour les enlever).
    Il existe une autre solution pour compter les séparateurs : tu fait un Split dans un tableau temporaire et tu regarde quelle est sa taille (Ubound)
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Par défaut
    Bon et bien mon pb je pense vient de internet explorer qui est limité en ligne je pense car en l'ouvrant avec blocnote je trouve mon article

    Donc mon pb ne vient pas de la...........

    arf je voit pas trops je continue à chercher!!

Discussions similaires

  1. Quel est la diff entre windows 32 bits et 64 bits
    Par pierrot10 dans le forum Windows XP
    Réponses: 4
    Dernier message: 15/08/2006, 15h42
  2. [transact sql] diff entre 'set' et 'select'
    Par poosh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 21/04/2006, 12h38
  3. Faire la diff entre nom log des données et du log
    Par maitrebn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/02/2006, 19h56
  4. Diff entre Delphi 5 pro et 2005 pro
    Par rachid202446 dans le forum EDI
    Réponses: 1
    Dernier message: 09/09/2005, 14h58
  5. Réponses: 6
    Dernier message: 24/03/2003, 17h11

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