Kontakt
DSVGO
Private Declare Function OemToCharA Lib "user32" ( _ ByVal lpszSrc As String, ByVal lpszDst As String) As Long Private Declare Function CharToOemA Lib "user32" ( _ ByVal lpszSrc As String, ByVal lpszDst As String) As LongDer eigentliche Code zur Block-weisen Umsetzung einer Datei sieht so aus:
Sub ConvertFile( _ ByRef Path As String, _ Optional ByVal AsWin As Boolean = True _ ) Dim hFile As Long Dim sOrg As String Dim sConv As String Dim nPos As Long 'Blockweise konvertieren: sOrg = Space$(4096) sConv = sOrg hFile = FreeFile Open Path For Binary As #hFile For nPos = 1 To LOF(hFile) Step Len(sOrg) If nPos > LOF(hFile) - Len(sOrg) Then 'Restblock-Größe bestimmen: sOrg = Space$(LOF(hFile) - nPos + 1) sConv = sOrg End If Get #hFile, , sOrg If AsWin Then 'DOS -> Windows: OemToCharA sOrg, sConv Else 'Windows -> DOS: CharToOemA sOrg, sConv End If If sOrg <> sConv Then Put #hFile, nPos, sConv Next nPos Close #hFile End Sub
© Jost Schwider, 07.12.2000-07.12.2000 - http://vb-tec.de/convfile.htm