Vb fusille mon .txt o lieu de bosser sagement dessus!!!

stidjeanmoulin Messages postés 29 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 29 avril 2003 - 29 avril 2003 à 10:37
stidjeanmoulin Messages postés 29 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 29 avril 2003 - 29 avril 2003 à 11:03
mojn problem est le suivant:

je travaille sur un doc texte
g une form ki s'appelle SuprimerDesColonnes
dessus ya deux textbox tnomdufichier et tnomdufichierpropre
un textbox ki s'appelle ttauxde0
deux picturebox pprogression et pcompteur
et un comandbutton csupression

le code de la form est le suivant :
Const NombreDeLignes = 10
Const NombreDeColonnes = 27

Private Sub CSupression_Click()

Dim BoiteDeMessage As Integer

Dim Fichier As Integer

Dim TauxDeZero() As Single
Dim Colonne As Integer
Dim Ligne As Integer
Dim ElementLu As String

Dim SuprimerLaColonne() As Boolean
Dim FichierPropre As Integer
Dim LigneAEcrire As String

ReDim SuprimerLaColonne(1 To NombreDeColonnes)
ReDim TauxDeZero(1 To NombreDeColonnes)

PProgression.Print "début de l'execution"

'On Error GoTo TraitementErreur

'remplacer les  tabulations par des virgules
'(separateur reconnu pour les chaines de charactere)
PProgression.Print "remplacement des tabulations par des virgules"
Call Remplacement("9", "44")

'lecture du fichier pour compter le taux de zero de chaque colonne
PProgression.Print "comptage du taux de zero"
Fichier = FreeFile
Open TNomDuFichier.Text For Input As Fichier
    For Ligne = 1 To NombreDeLignes
        For Colonne = 1 To NombreDeColonnes
            Input #Fichier, ElementLu            If ElementLu "0" Or ElementLu "" Then
                TauxDeZero(Colonne) = TauxDeZero(Colonne) + 1 / (NombreDeLignes - 1)
            End If
        Next Colonne
    Next Ligne
Close Fichier

'identification des colonnes a suprimer
PProgression.Print "identification des colonnes a suprimer"
For Colonne = 1 To NombreDeColonnes
    If (TauxDeZero(Colonne) * 100) >= CSng(TTaux0.Text) Then
        SuprimerLaColonne(Colonne) = True
    Else
        SuprimerLaColonne(Colonne) = False
    End If
Next Colonne

'création d'un fichier sans les colonnes à suprimées
PProgression.Print "création d'un fichier sans les colonnes à suprimées"
Fichier = FreeFile
Open TNomDuFichier.Text For Input As Fichier
FichierPropre = FreeFile
    Open TNomDuFicherPropre.Text For Output As FichierPropre
    For Ligne = 1 To NombreDeLignes
        For Colonne = 1 To NombreDeColonnes
            Input #Fichier, ElementLu
            If SuprimerLaColonne(Colonne) = False Then
                If LigneAEcrire = "" Then
                    LigneAEcrire = ElementLu
                Else
                    LigneAEcrire = LigneAEcrire + Chr(9) + ElementLu
                End If
            End If
        Next Colonne
        Write #FichierPropre, LigneAEcrire
        LigneAEcrire = ""
    Next Ligne
Close Fichier
Close FichierPropre

'remplacer les virgules par des tabulations
PProgression.Print "remplacement des virgues par des tabulations"
Call Remplacement("44", "9")

PProgression.Print "terminé"
Exit Sub


le code du module est :
Public Sub Remplacement(ByVal Car1 As Long, Car2 As Long)

Dim Fichier As Integer
Dim Compteur As Long
Dim Caractere As String * 1

Fichier = FreeFile
Open SuprimerDesColonnes.TNomDuFichier.Text For Binary As Fichier
    Compteur = 1
    Do While EOF(Fichier) = False
        Get #Fichier, Compteur, Caractere
        If Caractere = Chr(Car1) Then
            Put #Fichier, Compteur, Chr(Car2)
        End If
        Compteur = Compteur + 1
        SuprimerDesColonnes.PCompteur.Cls
        SuprimerDesColonnes.PCompteur.Print CStr(Compteur)
    Loop
Close Fichier

End Sub

ya manifestement au moins un problème vu ke:
1.je recupere po le fichier de base dans l'etat ou il était avant ke je lance l'execution(c plein de ptits carrés !!!)
2.le fichier propre (crée par l'exe)est plein de carrés aussi !!!
si ya qqn ki connait la solution a ce problem ou deja ki c ou est le problem... sa srai cool :question)

:) STID JeanMoulin :)

2 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
29 avril 2003 à 10:57
Bonjour.
Essaie de remplacer
Call Remplacement("9", "44") 'Strings
par
Call Remplacement(9, 44) 'Longs
0
stidjeanmoulin Messages postés 29 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 29 avril 2003
29 avril 2003 à 11:03
g moins de ptits carrés mé il en reste plein

:) STID JeanMoulin :)
0
Rejoignez-nous