formix
25-08-2006, 14:45
Buongiorno a tutti, scrivo quì perchè sono disperato sulla creazione di un file!
il mio problema è creare un file *.m7m (ovvero un file con firma digitale e marcatura temporale) ora questo file (s/mime) è composto da 5 parti ovvero
1 - intestazione e dati del file firmato
2 - file firmato (e crittografato)
3 - dati del timestamping
4 - timestamping
5 - stringa di chiusura
ora io preparo le mie 5 stringhe ed in particolare la 1 la 3 e la 5 scritte a manina in 3 variabili string
mentre le altre due le ricavo prendendo il testo dai file nel seguente modo :
' -------- Metodo di Load del file
Sub LoadFile(sFileName As String, sBuffer As String)
Dim abBinaryData() As Byte
Dim intFile
abBinaryData = sBuffer
intFile = FreeFile()
ReDim abBinaryData(FileLen(sFileName))
Open sFileName For Binary As #intFile
Get #intFile, , abBinaryData
Close #intFile
sBuffer = abBinaryData
End Sub
e quindi avrò i dati nella stringa sBuffer
il mio problema è che :
inserendo tutte e 5 me stringhe concatenate nel file risultante esce solo casino.
vado per passi viste tutte le prove che ho fatto :
inserisco l'intestazione - tutto OK
inserisco intestazione e file firmato - mi trovo l'intestazione non formattata ma tutta su una riga con uno spazio aggiunto dopo ogni carattere e subito di segiuto il file firmato
inserisco intestazione, file firmato e seconda parte dei dati - come sopra con in coda la 2° parte dei dati anch'essa non formattata
inserisco intestazione, file firmato, seconda parte dei dati e timestamping-
mi ritrovo l'intestazione formattata in seguito solo caratteri che non centrano nulla, ovvero una serie di quadratini (come quelli uasti per gli spazi o i CrLf) e null'altro
ultima opzione con il file completo delle 5 parti, come sopra
per salvare il file uso :
' -------- Metodo di Salvataggio del file Sub SaveFile(sFileName As String, sBuffer As String)
Dim abBinaryData() As Byte
Dim intFile
abBinaryData = sBuffer
intFile = FreeFile()
Open sFileName For Binary As #intFile
Put #intFile, , abBinaryData
Close #intFile
End Sub
ora le ho pensate tutte, la cosa più ovvia mi sembra quella che abbiano dei formati differenti le varie stringhe, ma se è davvero così come faccio a saperlo??
o ancora come faccio a portarle tutte nello stesso formato??
se qualcuno mi saprebbe aiutare ne sarei davvero grato, uso da pochissimo VB6 e ci sto impazzendo con questi file m7m (se qualcuno ha altri metodi più semplici x farli asrebbe bellissimo)
insomma dovrei ottere un file tutto formattato e con i blocchi giusti e non con caratteri a caso.
grazie mille a tutti in anticipo
Marco
il mio problema è creare un file *.m7m (ovvero un file con firma digitale e marcatura temporale) ora questo file (s/mime) è composto da 5 parti ovvero
1 - intestazione e dati del file firmato
2 - file firmato (e crittografato)
3 - dati del timestamping
4 - timestamping
5 - stringa di chiusura
ora io preparo le mie 5 stringhe ed in particolare la 1 la 3 e la 5 scritte a manina in 3 variabili string
mentre le altre due le ricavo prendendo il testo dai file nel seguente modo :
' -------- Metodo di Load del file
Sub LoadFile(sFileName As String, sBuffer As String)
Dim abBinaryData() As Byte
Dim intFile
abBinaryData = sBuffer
intFile = FreeFile()
ReDim abBinaryData(FileLen(sFileName))
Open sFileName For Binary As #intFile
Get #intFile, , abBinaryData
Close #intFile
sBuffer = abBinaryData
End Sub
e quindi avrò i dati nella stringa sBuffer
il mio problema è che :
inserendo tutte e 5 me stringhe concatenate nel file risultante esce solo casino.
vado per passi viste tutte le prove che ho fatto :
inserisco l'intestazione - tutto OK
inserisco intestazione e file firmato - mi trovo l'intestazione non formattata ma tutta su una riga con uno spazio aggiunto dopo ogni carattere e subito di segiuto il file firmato
inserisco intestazione, file firmato e seconda parte dei dati - come sopra con in coda la 2° parte dei dati anch'essa non formattata
inserisco intestazione, file firmato, seconda parte dei dati e timestamping-
mi ritrovo l'intestazione formattata in seguito solo caratteri che non centrano nulla, ovvero una serie di quadratini (come quelli uasti per gli spazi o i CrLf) e null'altro
ultima opzione con il file completo delle 5 parti, come sopra
per salvare il file uso :
' -------- Metodo di Salvataggio del file Sub SaveFile(sFileName As String, sBuffer As String)
Dim abBinaryData() As Byte
Dim intFile
abBinaryData = sBuffer
intFile = FreeFile()
Open sFileName For Binary As #intFile
Put #intFile, , abBinaryData
Close #intFile
End Sub
ora le ho pensate tutte, la cosa più ovvia mi sembra quella che abbiano dei formati differenti le varie stringhe, ma se è davvero così come faccio a saperlo??
o ancora come faccio a portarle tutte nello stesso formato??
se qualcuno mi saprebbe aiutare ne sarei davvero grato, uso da pochissimo VB6 e ci sto impazzendo con questi file m7m (se qualcuno ha altri metodi più semplici x farli asrebbe bellissimo)
insomma dovrei ottere un file tutto formattato e con i blocchi giusti e non con caratteri a caso.
grazie mille a tutti in anticipo
Marco