Текстовая база данных

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Текстовая база данных

Сообщение Diamock » 11.02.2010 (Чт) 19:20

Здравствуйте Уважаемые!
На сайте VBnet.ru, прочитал статью Михаила Эскина "Текстовый файл как база данных".
У меня возник вопрос: существует ли ограничение по размеру текстового файла? Ну, скажем 3 мб или 100 мб?
Извините, если вопрос заведомо идиотский :oops:.
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 11.02.2010 (Чт) 19:27

В статье явно говорится о применении таких методов к очень маленьким объёмам (50—100 записей).
Какая речь может быть о 3 или 100 мб? :?

Текстовых файлов как отдельной разновидности файлов не существует. Ограничение на размер файла (любого) зависит от файловой и операционной системы.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Текстовая база данных

Сообщение iGrok » 11.02.2010 (Чт) 19:47

Этот метод действительно рассчитан на работу с файлами по 50-250 записей.
В данном случае, ограничение будет скорее по быстродействию.
Если работу с файлом оставить в том виде, в котором она описана в статье, я бы не рискнул пробовать открывать файлы более 100кб.
Время открытия/сохранения может оказаться весьма существенным. Вплоть до нескольких минут на слабых машинах.

Для указанных тобой объёмов следует либо использовать один из существующих форматов файловых БД (access, dbf, SQlite) (если нужны возможности SQL), либо писать свой формат хранения.
label:
cli
jmp label

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Текстовая база данных

Сообщение Dmitriy2003 » 11.02.2010 (Чт) 20:45

Хакер писал(а):Ограничение на размер файла (любого) зависит от файловой и операционной системы.

Это - Хакер, пошутил. :)
До чего - же вы довели формучан - уже каждый третий считает свои вопросы "тупыми", "идиотскими" или "глупыми".

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 11.02.2010 (Чт) 20:52

Это - Хакер, пошутил. :)

Я нигде не шутил.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Текстовая база данных

Сообщение Dmitriy2003 » 11.02.2010 (Чт) 20:56

Хакер писал(а):Я нигде не шутил.

Если это не правда, и не шутка - то что-же :?:

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 11.02.2010 (Чт) 20:58

Что это?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Текстовая база данных

Сообщение Dmitriy2003 » 11.02.2010 (Чт) 21:01

Хакер писал(а):Ограничение на размер файла (любого) зависит от файловой и операционной системы.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 11.02.2010 (Чт) 21:08

Это истина.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Текстовая база данных

Сообщение Dmitriy2003 » 11.02.2010 (Чт) 21:16

Ограничение на размер файла (в общем случае) зависит от файловой и операционной системы. Это истина

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 11.02.2010 (Чт) 21:21

Т.е. ты считаешь себя правым в том, что заменяешь «(любого)» на «(в общем случае)»? И эта чертова пометка в скобках делает из фразы-шутки фразу-истину?

Объясни и обоснуй.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Текстовая база данных

Сообщение Dmitriy2003 » 11.02.2010 (Чт) 21:31

что - тут непонятного. Куча программ намеренно, ограничивают размер файла - хотя им ни os ни fs не препятствуют - зачем же утверждать обратное :?:
Значит - форма "любого" - некорректна, а в общем случае - вполне подходит, и это правда и не важно в скобках она была написана или нет.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 11.02.2010 (Чт) 21:36

Причём тут программы? То, что это делают программы — это ограничения, касающиеся самих программ, а не ограничения, касающиеся файлов.

Размер файла как понятия, существующего в рамках файловой системы, ограничен файловой системой прямо и косвенно операционной системой, как посредником между приложением и файловой системой.

Слово «любой» — уместно, особенно учитывая распространённое умственное заболевание, под влиянием которого в голове возникают мысли о том, что файлы подразделяются на текстовые и нетекстовые (бинарные) вообще. И что этим двум разным семействам соответствуют разные признаки, качества, возможности и ограничения. Заболевание очень распространённое, а проявляется обычно желанием прочитать 100-ую строчку файла, зря не читая предыдущие 99 и последующие лишние.

И да. Познай разницу между тире и дефисом :evil:
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Текстовая база данных

Сообщение Dmitriy2003 » 11.02.2010 (Чт) 21:43

Хакер, я не болен - а ты себя хорошо чувствуешь ?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 11.02.2010 (Чт) 21:47

Я знаю, что ты не болен указанной болезнью. Возможно, кстати, что ты болен другой распространённой: принимать на себя высказывания, нацеленные другому или вообще не нацеленные никому.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Текстовая база данных

Сообщение Dmitriy2003 » 11.02.2010 (Чт) 21:51

Нет - этим я тоже не страдаю. И личной неприязни ни к тебе, ни кому-бы то ни было другому на этом форуме у меня нет.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Текстовая база данных

Сообщение iGrok » 11.02.2010 (Чт) 22:24

Дмитрий, ты таки совершенно не прав. Ограничение на размер любого файла зависит только от ФС и ОС.

То, что какая-то программа ограничивает размер "своего" файла пятью мегабайтами никак не может мне помешать дописать в этот же файл ещё 300 мегабайт "руками".
Да, программа не сможет этот файл прочитать. Но файлом он от этого быть не перестанет.
label:
cli
jmp label

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Текстовая база данных

Сообщение Dmitriy2003 » 11.02.2010 (Чт) 23:10

iGrok писал(а):Да, программа не сможет этот файл прочитать. Но файлом он от этого быть не перестанет.

Какой толк от такого файла, кроме того, что мы, называем его "файлом", ведь ТС наверняка спросил потому-что начитался ограничений про базу access,
и мне вполне понятны доводы Хакера. Тока мы здесь не на форуме где файловые системы обсуждаются.
Мне лично не интересно спорить на эту тему - поскольку ни я вас ни вы меня переубедить не сможете. Да и не важно это.

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: Текстовая база данных

Сообщение Diamock » 12.02.2010 (Пт) 5:18

Здравствуте Уважаемые!
Не ожидал, что мой вопрос вызовет такую полемику.
И, в очередной раз убедился, для получения чёткого ответа, надо правильно сформулировать вопрос.
Наверное, мне проще описать задачу.
Появилась идея, написать программу для коллекционирования (собирания, хранения, навигации) исходных кодов VB. Я понимаю, что таких программ много, но хочиться создать свою.
С базами данных, я дело никогда не имел, а API-Guide хранит свои данные в текстовой базе. Поэтому, после прочтения статьи у меня возник такой вопрос.
Если правилам хорошего тона в программировании, считается использовать для этой цели БД, посоветуйте с чего начать изучение.
С уважением...

PS:
ведь ТС наверняка спросил

Что означает ТС?
In der Beschrankung zeigt sich erst der Meister
Графоманю...

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Re: Текстовая база данных

Сообщение Twister » 12.02.2010 (Пт) 9:46

Ну, во-первых, глючный API-Guide работает не так быстро, как мог бы работать. Связано ли это непосредственно с хранением информации в файлах собственного формата или с кривыми руками создателей я не знаю, не дизасмил его и не буду. Поэтому утверждать, что "API-Guide работает так и я так буду делать" немного глупо с моей точки зрения.

Если Вы с базами данных никогда не работали (а следовательно не работали с хранением больших объемов данных), то от идеи написания чего-то своего, что работало бы достаточно быстро и надежно, придется на время отказаться. Я рекомендую воспользоваться готовым решением.

Теперь о решении. Если предполагается базу использовать только локально, то можно (но крайне нерекомендуемо в следствие объективных причин) использовать тот же Access. Я бы использовал Embedded Firebird Server (Embedded для того, чтобы просто таскать с собой библиотеку и не вынуждать пользователей дополнительно что-то устанавливать), файлы базы данных этого формата по крайней мере так необоснованно не растут, как mdb.

ЗЫ. ТС означает Topic Starter
А я все практикую лечение травами...

Diamock
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 26.10.2009 (Пн) 4:19
Откуда: Кемерово

Re: Текстовая база данных

Сообщение Diamock » 12.02.2010 (Пт) 11:16

Уважаемый Twister!
Большое спасибо за содержательный ответ!
С уважением...
In der Beschrankung zeigt sich erst der Meister
Графоманю...

jangle
Википедик
Википедик
Аватара пользователя
 
Сообщения: 3013
Зарегистрирован: 03.06.2005 (Пт) 12:02
Откуда: Нидерланды

Re: Текстовая база данных

