Вопрос № 63773: Доброго времени суток, друзья !
Я недавно программирую на Delphi. И наверное исходя из этого и столкнулся с проблемой. Работаю через ADO c базой Access.
Значит есть программа у меня (!) (что-то типа телефоного справочника). В одной ее части я...Вопрос № 63845: Уважаемые эксперты! Помогите, пожалуйста в следующем:
Задача: создать дерево с Chekbox'ами (примерно как в инсталляторах). Галочки в чекбоксах будут расставлять пользователи и нужно также их ставить программно. При этом необходимо, чтобы при выб...Вопрос № 63849: Здраствуйте уважаемые эксперты.
Давно занимаюсь Delphi, но такой глюк ловлю впервые. Стояла 7 работала отлично, отчего то захотелось воткнуть 2005, воткнул, не понравилась, снес. у 7 пошли глюки, снес и ее, переставил 7 запускаю а там такой глюк...Вопрос № 63855: Здравствуйте!
Извените за откровенно ламерский вопрос. Я после учёбы долго ничего не писал, вот и появляются тупые вопросы.
Получаю дату:
var date:tdatetime;
begin
date:=time; //18:11:21 к примеру
мне нужно прибавить...Вопрос № 63901: Здравствуйте, эксперты!!!
Помогите, пожалуйста, вот с такой задачкой.
На шахматной доске заданы координаты двух полей. Нужно определить наименьшее количество шагов, за которое конь может попасть с одного поля на другое.
Заранее спасибо, Д...
Вопрос № 63.773
Доброго времени суток, друзья !
Я недавно программирую на Delphi. И наверное исходя из этого и столкнулся с проблемой. Работаю через ADO c базой Access.
Значит есть программа у меня (!) (что-то типа телефоного справочника). В одной ее части я применяю программое сжатие БД используя JRO (CompactDatabase если точнее). Так вот, перед ее применением нужно ведь отключить БД (Листинг 1) ? Все равно ошибка : Операция не может быть выполнена ,т.к. БД открыта в монопольном режиме ..... и т.д. и т.п.
Хотя при отладке проверял вроде файлиk *.ldb , который появляется когда БД Access отрывается , исчезает в каталоге .....
Уважаемые эксперты подскажите что делаю не так ?
Или как нужно правильно ?
Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, Kotof!
В приложении вариант, который у меня работает.
Если будут проблемы - посмотрите, нет ли у Вас еще одного ADOConnection, которое подключено к той же базе.
Удачи!
P.S. (sBase - глобальная переменная - содержит полный путь к базе).
Приложение:
--------- Ответы на все вопросы - на сайте www.ya.ru ☺
Уважаемые эксперты! Помогите, пожалуйста в следующем:
Задача: создать дерево с Chekbox'ами (примерно как в инсталляторах). Галочки в чекбоксах будут расставлять пользователи и нужно также их ставить программно. При этом необходимо, чтобы при выборе родительской ветви отмечались галочками и все дочерние узлы этой ветви и соответственно наоборот - при снятии галочки снимались и все дочерние. Мои попытки реализовать это (см. код) успехом не увенчались.
Отвечает: Melamed
Здравствуйте, Alexius1979!
Воспользуйся компонентом TJvgCheckTreeView из библиотеки Jedi VCL. Сама библиотека имееет более 400 компонент.
Скачать ее можно с http://sourceforge.net/projects/jvcl/
Ответ отправил: Melamed (статус: 8-ой класс)
Ответ отправлен: 23.11.2006, 12:46
Отвечает: PaVeL_Ekt
Здравствуйте, Alexius1979!
можно попробовать все сделать еще проще, через images
отрисовать 3 чекбокса нажатый, пустой и затемненный нажатый и при нажатии на ветвь просто менять imageindex на нужный !!!
если ветка не имеет Child объектов то только нажатый или отпущеный !!!
если имеет то делать проверку всех child-ов на предмет нажатия (по imageindex) определять !!!
мне кажется так будет проще !!!
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 5-ый класс)
Ответ отправлен: 23.11.2006, 12:52
Вопрос № 63.849
Здраствуйте уважаемые эксперты.
Давно занимаюсь Delphi, но такой глюк ловлю впервые. Стояла 7 работала отлично, отчего то захотелось воткнуть 2005, воткнул, не понравилась, снес. у 7 пошли глюки, снес и ее, переставил 7 запускаю а там такой глюк, можно создавать только модули, dll и прочие прелести не имеющие формы. компонентов нет ни фига нет, понять не могу уже раз 5 переставил и бесполезно, мож у кого было такое или кто знает че за глюк?
Помогите пожалуйста, я без дельфей как без рук. На работе сижу за сервером, стоит 2003 server, народ работает в терминалке и как вы наверно уже поняли снести систему не представляется возможным.
Отвечает: monah
Здравствуйте, Кулаков Антон Сергеевич /SandroNec!
Было такое... Справился удалив все файлы от Delphi в ручную. Кроме проектов, их в архиве сохранял. Потом чистка реестра Norton WinDoctor. Перезагрузка и установка Delphi. Помогло.
--------- festina lente
Ответ отправил: monah (статус: Студент)
Ответ отправлен: 23.11.2006, 12:41 Оценка за ответ: 5
Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Кулаков Антон Сергеевич /SandroNec!
Снесите Делфи
Откройте редактор реестра, [HKCU\software\borland\delphi] и [HKLM\software\borland\delphi] , в обоих ветках удалите папку 7.0 и можете ставить делфи заново - должно быть нормально, мне помогало
Ответ отправил: Лукьяненко Алексей Валериевич (статус: 6-ой класс)
Ответ отправлен: 23.11.2006, 12:42 Оценка за ответ: 5
Отвечает: PaVeL_Ekt
Здравствуйте, Кулаков Антон Сергеевич /SandroNec!
нда модный глюк, у меня еще помимо чистки всего еще получилось реанимировать делфу посредством установки в др. директорию !!! (думал уже с финта все сносить !!!)
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 5-ый класс)
Ответ отправлен: 23.11.2006, 12:44 Оценка за ответ: 4
Отвечает: KiberZero
Здравствуйте, Кулаков Антон Сергеевич /SandroNec!
Да, такое бывает, особенно если переустанавливаешь с верхней на нижнюю версиию без перезагрузки!Подобного типа глюки(они связаны с компонентами формы; при деинсталяции не удаляются из реестра некоторые компоненты Delphi) я встречал не раз.Бывает, что вообще ничего не помогает.Первая мысль,которая приходила - это переустановка системы.Оказалось она не причём.Всё дело в работе реестр.Короче - удаляете в ручную все файлы Delphi из установленной папки.Саму папку не удаляете!Затем выполняете деинсталяцию.Система
выведет ошибку отсутствия файлов и спросит удалить запись или нет.Соглашаетесь.В результате этого удаляется информация о системных файлах программы из реестра в память компа.После этого нужно сделать перезагрузку.Всё готово,можете переустанавливать.Без перезагрузки файлы вновь будут занесены системой в реестр и ошибка будет повторяться.
Ответ отправил: KiberZero (статус: 2-ой класс)
Ответ отправлен: 23.11.2006, 16:15 Оценка за ответ: 5
Вопрос № 63.855
Здравствуйте!
Извените за откровенно ламерский вопрос. Я после учёбы долго ничего не писал, вот и появляются тупые вопросы.
Получаю дату:
var date:tdatetime;
begin
date:=time; //18:11:21 к примеру
мне нужно прибавить к этому времени 23 минуты и проверить с текущим временем. Вот как прибавить меня интересует. Сам придумал способ только через преобразование сначало к строковому типу, а потом к int. но хочется как-то по проще.
Заранее благодарю.
Отправлен: 23.11.2006, 13:15
Вопрос задал: Prowler (статус: 1-ый класс)
Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: monah
Здравствуйте, Prowler!
Тип TDateTime эвивалентен типу Real. Где дробнаЯ часть соответствует доли суток.
Значит 23 мин:=1/(23*60*24)
Приложение:
--------- festina lente
Ответ отправил: monah (статус: Студент)
Ответ отправлен: 23.11.2006, 13:25
Отвечает: Лукьяненко Алексей Валериевич
Здравствуйте, Prowler!
Пример использования:
procedure TForm1.Button1Click(Sender: TObject);
var tm:TDateTime;
begin
tm:=IncMinute(GetTime(),23);
ShowMessage(TimeToStr(tm));
end;
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 23.11.2006, 13:33
Отвечает: Писарев, Павел, Юрьевич
Здравствуйте, Prowler!
В модуле DateUtils есть функции работы со временем в Delphi. Следующая функция выполняет данну задачу.
где XXXX - Day, Hour, MilliSecond, Minute, Month, Second, Week, Year. Увеличивает указанную дату на нужное количество дней (часов, миллисекунд, минут, месяцев, секунд, недель, лет).
Ответ отправил: Писарев, Павел, Юрьевич (статус: 1-ый класс)
Ответ отправлен: 23.11.2006, 13:58
Отвечает: KiberZero
Здравствуйте, Prowler!
Можно складывать и сравнивать так:
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=FormatDateTime('hh:nn:ss',Time);
Edit2.Text:=TimeToStr(Time + StrToTime('0:23'));
end;
Ответ отправил: KiberZero (статус: 2-ой класс)
Ответ отправлен: 24.11.2006, 19:48
Вопрос № 63.901
Здравствуйте, эксперты!!!
Помогите, пожалуйста, вот с такой задачкой.
На шахматной доске заданы координаты двух полей. Нужно определить наименьшее количество шагов, за которое конь может попасть с одного поля на другое.
Заранее спасибо, Денис
Отвечает: Mexes
Здравствуйте, Гусев Денис!
Это вопрос скорее по алгоритму, а не по языку. Для большей теоретической подготовки рекомендую найти материалы по поиску в ширину (aka волновой алгоритм aka "заливка")
Приложение:
Ответ отправил: Mexes (статус: 5-ый класс)
Ответ отправлен: 25.11.2006, 13:49 Оценка за ответ: 5 Комментарий оценки: Большое спасибо за решение, с уважением, Денис