Вверх ↑
Этот топик читают: Гость
Ответов: 80
Рейтинг: -5
#46: 2009-09-17 19:40:35 ЛС | профиль | цитата
отвечаю по существу вопроса:

1. Необходимо построить базу с нестандартным поиском.
2. База не должна создаваться руками пользователя.
3. Сохранение результатов базы производится только в произвольных случаях и только списки таблиц и выпадающих строк.
4. База постоянно меняется и дополняется, поэтому очень важны пункты 2,3
5. Поиск по этой базе, как и само ее заполнение должно происходить очень быстро.
6. Данная (обсуждаемая часть) программа, это часть модуля отображения данных, а вообще таких модулей 15 - 8 полных и синхронизированных между собой и главной таблицей и 7 сводных не синхронизированных. а также три таблицы
7. Поиск может производится синхронно с пребором данных в строке в атоматическом режиме, или при задании в ручную.
8. База постоянно пополняется и поэтому не может быть привязана к чему либо.
9. Разборка данных по определенным местам вывода информации - задается в имени файла и не меняеться.

вот скриншот:


а вот как выглядит конечный результат компиляции:

карма: 0

0
Ответов: 1326
Рейтинг: 68
#47: 2009-09-17 21:34:04 ЛС | профиль | цитата
Konst писал(а):
При таком кол-ве строк может имеет смысл бд использовать


карма: 2

0
Ответов: 16884
Рейтинг: 1237
#48: 2009-09-17 21:37:51 ЛС | профиль | цитата
andrestudio,
имеем 60418 файлов
моя схема - 1.953 сек грубо ~ 2 сек.
твоя схема с IntegerArray - 75.5 сек.
разницу ощущаешь ?
------------ Дoбавленo в 21.47:
Sergoo писал(а):
отвечаю по существу вопроса:
по существу вопроса - нифига не понял
Кому это нужно и зачем?
Кто понял - поделитесь мыслями.
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#49: 2009-09-17 21:49:28 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 19:15:51
карма: 0

0
Ответов: 16884
Рейтинг: 1237
#50: 2009-09-17 21:55:22 ЛС | профиль | цитата
Konst, сначала нужно понять зачем это нужно, а потом и решать задачу. Один из самых первых "антивирусников" создавал обыкновенный текстовый файл со строками ИМЯФАЙЛА_РАЗМЕР. При запуске проверял или длинна не изменилась. Если изменилась, то выдавал предупреждение. Там было понятно - зачем это нужно, здесь всё покрыто мраком.
------------ Дoбавленo в 21.59:
vir1a.toonel.net писал(а):
и что у Вас так всё запущенно то ?
Если ты насчет PureBasic, то я согласен - быстрый, проги маленькие. Правда всех возможностей не знаю - у меня для ознакомления Demo-версия .
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#51: 2009-09-17 22:18:25 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2020-03-01 19:15:54
карма: 0

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#52: 2009-09-17 22:33:28 ЛС | профиль | цитата
Tad писал(а):
Кому это нужно и зачем?

Действительно, а что это за монстр такой и для каких целей
карма: 20

0
Ответов: 16884
Рейтинг: 1237
#53: 2009-09-17 22:33:32 ЛС | профиль | цитата

карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 80
Рейтинг: -5
#54: 2009-09-18 01:02:16 ЛС | профиль | цитата
Ребята, большего я сказать не могу, но используя ваши элементные решения я пытаюсь собрать эту программу в течении года.

Если посмотреть то можно понять, что это БД но я бы сказал, что это супер-динамическая система поиска файлов свободная от зацикливаний на одних и тех же значениях.
В ней лежит придуманная мною сборное оформление имени файл, а именно - старое ИМЯ(если оно было или внутреннее наполнение - HTML,PDF и т.д. можно перечислять через запятую), АВТОР(выделение Заглавными буквами ФАМИЛИЯ Имя Отчество только в таком порядке, если несколько то одинаково через запятую или пробел),НАЗВАНИЕ (книги), ЖАНР(несколько через запятую или пробел).

В идеале, должно получится вот это: eterman.ЭТЕРМАН Александр.Рассказы и повести 1-7.драма.txt или HTML,INDD,PDF.ШЕЙДУХИН Иван Васильевич.Шпаргалка - Photoshop CS3.справочник.rar

Программа не лезет в сам файл и не достает из него данные, так как в принципе все нужные данные получаются просто считыванием имени файла.
Кроме того, имея такое наименование, легко искать системным поиском Windows, но программа просто разделяет имена файлов, создает списки авторов в виде одной фамилии на весь список или один размер файла который хотя бы раз попался в поле зрения программы. Именно для последнего и создавался данный блок сортировки размеров файлов (ведь скажем размер 3663255 может быть у двух-трех-четырех файлов).

Если общий счетчик показывает всего файлов, то попробуй разберись сколько файлов отмечены автором БЕЛЯЕВ или ДЕФО.

Более того, используя программу можно более точно определить сколько расширений имеется в папке с файлами книг и какие. Определить можно и пути где лежат эти книги и быстрее их найти.

