Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Prob. file in lettura
Forum - Visual Basic 6 - Prob. file in lettura

Avatar
Aangelus (Normal User)
Pro


Messaggi: 143
Iscritto: 29/03/2011

Segnala al moderatore
Postato alle 22:39
Martedì, 25/10/2011
Salve a tutti eseguendo un programmino di lettura testo mi sono imbattuto nella non corretta trascrizione in una text.
Nel file originale c'è scritto : €9.01€10.02  2011/09/24 21:01:55[2011/09/24 15:01:55
***
mentre lo trascrive nella text : €9.01€10.02  2011/09/24 21:01:55[2011/09/24 15:01:55
***

il codice del programma è il seguente :
nomefile = Dir$("c:\tmp\")
If nomefile <> "" Then
Open "c:\tmp\" & nomefile For Input As #1

Do While Not EOF(1)
Line Input #1, testomio
  testocompletomio = testocompletomio + Chr(10) + testomio
Loop

Text1.Text = testocompletomio
Close #1
End If
come mai succede questo ;)  grazie a tutti

PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6388
Iscritto: 03/01/2010

Up
3
Down
V
Segnala al moderatore
Postato alle 8:58
Mercoledì, 26/10/2011
Succede perché il testo di quel file è codificato in Unicode e VB6 non supporta l'Unicode (essendo un linguaggio ormai obsoleto)

Prova con questo rimedio (che non è valido in tutti i casi)

Codice sorgente - presumibilmente VB.NET

  1. Open "c:\test.txt" & nomefile For Input As #1
  2.     Do While Not EOF(1)
  3.         Line Input #1, testomio
  4.         testomio = Replace$(testomio, Chr$(226) & Chr$(130) & Chr$(172), "€")
  5.         Text1.Text = testomio & vbCrLf & Text1.Text
  6.     Loop
  7.     Close #1


Ultima modifica effettuata da nessuno il 26/10/2011 alle 9:29
grazie per la delucidazione sempre molto gentile, mi chiedevo se nella riga 5 sostituiamo la Text1.Text con una variabile per poi assegnarla alla fine dell' loop nella text, non si velocizzerebbe il tutto ? ;) - Aangelus - 26/10/11 22:06
Sì, se il file è abbastanza lungo ... - nessuno - 26/10/11 22:52


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM