powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Чтение из текстового файла в DOS кодировке и запись в базу
15 сообщений из 15, страница 1 из 1
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271441
N_A_T_K_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужна помощь
Есть много однотипных текстовых файлов (содержимое файлов - таблица с заголовком). Нужно обтаботать все файлы и вытащить из них название таблицы из заголовка и несколько данных из таблицы (все позиции в файле этих данных неизменяемы, то есть читаем с 4 по 20 символа в 5 строке, и так во всех файлах). Все полученное записать в базу.
Вопросы:
1. Как обработать сразу все файлы в входящей директории? Цикл какой-нить использовать?
2. Как прочитать файл в DOS кодировке?
3. Как прочитать в файле данные с определенной позиции?

Спасибо зараннее за любой совет или ссылку.
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271560
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если тхт файлы в формате бд и в одноь директории то получать данные из файлов можно через ADO
в качестве таблицы используеться имя файла
например
tabl1.txt
tabl2.txt
tabl3.txt
получить можно используя рекорсет с запросом
http://]SELECT *
FROM tbl1.txt, tbl2.txt
позицианироваться с помощью метода Move об. ADO
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271562
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOесли тхт файлы в формате бд и в одноь директории то получать данные из файлов можно через ADO
в качестве таблицы используеться имя файла
например
tabl1.txt
tabl2.txt
tabl3.txt
получить можно используя рекорсет с запросом
http://]SELECT *
FROM tbl1.txt, tbl2.txt
позицианироваться с помощью метода Move об. ADO
Код: plaintext
1.
SELECT *
FROM tbl1.txt, tbl2.txt
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271577
N_A_T_K_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если я заранее не знаю, сколько будет файлов и как они будут называться?
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271601
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
N_A_T_K_AА если я заранее не знаю, сколько будет файлов и как они будут называться?
Тогда или FSO или ADOX
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271608
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну не все так плохо.
можно через OpenSchema получить список всех таблиц этой директории
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271647
N_A_T_K_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кроме того формат файлов - не база данный. Вид фалов такого плна

Март,2006

Иванов | 2223 | 12 | 485
Петров | 565 | 45 | 56
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271650
N_A_T_K_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А по поводу DOS кодировки можете что-то подсказать?
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271703
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
через специальный схема-файл это делается :

SCHEMA.INI файлик в директории ваших текстовых табличек:

[1.txt]
ColNameHeader=True
Format=TabDelimited
CharacterSet=ANSI
MaxScanRows=0
[2.txt]
ColNameHeader=True
Format=TabDelimited
CharacterSet=OEM
MaxScanRows=0
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271826
N_A_T_K_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOесли тхт файлы в формате бд и в одноь директории то получать данные из файлов можно через ADO
в качестве таблицы используеться имя файла
например
tabl1.txt
tabl2.txt
tabl3.txt
получить можно используя рекорсет с запросом
http://]SELECT *
FROM tbl1.txt, tbl2.txt
позицианироваться с помощью метода Move об. ADO

Спасибо, но все таки эти файлы-не база и метод Move для позиционирования не подходит
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271842
N_A_T_K_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_Oneчерез специальный схема-файл это делается :

SCHEMA.INI файлик в директории ваших текстовых табличек:

[1.txt]
ColNameHeader=True
Format=TabDelimited
CharacterSet=ANSI
MaxScanRows=0
[2.txt]
ColNameHeader=True
Format=TabDelimited
CharacterSet=OEM
MaxScanRows=0


Спасибо Konst_One. Идея хорошая для моей другой задачи. Только нужно придумать как его прикрутить.
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271865
N_A_T_K_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
N_A_T_K_AКроме того формат файлов - не база данный. Вид фалов такого плна

Март,2006

Иванов | 2223 | 12 | 485
Петров | 565 | 45 | 56



Как прочитать из такого txt-файла в DOS кодировке название таблици и фамилию Иванов и число в 3 стоблце?
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271889
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если открываете через ADO вот так:

Код: plaintext
1.
ConnectionString = "Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;FIL=text;MaxBufferSize=2048;PageTimeout=5;Extensions=log,txt;" & _
                    "DBQ=c:\temp;DefaultDir=c:\temp;"
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271899
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SCEMA.INI создайте заранее до открытия соединения
...
Рейтинг: 0 / 0
Чтение из текстового файла в DOS кодировке и запись в базу
    #35271911
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
Public Sub MakeSchema(ByVal FileName As String, ByVal Ext As String)
Dim s As String
Dim sFile As String
Dim ss As String
Dim sPath As String

    sPath = modFiles.FileGetPath(FileName)
    sFile = sPath & "SCHEMA.INI"
    ss = Dir(sPath & "*.*")
    Do
        If ss = "" Then Exit Do
        FileName = sPath & ss
        Ext = VBA.LCase$(modFiles.FileGetExtension(FileName))
        Select Case Ext
        Case "txt", "log"
            s = modFiles.FileGetNameOnly(FileName) & ".txt"
            If Ext = "log" Then
                modFiles.ProfileSetString s, "ColNameHeader", "False", sFile
            Else
                modFiles.ProfileSetString s, "ColNameHeader", "True", sFile
            End If
            modFiles.ProfileSetString s, "Format", "TabDelimited", sFile
            modFiles.ProfileSetString s, "CharacterSet", "ANSI", sFile
            modFiles.ProfileSetString s, "MaxScanRows", "0", sFile
        Case Else
        End Select
        ss = Dir()
    Loop
        
End Sub

у меня такая процедурка создает файл схемы (кое-что берется из настроек в реестре, вы уж сами там подставьте, что вам надо)
PS
это я про OEM, делимитер и тд
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Чтение из текстового файла в DOS кодировке и запись в базу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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