В исходном у меня было 5 дисков СD с библиотекой. На каждом диске лежала своя база данных жестко закрепленная только за своим диском и данные там повторялись так же, как и файлы книг(Вам встречались такие библиотеки в кармане?). так вот отыскать там книгу было непросто. Фаилы были озаглавлены так - eterman.txt или eterm_1.txt - они предназначены для ДОСовских систем(неболее 8 букв). все остальные данные (причем те же, что я вынес в название файла), были жестко закреплены в файла базы данных. поиск был там не быстрее мною созданного на основе Hiasm.

Ну, а так как я раньше работал с электронными схемами и мыслю тем же, то Ваш Hiasm привлек мое внимание с первых версий, и с тех пор, я занимаюсь изучаю и пытаюсь сделать полезную прогу, хотябы для себя.

Общее количество книг в этих базах = 10223. Вручную пришлось их переименовывать под новый формат имени.


карма: 0

0
Ответов: 16884
Рейтинг: 1237
#55: 2009-09-18 01:54:53 ЛС | профиль | цитата
Sergoo писал(а):
я пытаюсь собрать эту программу в течении года.
считай год ты потерял - не тот путь.
Sergoo писал(а):
Вручную пришлось их переименовывать под новый формат имени
Нужно было просто создать таблицу соответствия.

Тебе нужно иметь Автора, год выпуска, Жанр, Название=имя файла.

И не могу я понять: Нахрена тебе вообще размер файла нужен ? Ничего ты по размеру файла не найдешь.
Sergoo писал(а):
Именно для последнего и создавался данный блок сортировки размеров файлов (ведь скажем размер 3663255 может быть у двух-трех-четырех файлов).
потому,что
сам писал(а):
размер 3663255 может быть у двух-трех-четырех файлов
разных авторов,жанров и т.д.


карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 80
Рейтинг: -5
#56: 2009-09-18 02:29:45 ЛС | профиль | цитата
Ответ на первое - год я не потерял, А приобрел:

1. Полностью просмотрел всю библиотеку книг, авторов и названия книг.
2. За это время были созданы формат имени и несколько промежуточных программ (конструктора имен, которые пытались использовать все эти базы), а также определены критерий поиска(многие знакомые не всегда помнят название или автора, но помнят, что файл был приблизительно 5-10 мегабайт и автор вроде, что то на 4 буквы - беля.

Не знаю, как вы, а мне иногда приходят запросы по телефону(Это ответ на третье) надоело лопатить:
1. При пересылках по проводам, чаще интересуются не авторами или названиями, а объемом файла который можно протолкнуть без повторных проталкиваний.

Второе, повторяю для тех, кто не понимает, база данных мною не создается и не собирается в таблицу( а просто кидаетсяв папку файл), в соответствии она должна быть и будет динамична и не зависеть, от жестких условий в ставления нового экземпляра книги(прочитал файлы в папке и все готово).


Ну и на конец, четвертое между строк: Ребята, не клюйте, все это продумано и обсуждено компьютерным литературным клубом любителей книг - коим председателем я являюсь по совместительству.

------------ Дoбавленo в 02.39:
Да, кстати. это ведь и есть :
Нужно было просто создать таблицу соответствия.

Мне нужно иметь Автора, год выпуска, Жанр, Название=имя файла, но автоматически!!!!
------------ Дoбавленo в 02.55:
Вот только думаю, что опять скажут ерунда, этого не надо.

В молодости? я попросил одного программиста сделать программу ввода-вывода на ленту(комп 'микроша' може кто помнит?), данных полученных в программе(ну понимаете в бейсике техлет такого не было).

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

Условие с ним было оговорено, но .... (для непонятливых, он сделал тоже самое, что предлагают мне тут - Нужно было просто создать таблицу соответствия.)
карма: 0

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#57: 2009-09-18 03:19:48 ЛС | профиль | цитата
Sergoo, я тебе подпись поправил, а то ты ее пропихиваешь везде в тексте

Знаешь первый критерий, по которому программу ценят -- это интуитивно-понятный интерфес, это когда любая кухарка сможет добиться нужного ей результата, что о твоей программе не скажешь по первому впечатлению, ИМХО, но я могу и ошибаться.
карма: 20

0
Ответов: 80
Рейтинг: -5
#58: 2009-09-18 03:55:41 ЛС | профиль | цитата
Приятно слышать, но не расслабляюсь!

Если бы тогда, не зарубили, то сделал бы быстреее, а так пришлось искать долгие обходные пути, вроде этого блока сортировки.

Программу заканьчиваю. В принцыпе, все работает как надо, но осталось сделать авто расширение колонок при раскрытии на полное окно, и ..... покой нам только снится!!!!

Да, Nesco, а как это делается, а?

А, об интерфейсе - у многих программ интерфейс гораздо запутанней, и спрятан гораздо глубже чем у меня. Вот выложу готовую прогу, тебе сразу звякну, OK?
карма: 0

0
Ответов: 4673
Рейтинг: 516
#59: 2009-09-18 07:57:17 ЛС | профиль | цитата
Sergoo, всё что ты делаешь идёт в штатной упаковке Windows. Хочу лишь подтвердить что в твоём случае как нельзя лучше подойдёт БД.
карма: 6

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#60: 2009-09-18 08:33:44 ЛС | профиль | цитата
Sergoo писал(а):
Да, Nesco, а как это делается, а?

В справке посмотри. Но там пример есть только для новой таблицы -- модуль MST_ColAction, Action=AutoColWidth, при Index=-1
карма: 20

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)