Страница: 1 |
Страница: 1 |
Вопрос: Считывание файлов
Добавлено: 27.04.07 08:23
Автор вопроса: rkhodjaev
Ребята есть txt.file файл где хранится одна строка, ну вроде этого:
284011/25/2007Сидоров2500056622322578222152145ОтпраИванов562233236522Пол
Здесь по позициям считывать надо что ли? Например здесь:
1)22)8403)11/25/20074)Сидоров5)250006)566223225782221527)1458)Отпра9)Иванов10)56211)23323652212)Пол
В базе около 14 полей, чтобы конкретное значение записывалось в определенное поле, не подскажите как считывать и потом записать.Хотя SQL запросом могу записать произвольные, а вот считывая откуда + запись не получается
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #1
Добавлено: 27.04.07 16:57
Я так понял тебе надо считывать из файла в неременные. Например запись №1 и в переменные записало о нем информацию, да ? Тогда используй свой тип данных
Type Record ' Определённый пользователем тип
ID As Integer
Name As String * 20
End Type
Dim MyRecord As Record, RecordNumber ' Объявляем переменные
' Открываем файл для произвольного доступа
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
For RecordNumber = 1 To 5 ' Циклимся 5 раз
MyRecord.ID = RecordNumber ' Устанавливаем компоненту ID
MyRecord.Name = "My Name" & RecordNumber ' Создаём строку
Put #1, RecordNumber, MyRecord ' Записываем запись в файл
Next RecordNumber
Close #1 ' Закрываем файл
Номер ответа: 2
Автор ответа:
AndreyMp
ICQ: 237822510
Вопросов: 28
Ответов: 1182
Профиль | | #2
Добавлено: 28.04.07 08:11
Если твой txt все же база, то должен бать символ(ы)-разделитель по которому все элементарно разносится. Возможно ты его не видишь.
Номер ответа: 3
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #3
Добавлено: 28.04.07 08:55
Ну это можно записать в виде
2)840
3)11/25/2007
4)Сидоров
5)25000
6)56622322578222152
7)145
8)Отпра
9)Иванов
10)562
11)233236522
12)Пол
Так понять проще
А вообще-то база эта внатуре странная, кто додумался такой делитель поставить?
Ну в регекспах если выражаться, то делитель такой: \d+\)
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 28.04.07 17:43
Нужно ведь еще смотреть, чтобы число увеличивалось на 1 каждый раз
Номер ответа: 5
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #5
Добавлено: 28.04.07 19:31
А через Тайпы непроще, а то еще какие то знаки разделения ставить надо, узнавать розмер записи? Примитивные БД делаютса именно через создание собственых Типов и потом Get-ом читаетса нужная запись, а Put-ом пишут
Номер ответа: 6
Автор ответа:
rkhodjaev
Вопросов: 6
Ответов: 27
Профиль | | #6
Добавлено: 30.04.07 10:20
Номер ответа: 7
Автор ответа:
rkhodjaev
Вопросов: 6
Ответов: 27
Профиль | | #7
Добавлено: 30.04.07 13:54
Номер ответа: 8
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #8
Добавлено: 30.04.07 13:56
Дубль-пост с интервалом 3.5 часа... Рекорд.
Номер ответа: 9
Автор ответа:
ZagZag
ICQ: 295002202
Вопросов: 87
Ответов: 1684
Профиль | | #9
Добавлено: 30.04.07 14:23
rkhodjaev, а что тут считать построчно?
Тут прийдется парсить каждую строку из айла в массив.
Как текстовый файл построчно считать я напишу если надо. А вот парсер для такой строки... предлагаю тендер открыть
Номер ответа: 10
Автор ответа:
-АлександР-
Вопросов: 55
Ответов: 1008
Web-сайт:
Профиль | | #10
Добавлено: 30.04.07 14:38
[QUOTEДубль-пост с интервалом 3.5 часа... Рекорд.]
Номер ответа: 11
Автор ответа:
rkhodjaev
Вопросов: 6
Ответов: 27
Профиль | | #11
Добавлено: 02.05.07 08:50
Спасибо Всем - Особенно Arseny(Огромное спасибо)!!!Получилось,теперь если кто-нибудь хорошо разбирается с ЭЦП и шифрованием, можете заглянуть на тему ЭЦП и шифрования, созданное мною несколько дней тому назад