Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
11/01/08 9:30
luigiraffaele22
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
aaa
13/01/08 14:47
Il Totem
Magari quei caratteri erano presenti nella stringa che hai scritto. Non potresti postare il codice usato?
aaa
19/01/08 13:59
luigiraffaele22
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 19/01/08 14:01
aaa
19/01/08 14:25
Il Totem
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.
aaa
19/01/08 15:35
luigiraffaele22
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
aaa