Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: час
И вот ещё мнимножко

Это не по теме , но натолкнуть может........

Вопрос: Работа с файлами средствами VB (Далее приведены 2 готовые функции, читающие текстовый файл в строковую переменную)

Совет: 
Примеры по работе с файлами из среды VB (VBA)

Добавил на сайт: am 08.08.2003

'Чтение бинарного файла в массив байт
Open sFileName For Binary Access Read As #1
    Get #1, , TheBytes()
Close #1

'запись массива байт в файл
Open sFileName For Binary Access Write As #1
    Put #1, , TheBytes()
Close #1

'Построчное чтение текстового файла
iFile = FreeFile
    Open App.Path & "\" & sININame For Input As iFile
        Do While Not EOF(iFile) ' Loop until end of file.
            Line Input #iFile, txt
            'sINI = sINI + txt + vbCrLf
        Loop
    Close iFile

'построчная запись в текстовый файл
    fnum = FreeFile
    file_name = App.Path
    If Right$(file_name, 1) <> "\" _
        Then file_name = file_name & "\"
    file_name = file_name & LOG_FILE_NAME
    Open file_name For Append As #fnum

    ' Remember that the file is open.
    file_open = True

    ' Write the date and time, and the error message.
    Print #fnum, Now
    Print #fnum, "Computer: " & ComputerName
    Print #fnum, txt1
    Print #fnum, "**********"

    ' Close the file.
    Close #fnum

'Далее приведены 2 готовые функции, читающие текстовый файл в строковую переменную.
'первая читает построчно, вторая файл целиком. По быстродействию вторая функция значительно быстрее.
Public Function File2Str(sPath As String) As String
Dim txt As String
Dim sLine As String
Dim fn As Long
fn = FreeFile
    Open sPath For Input As fn
    Do While Not EOF(1)
        Line Input #fn, sLine
        txt = IIf(Len(txt) > 0, txt & vbCrLf, "") & sLine
    Loop
Close fn
File2Str = txt
End Function
'am 030505
Public Function File2StrB(sPath As String) As String
Dim txt As String
Dim sLine As String
Dim fn As Long
fn = FreeFile
Dim TheBytes() As Byte
ReDim TheBytes(FileLen(sPath) - 1)
    Open sPath For Binary Access Read As fn
        Get #fn, , TheBytes()
    Close fn
File2StrB = StrConv(TheBytes(), vbUnicode)
End Function


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.