| Problème de lecture de fichier binaire. | |
|
|
Auteur | Message |
---|
Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Problème de lecture de fichier binaire. Ven 22 Jan 2016 - 8:26 | |
| Bonjour. @Klaus. J'obtiens le message d'erreur suivant: Erreur E/S 103 !! Contenu du fichier (4 lignes de texte): maîtrisez#189216#189238#273415# maîtrisiez#189216#189238#273415# maîtrisions#189216#189238#273415# maîtrisons#189216#189238#273415#Merci de ton aide. - Code:
-
dll_on "kgf"
dim buf$, f$, longueur%, res%
f$="c:\a\formes.txt"
res%=dll_call1("OpenBinaryFile",adr(f$))
longueur%=dll_call1("GetBinaryFileSize",adr(f$)) buf$=string$(longueur%," ") res%=dll_call2("ReadBinaryFileToString",adr(f$),adr(buf$))
res%=dll_call1("CloseBinaryFile",adr(f$))
message buf$ | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lecture de fichier binaire. Ven 22 Jan 2016 - 11:52 | |
| Il y avait effectivement un bug dans KGF.dll. Ceci est corrigé. | |
|
| |
Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Problème de lecture de fichier binaire. Ven 22 Jan 2016 - 12:36 | |
| Bonjour. J'obtiens Error in function line 15 ! - Code:
-
dll_on "kgf"
dim buf$, f$, longueur%, p%, pattern$, res%
f$="fichiers\formes_verbales_français_anglais_avec_complement.txt" p%=1 pattern$="mange#"
res%=dll_call1("OpenBinaryFile",adr(f$))
longueur%=dll_call1("GetBinaryFileSize",adr(f$)) buf$=string$(longueur%," ") res%=dll_call2("ReadBinaryFileToString",adr(f$),adr(buf$))
res%=dll_call3("SearchPatternFromBinaryFile",adr(f$),adr(pattern$),p%)
message str$(res%)
res%=dll_call1("CloseBinaryFile",adr(f$)) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lecture de fichier binaire. Ven 22 Jan 2016 - 12:42 | |
| Il faut utiliser SearchPatternInBinaryFile au lieu de SearchPatternFromBinaryFile... | |
|
| |
Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Problème de lecture de fichier binaire. Ven 22 Jan 2016 - 12:44 | |
| Bonjour.
J'obtiens l'erreur Error E/S 103. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lecture de fichier binaire. Ven 22 Jan 2016 - 12:48 | |
| Montre-moi le fichier en question pour que je puisse tester... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lecture de fichier binaire. Ven 22 Jan 2016 - 12:57 | |
| Reprends la DLL stp. J'ai fait une correction. Sans tester, car je n'ai pas le fichier, mais ça devrait aller. | |
|
| |
Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Problème de lecture de fichier binaire. Dim 24 Jan 2016 - 9:12 | |
| Bonjour. @Klaus. Je me demande bien pourquoi ce programme ne quitte jamais la boucle while, ce qui devrait être le cas, après que la dernière occurence de la chaîne soit trouvée. Merci de ton aide. - Code:
-
dll_on "kgf"
dim a$, buf$, c$, f$, i%, longueur%, p%, pattern$, res%
f$="fichiers\formes_verbales_français_anglais_avec_complement.txt" p%=1 pattern$="mange " c$=pattern$=chr$(13)+chr$(10)
res%=dll_call1("OpenBinaryFile",adr(f$))
longueur%=dll_call1("GetBinaryFileSize",adr(f$)) buf$=string$(longueur%," ") a$=""
while 0=0 res%=dll_call3("SearchPatternInBinaryFile",adr(f$),adr(pattern$),p%) caption 0,str$(res%) if res%=0 then exit_while
i%=dll_call4("ReadBlockFromBinaryFileToString",adr(f$),100,res%,adr(buf$))
a$=a$+trim$(left$(buf$,instr(buf$,chr$(13))-1)) p%=res%+1 end_while
message a$
res%=dll_call1("CloseBinaryFile",adr(f$)) Le fichier txt se trouve sur mon drive. http://www.mydrive.ch/Identifiant: pierre62 Mot de passe: azerty@1234 | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lecture de fichier binaire. Dim 24 Jan 2016 - 10:57 | |
| Je vais regarder ça. J'ai téléchargé le fichier. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème de lecture de fichier binaire. Dim 24 Jan 2016 - 12:11 | |
| J'ai trouvé. Il y a deux problèmes: 1. un bug dans SearchPatternInBinaryFile - corrigé. 2. des anomalies dans ton code - corrigé ci-après: - Code:
-
dll_on "kgf"
dim a$, buf$, c$, f$, i%, longueur%, p%, pattern$, res%
f$="formes_verbales_français_anglais_avec_complement.txt" p%=1 pattern$="mange " ' c$=pattern$=chr$(13)+chr$(10) <======== ???
res%=dll_call1("OpenBinaryFile",adr(f$))
' longueur%=dll_call1("GetBinaryFileSize",adr(f$)) <======= inutile (tu ne lis que 100 caractères !) buf$ = string$(100," ") : ' buf$=string$(longueur%," ") <======= beaucoup trop grand ! a$=""
while 0=0 res%=dll_call3("SearchPatternInBinaryFile",adr(f$),adr(pattern$),p%) caption 0,str$(res%) if res%=0 then exit_while
i%=dll_call4("ReadBlockFromBinaryFileToString",adr(f$),100,res%,adr(buf$))
a$=a$+trim$(left$(buf$,instr(buf$,chr$(13))-1)) p%=res%+1 end_while
message a$
res%=dll_call1("CloseBinaryFile",adr(f$)) | |
|
| |
Contenu sponsorisé
| Sujet: Re: Problème de lecture de fichier binaire. | |
| |
|
| |
| Problème de lecture de fichier binaire. | |
|