|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
В начале модуля указно много обьявлений Type с полями Код: plaintext 1.
Раньше когда я работал с б/д я всегда каджый раз открывал файл и выходя с функции или процедуры закрывал. Сейчас переделал на такой способ: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Закрытия всех открытых файлов происходит по команде Reset при выходе с формы. Когда я сделал максимум упрощенный вариант добавления записи, мне пришло в голову сделать его универсальным: Сдесь рабочий вариант Код: plaintext 1. 2. 3. 4. 5.
1. если байт №130 не позначен как "+" значит файл не открыт - открываем 2. узнаем количество записей 3. добавляем данные а универсальный вариант должен был бы работать если б константу NmFileForFN передавать как параметр в функцию переименовав ее например в FN_NG_Add, да вот к сожелению когда я делаю tmBaza As Variant - VB начинает ругаться. Видимо невозможно универсальную функцию сделать для любых Type'ов ? с уважением Андрей ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 05:42 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Хм.. Ну а если tmBaza As NGBD_Artist вопше не передавать как параметр а tmBaza задать как глобальную переменну Надеюсь Redim не подведет ? Еще с ним в плотную не работал Тоесть какие мои действия... Я могу например сначало давать Redim а потом присвоить значения нужные для добавления а потом вызвать по ходу универсальную функцию добавления. Попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 05:59 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Нифига... ReDim только для измереных масивов может дать пространство. Я не вижу больше вариантов ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 06:09 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Андрей159, пытался заставить себя прочитать ваш код - не смог. Что именно вы хотите сделать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 08:33 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
big-dukeпытался заставить себя прочитать ваш код - не смог. Что именно вы хотите сделать ? +1 можно как-то упростить вопрос, оставив только самую суть? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 09:57 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
> Авторы: Shocker.Pro, big-duke > Что именно вы хотите сделать ? Самая суть в том, что Андруй хочет сделать аналог перегруженной функции, которая в зависимости от передаваемого пользовательского типа данных производила сохранение этого типа в файл. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 10:22 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Андрей159Видимо невозможно универсальную функцию сделать для любых Type'ов ?Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 11:35 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Андрей159Видимо невозможно универсальную функцию сделать для любых Type'ов ?Для любых невозможно. Можно было бы наверное что-нибудь придумать, если бы Public Type-ы были описаны в библиотеке типов, тогда бы была доступна информация о типе через стандартные системные интерфейсы. Но такой подход свойственен процедурному программированию. В ООП такие задачи решаются вполне стандарно и элегантно. Сущности (Type-ы) превращаются в классы, если у них есть общая группа (одна или более) операций (например, сериализация), то она описывается интерфейсом, который должен реализовать класс. Тогда универсальная функция работает с переданными ей ссылками на интерфейс единообразно, главное, чтобы этот интерфейс ей предоставлял необходимую для работы информацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 12:18 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
... однако на этом этапе стоит задуматься о переходе на БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 12:25 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Antonariy, или на расставание с VB. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 12:49 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Да я хотел избавится от большого количества кода на каждую таблицу, хоть если разобраться все идет по одному шаблону (Просто раньше я также упустил что есть функция LOF и измерял макс.количество зап. через Do Loop :(. От этого и было больше не только кода но и задержок). А сейчас не столь много нужно исправить чтоб быстренько подготовить новую функцию для новой таблицы. Мысля потом пришла что можна через Select Case Nom также все зделать и впихнуть в ту же функцию все причандаля. В любом случае помогли разобраться. Идиотскии затеи всегда приходят когда распечатаного кода стает на несколько десятков метров ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 23:06 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
я также упустил что есть функция LOF и измерял макс.количество зап. через Do Loop :(Жуть. Даже не зная про функцию lof, нужно соображать, что количество записей = размер файла / длина записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2011, 23:32 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Раньше не задумывался. Самоучка. Нас немножко учили только GWBaisc ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2011, 02:52 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Андрей159, попробуйте почитать умные книжки - Фаулер, Макконел. Почитайте про ORM. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2011, 10:03 |
|
Универсальная функция добавления новой записи open for random
|
|||
---|---|---|---|
#18+
Вот про ORM вроде как понятно. Я создавал три-четыре года назад шаблон и его тестил, интересовался как Binary и Random способ отличаются. Сейчас база данных у меня работает по нескольким шаблонам, даже сделал себе предварительно програму-помшника, где задаю поля и выбираю какие мне нужны действия с таблицой, после нажатия на "Создать" в текстовом поле меня ждет уже подготовленный код для копирования и вставки в VB. Вначале у меня было много ошибок, но со временем их стало меньше и пока не наблюдается. Все же нужно ручками работать даже после помошника. Немного хотел упростить механизм - не получается. Оставить как есть - не могу успокоится, что-то не хватает. Кода много - проблематично искать что-то, выручают только REM-ы. Обьемная база работает сравнительно медленней чем написанный код вручную, а у меня к разрабатываемому приложению нужно именно скорость и результат. Много времени на это ушло но есть уже результаты. Чтоб они были нескромными нужно еще много поработать. С быстрой сортировкой увы на визуале туго. Такое решение должно было бы быть в VB но его не нахожу. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2011, 16:10 |
|
|
start [/forum/topic.php?fid=60&msg=37084771&tid=2159011]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 333ms |
total: | 481ms |
0 / 0 |