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
C# / VB.NET - caratteri strani inizio di  file txt scritto da VB
Forum - C# / VB.NET - caratteri strani inizio di file txt scritto da VB

Avatar
luigiraffaele22 (Normal User)
Newbie


Messaggi: 7
Iscritto: 20/12/2007

Segnala al moderatore
Postato alle 10:30
Venerdì, 11/01/2008
Questo topic è stato chiuso dal moderatore

Ho generato un file di testo con VB utilizzando il metodo My.Computer.FileSystem.WriteAllText.
Questo file deve essere poi letto da una applicazione esterna.
Nel momento in cui l'applicazione esterna tenta di aprire il file viene da questa generato un errore perché c'è un gruppo di caratteri all'inizio del file di testo che non viene riconosciuto.
Aprendo il file di testo con notepad non sembra esserci nessun carattere, ma, aprendo il file con altri programmi (come ad esempio l'utility di conversione da txt a csv di excel) questi caratteri vengono evidenziati.
Sapete come è possibile eliminare questi caratteri all'inizio del file?
Grazie
Ciao

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:47
Domenica, 13/01/2008
Magari quei caratteri erano presenti nella stringa che hai scritto. Non potresti postare il codice usato?

PM
Avatar
luigiraffaele22 (Normal User)
Newbie


Messaggi: 7
Iscritto: 20/12/2007

Segnala al moderatore
Postato alle 14:59
Sabato, 19/01/2008
Ho controllato la stringa che ho scritto ma non c'è nessun problema, anche perchè i caratteri strani appaiono anche quando non scrivo niente (ossia una stringa vuota "").
Ho notato che, quando apro con Word il file .txt generato da VB, mi compare la finestra per la conversione del file. Nella parte destra compare la finestra relativa al tipo di codifica da adottare per la conversione. Viene automaticamente selezionata UTF-8 e il carattere strano all'inizio del file di testo scompare. Se, invece, scelgo la codifica UTF-7, il carattere strano mi ricompare. L'unica conseguenza è che questo carattere strano () è una sorta di indicazione di inizio file legata alla codifica adottata. Ma a questo punto mi chiedo. E' possibile che VB non generi di default un tipo di codifica compatibile con le applicazioni Windows? Anche perchè non tutte le applicazioni che utilizzano file generati da VB possono avere tools per il cambio di codifica come quello di Word. Suggerimenti? Ciao

Ultima modifica effettuata da luigiraffaele22 il 19/01/2008 alle 15:01
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 15:25
Sabato, 19/01/2008
Ma sei sicuro? Quel metodo è sempre funzionato benissimo, mai avuti di questi problemi. Hai per caso ottenuto la stringa con qualche funzione GetBytes delle classi di Encoding? Perchè in questo caso potrebbe essere lì il problema.

PM
Avatar
luigiraffaele22 (Normal User)
Newbie


Messaggi: 7
Iscritto: 20/12/2007

Segnala al moderatore
Postato alle 16:35
Sabato, 19/01/2008
Ecco il codice che scrive il file di configurazione config.txt  e poi lancia il programma esterno mysw.exe

Dim testognu As String
            testognu = "Studio Ing." & vbCrLf & "reset" & vbCrLf & "set scale z" & vbCrLf & "set 3d" & vbCrLf & "set base" & vbCrLf
            My.Computer.FileSystem.WriteAllText(MyPath & "\mysw\config.txt", testognu, False)
            procID1 = Shell("""mysw.exe""", AppWinStyle.NormalFocus, True, )

Il software esterno mysw.exe mi da errore in quanto non riconosce il primo carattere della prima riga del file di configurazione.
Ciao

PM