logo
logo

Форум Классификаторы без базы?

создать новую тему раскрыть все
Классификаторы без базы? Дим(м) 16/01/2004 21:21 #написать ответ
Запустил программу и еще не успел открыть/создать базу. Соответственно пункты добавить/изменить счет/операцию - выключены. Однако, для классификаторов это не так - их можно создавать и при отсутствии базы? Я полагал, что классификаторы являются свойством конкретной базы, а не настройкой программы. Я не прав?
Например, (конечно, это несколько надуманно, но все же) чтобы можно было отредактировать свою базу на компьютере у друга.
 
Кстати, даже когда еще ни один классификатор не создан, пункт контекстного меню Изменить доступен. И, соответственно, при его выборе происходит ошибка времени исполнения PageClss.c:38
А после выбора "продолжить выполнение программы" появляется диалог _добавления_ классификатора, который не закрывается по Esc.
 
Пойду исследовать дальше...
 
Dervish: На самом деле программа с файлом ведёт себя примерно так же, как обычный Блокнот (Notepad) в Windows. Если вы запустили программу, но она не может открыть файл из предыдущей сессии (или вы в первый раз запустили программу), то она всё равно создаёт базу данных. Но - в памяти.
 
Поэтому добавление классификаторов доступно. База-то уже есть. Пустая, но есть.
 
Во второй версии немного другой подход к данным. Если в первой версии всё, что вы делали с данными тут же записывалось на диск, то тут надо нажать Ctrl+S и только тогда данные будут сохранены.
 
А вот замечание насчёт "Изменить" совершенно справедливое. Спасибо, это будет исправлено.
И еще по теме.. Дим(м) 16/01/2004 21:30 #написать ответ
При попытке выйти из программы после этих фокусов с классификаторами, она предложила сохранить проделанные изменения. Т.е. какую-то базу в памяти она все же создала. Тогда не понятно, почему нельзя сразу же приступать к созданию счетов/транзакций?
Это как-то связано с работой непосредственно с файлом базы? Тогда, как мне кажется, и классификаторы стоит причесать под ту же гребенку, что все было гомогенно.
 
Еще один пунктик. Файл - Настройки базы.
Заголовок: "Настройки открытой базы данных". А я еще никакую БД не успел открыть/создать. Либо заблокировать это окошко в такой ситуации, либо адаптировать заголовок (например, "Настройки [текущей/активной] базы данных")
 
Dervish: Да, создала.
 
Транзакции нельзя создавать потому что нету счетов.
 
Счета нельзя создавать потому что нет валют.
 
А создание базы данных я планировал оформить в виде мастера. То есть, если сейчас программа показывает вам при запуске пустую базу, то в будущем она будет запускать мастер создания новой базы данных.
 
Что же касательно заголовка диалога, то после запуска у вас есть уже база. Она открыта. Но не сохранена на диск. Всё справедливо.
Ага, уже и сам до этого дошел Дим(м) 16/01/2004 22:16 #написать ответ
Блин, не привык я таким умным программам Другая бы просто показала диалог создания счета, и уже только при попытке его сохранить, выругалась бы на "невыбранную валюту".
 
Хмм. Так ведь на диалоге создания счета есть кнопка "Добавить валюту", а при создании операции можно добавить новый счет. Так почему тогда пункты меню выключены?
 
И еще один момент. После создания счета на закладке Операции в поле По счету по-прежнему осталось пустое значение. И при этом меню все еще было не доступно, хотя счет у меня уже есть.
Но это все, конечно, ерунда. Наврядли у кого-то возникнут такие экзотические ситуации. Это мне лишь бы поковыряться. )
 
Dervish: А вообще, резонные замечания, спасибо!
 
Действительно, это не очень хорошо, когда программа сама принимает какое-то решение и не очень понятно, собственно, почему...
Новые транзакции и счета в новой базе Роман 17/01/2004 12:30 #написать ответ
Хорошо бы при создании новой транзакции через диалог ввода вводить первый счет, первую валюту и т.д.
 
Dervish: Да, наверное это было бы идеально, но тут могут быть сложности... У меня уже была одно время разблокирована кнопка "Добавить" на странице операций. И программа успешно падала при добавлении операции. Я "наложил заплатку" заблокировав кнопку "добавить", так что, ещё придётся вылавливать ошибку, если делать то, о чём вы говорите.