powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 - работа с текстовыми файлами
6 сообщений из 31, страница 2 из 2
VB6 - работа с текстовыми файлами
    #34671109
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще - тот-же самый примерчик но берущий данные из файла с кодировкой 1251 и помещающий их в файл с кодировкой 866, с фильтром по 4-ой колонке и перестановкой порядка столбцов.

Вроде дальше уж и некуда пояснять...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
Public Sub Main()
    Const sPathIn As String = "C:\Temp\"
    Const sPathOut As String = "C:\Temp\"
    Const sFileIn As String = "File.txt"
    Const sFileOut As String = "NewFile.txt"

    Dim cn As New ADODB.Connection, r As New ADODB.Recordset, _
        s As String, ss As String, sSchemaIni As String, i As Integer

    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
          "Data Source=" & sPathIn & ";" & _
          "Extended Properties=Text"

    ' Создадим файл откуда берем данные для теста
    For i =  0  To  100 
        s = Mid$(Format$(Rnd, ".0000000"),  2 )
        ss = ss & Mid$(s,  1 ,  1 ) & vbTab & Mid$(s,  2 ,  1 ) & vbTab & Mid$(s,  3 ,  1 ) & "." & CInt(Mid$(s,  4 ,  3 )) & vbTab & Mid$(s,  7 ,  1 ) & vbTab & "Проверка " & i & vbCrLf
    Next i
    s = sPathOut & sFileIn
    If FileExists(s) Then Kill s
    SaveFile s, ss
    
    ' Удалим выходной файл
    s = sPathOut & sFileOut
    If FileExists(s) Then Kill s
    
    ' Создадим schema.ini
    sSchemaIni = sPathOut & "schema.ini"
    If FileExists(sSchemaIni) Then Kill sSchemaIni
    ss = "[File.txt]" & vbCrLf _
        & "ColNameHeader=False" & vbCrLf _
        & "CharacterSet=1251" & vbCrLf _
        & "Format=TabDelimited" & vbCrLf _
        & "DecimalSymbol=." & vbCrLf _
        & "Col1=F1 Integer" & vbCrLf _
        & "Col2=F2 Integer" & vbCrLf _
        & "Col3=F3 Float" & vbCrLf _
        & "Col4=F4 Integer" & vbCrLf _
        & "Col5=F5 Text" & vbCrLf _
        & vbCrLf _
        & "[NewFile.txt]" & vbCrLf _
        & "ColNameHeader=False" & vbCrLf _
        & "CharacterSet=866" & vbCrLf _
        & "Format=TabDelimited" & vbCrLf _
        & "DecimalSymbol=." & vbCrLf _
        & "NumberDigits=4" & vbCrLf _
        & "Col1=F5 Text" & vbCrLf _
        & "Col2=F1 Integer" & vbCrLf _
        & "Col3=F2 Integer" & vbCrLf _
        & "Col4=F3 Float" & vbCrLf _
        & "Col5=F4 Integer" & vbCrLf

    SaveFile sSchemaIni, ss
    
    ' Импортируем данные
    On Error GoTo Err_
    r.Open "SELECT * INTO [" & sFileOut _
                    & "] IN '" & sPathOut & "' [Text;] " _
            & "FROM [" & sFileIn _
            & "] WHERE F4=6 ORDER BY 1,2,3,4", cn, _
                    adOpenStatic, adLockReadOnly, adCmdText
    If FileExists(sSchemaIni) Then Kill sSchemaIni
    Exit Sub

Err_:
    With cn.Errors( 0 )
        If .NativeError = - 329323426  And .Number = - 2147467259  Then Resume Next
    End With
    MsgBox Err.Description, vbCritical
End Sub

Private Function FileExists(sFile As String) As Boolean
    On Error Resume Next
    FileExists = ((GetAttr(sFile) And vbDirectory) =  0 )
    If Err.Number Then Err.Clear
End Function

Private Sub SaveFile(sFile As String, sText As String)
    Dim iHFile As Integer
    
    iHFile = FreeFile
    Open sFile For Binary As #iHFile
    Put iHFile, , sText
    Close #iHFile
End Sub
...
Рейтинг: 0 / 0
VB6 - работа с текстовыми файлами
    #34671249
Andry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FileMapping
...
Рейтинг: 0 / 0
VB6 - работа с текстовыми файлами
    #35175914
jenekcowboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите пожалуста ..задача просто..
на компе есть текстовый файл..с помощью какого диалогового окна можно найти путь к этому файлу....???файл выбирается вручную....потом нужно вывести последнюю строку в этом файле..строк немного..около 10..спасибо
...
Рейтинг: 0 / 0
VB6 - работа с текстовыми файлами
    #35175996
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft Common Dialog Control. Подключить к проекту выбрав из списка (нажав Ctrl+T)
...
Рейтинг: 0 / 0
VB6 - работа с текстовыми файлами
    #35176124
jenekcowboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как с этим добром работать???
...
Рейтинг: 0 / 0
VB6 - работа с текстовыми файлами
    #35178898
jenekcowboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасиб..немного разобрался..подскажите как пробежать по строкам файла и определить последнюю??
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6 - работа с текстовыми файлами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]