Сообщение jangle » 12.02.2010 (Пт) 11:18

Diamock писал(а):Появилась идея, написать программу для коллекционирования (собирания, хранения, навигации) исходных кодов VB. Я понимаю, что таких программ много, но хочиться создать свою.
С базами данных, я дело никогда не имел, а API-Guide хранит свои данные в текстовой базе. Поэтому, после прочтения статьи у меня возник такой вопрос.


Посмотри исходники Organize Code 1.0, похоже это то, что тебе нужно. Заодно и с работой с Access разберешься.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Текстовая база данных

Сообщение Antonariy » 12.02.2010 (Пт) 11:45

А я бы вообще не писал такой программы.
Что может быть удобнее и наглядней:
Вложения
folder.gif
(67.91 Кб) Скачиваний: 111
Лучший способ понять что-то самому — объяснить это другому.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Текстовая база данных

Сообщение Денис » 12.02.2010 (Пт) 18:35

Antonariy писал(а):Что может быть удобнее и наглядней:


Разве что тотал двухпанельный файловый менеджер с поддержкой descript.ion-файлов и подобных плюшек.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Текстовая база данных

Сообщение Andrey Fedorov » 13.02.2010 (Сб) 0:37

iGrok писал(а):Дмитрий, ты таки совершенно не прав. Ограничение на размер любого файла зависит только от ФС и ОС.


Все же несколько не так:

Пробовали установить позицию в большом файле с помощью функции Seek?
Или узнать его длину с помощью функции FileLen?

Подскажу - все упрется в предел типа данных Long.

Как вывод - полноценная работа средствами VB6 возможна только с файлами до 2 гигабайт.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 13.02.2010 (Сб) 0:41

Так это (опять же) ограничение со стороны программы: ограничения некоторых функций VB, а не самих файлов. Есть другие функции, непосредственно от ОС, которые имеют ограничения, о которых я и говорил выше.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Текстовая база данных

Сообщение Andrey Fedorov » 13.02.2010 (Сб) 0:45

Хакер писал(а):Так это (опять же) ограничение со стороны программы: ограничения некоторых функций VB, а не самих файлов. Есть другие функции, непосредственно от ОС, которые имеют ограничения, о которых я и говорил выше.


Ну мы все же не возможности ОС имеем в виду, а возможности средства разработки.
Понятно что файл может быть десятки гиг, но нормально работать с ним из VB6 становится невозможно уже после 2 гигабайт.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16489
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Текстовая база данных

Сообщение Хакер » 13.02.2010 (Сб) 0:53

Я об ограничениях ОС и ФС, и думаю автор о них же. И вот почему: ограничения среды разработки, ограничения некоторых программ — можно обойти. Часто легко. Ограничения ОС и ФС — никогда в принципе.

И ограничение ОС и ФС, это «громкое ограничение» — это было прописано в спецификации, к нему стремились, на него полагались, его заявляли. Это нормально.

А ограничения VB — это «нелепое» ограничение, которое с ходом времени стало сильно заметным.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Текстовая база данных

Сообщение iGrok » 13.02.2010 (Сб) 2:48

Andrey Fedorov писал(а):Пробовали установить позицию в большом файле с помощью функции Seek?
Или узнать его длину с помощью функции FileLen?

Делать мне больше нечего. Мне и CreateFile / ReadFile / WriteFile вполне подходят. А им как-то пофигу, файл какого размера читать. =)

И ещё раз. Это не ограничение на размер файла. Это ограничение на размер файла, с которым может работать конкретная программа.
label:
cli
jmp label

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Текстовая база данных

Сообщение Andrey Fedorov » 13.02.2010 (Сб) 9:29

iGrok писал(а):Делать мне больше нечего. Мне и CreateFile / ReadFile / WriteFile вполне подходят. А им как-то пофигу, файл какого размера читать. =)


Это уже API. Что там от Basic-a остается? И все одно неудобно работать с большими числами...

iGrok писал(а):И ещё раз. Это не ограничение на размер файла. Это ограничение на размер файла, с которым может работать конкретная программа.


Правильно. С этим никто и не спорил.

Работать можно, но через одно место - используя API и выкручиваясь...

По крайней мере для меня это был бы уже повод писать данную программу на NET где таких заморочек просто нет.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList