Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 947
от 08.10.2007, 03:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 463, Экспертов: 80
В номере:Вопросов: 5, Ответов: 6


Вопрос № 104001: Доброе время суток. Подскажите пожалуйста как перетаскивать (Drag and Drop) выделенный текст в ListBox, мышкой по вертикали. Заранее длагодарю....
Вопрос № 104024: Здравствуйте, уважаемые эксперты ! Вопрос такой. Собираюсь создать приложение для работы с БД. И хотелось бы представить его в виде окна, вертикально разделенного на две части. В левой части дерево с определенными полями таблиц(коды, ...
Вопрос № 104035: Здравствуйте, господа Эксперты! Тренируюсь в написании сервисов на Delphi. Хочу сделать что-то вроде напоминалки (в такой-то час сделай то-то). Как сделать, чтобы мой сервис активировался в нужный момент времени и выдавал пользователю сообще...
Вопрос № 104068: Привет. У меня два вопроса: 1 Как получить список файлов папки з иконками.? 2 В винде есть такая штука как безопасное извлечение сёмного диска, как мне зделать ето з прогмы? Спасибо....
Вопрос № 104075: Здравствуйте уважаемые эксперты. У меня опять засада. Есть SQL запрос, данные отображаются в DbGrid. Можно ли при autocalc filds выполнить следующее и если можно то как? столбец1___столбец2 10___________2 12___________5 17___________3...

Вопрос № 104.001
Доброе время суток. Подскажите пожалуйста как перетаскивать (Drag and Drop) выделенный текст в ListBox, мышкой по вертикали. Заранее длагодарю.
Отправлен: 02.10.2007, 08:16
Вопрос задал: Delmast (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Gladiator
Здравствуйте, Delmast!
В приложении приведён код реализации вашей задачи.
Удачи.

Приложение:

Ответ отправил: Gladiator (статус: Студент)
Ответ отправлен: 02.10.2007, 10:16
Оценка за ответ: 4
Комментарий оценки:
Огромное спасибо!!!!


Вопрос № 104.024
Здравствуйте, уважаемые эксперты !
Вопрос такой.
Собираюсь создать приложение для работы с БД. И хотелось бы
представить его в виде окна, вертикально разделенного на две части.
В левой части дерево с определенными полями таблиц(коды, наименования...), в правой части форма, в которой представлены все поля записи для действий пользователя с ними(данными). Щелкая кнопкой в левой части, вызывать нужные формы в правой части.
Если создавать отдельные формы, то их надо проектировать так, чтобы они появлялись в границах главной формы, это неудобно и некрасиво. Если пользоваться фреймами, то они накладываются друг на друга.
Подскажите, пожалуйста, что тут можно придумать.
Допустим, одну форму надо
Отправлен: 02.10.2007, 11:49
Вопрос задал: Тарасенок Сергей (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Stari
Здравствуйте, Тарасенок Сергей!

Можно использовать TabPane, или (не мудрствуя) можно вместо форм использовать GroupBox сы поместить их друг на друга а потом просто делать Enabled и Visible в True а остальные наоборот
Ответ отправил: Stari (статус: 1-ый класс)
Ответ отправлен: 02.10.2007, 12:02
Оценка за ответ: 5
Комментарий оценки:
Спасибо, Stari. Очень помогли.

Отвечает: Архангельский Андрей Германович
Здравствуйте, Тарасенок Сергей!

В данном случае никаких фреймов не требуется.
Нужно 2 dataset
1) Открывает и формирует дерево
2) берет ID из дерева и выбирает запись, которая потом отображается на форме
Все!

P.S. Вместо "щелкания кнопкой" лучше формирования второго Dataset посадить на событие TreeView.onChange, тогда форма будет правильно отображаться и по клику мыши и с помощью клавиш на клавиатуре

---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 02.10.2007, 12:04
Оценка за ответ: 5
Комментарий оценки:
Спасибо Андрей Германович. Очень помогли.


Вопрос № 104.035
Здравствуйте, господа Эксперты!

Тренируюсь в написании сервисов на Delphi. Хочу сделать что-то вроде напоминалки (в такой-то час сделай то-то). Как сделать, чтобы мой сервис активировался в нужный момент времени и выдавал пользователю сообщение на экран? Иными словами при старте системы сервис должен просмотреть свою базу данных, выбрать ближайшее по времени сообщение и до этого времени уснуть, потом выдать его на экран, выбрать следующее сообщение... и т.д.
Отправлен: 02.10.2007, 12:54
Вопрос задал: Delph (статус: 10-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Drbear
Здравствуйте, Delph!

как насчет такой процедурки:
procedure Delay(dwMilliseconds: Longint);
var
iStart, iStop: DWORD;
begin
iStart := GetTickCount;
repeat
iStop := GetTickCount;
Application.ProcessMessages;
until (iStop - iStart) >= dwMilliseconds;
end;

При запуске ищите ближайшее событие. Определяете время до него в мс и вызываете Delay.
Когда она отрабатывает - событие выполняется, ищется следующее и т.д.
Можно поставить метки о выполнении, что-бы было видно пропущенные.
sleep - больше грузит процессор.
Ответ отправил: Drbear (статус: 2-ой класс)
Ответ отправлен: 02.10.2007, 15:56
Оценка за ответ: 4
Комментарий оценки:
Честно говоря, надеялся получить побольше информации (точнее - мнения нескольких экспертов)... Похоже, придётся искать инфу самому. Тем не менее спасибо за ответ.


Вопрос № 104.068
Привет.
У меня два вопроса:
1 Как получить список файлов папки з иконками.?
2 В винде есть такая штука как безопасное извлечение сёмного диска, как мне зделать ето з прогмы?
Спасибо.
Отправлен: 02.10.2007, 18:04
Вопрос задал: Мельник Віктор Ананійович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss

Здравствуйте, Мельник Віктор Ананійович!

Ответы на оба вопроса расписывать довольно долго, потому прикрепляю к своему ответу файл с примером, в котором приведено решение.

В примере находится программа с исходными кодами, имеющая список (TListView), в котором отображаются файлы, найденные в папке, выбранной при нажатии на кнопку "Выбрать папку...". Иконки файлов хранятся в списке изображений (TImageList).

Принцип простой:
1. Ищем файл
2. Смотрим на расширение файла (ext):
2.1. Если .EXE, .SCR или .ICO, то берем значок из найденного файла
2.2. Если не перечисленные выше, то смотрим в списке расширений.
2.2.1. Если в списке файл присутствует, то берем уже полученный значок
2.2.2. Если отсутствует - получаем и сохраняем значок, а также добавляем расширение в список.
3. Отображаем список со значками.

Вторая кнопка (с зеленым значком) выполняет вторую поставленную задачу - осуществляет безопасное извлечение съемного диска (flash-диска, например).

Архив с примером можно также скачать здесь: filelist.zip [191 K] (Файл будет удален через 1 месяц после последнего скачивания).

Удачи!

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
----
Ответ отправлен: 02.10.2007, 20:44


Вопрос № 104.075
Здравствуйте уважаемые эксперты. У меня опять засада. Есть SQL запрос, данные отображаются в DbGrid. Можно ли при autocalc filds выполнить следующее и если можно то как?
столбец1___столбец2
10___________2
12___________5
17___________3
Объясню: столбец2 - содержит в себе разницу строк столбца1, т.е. от каждого следующего значения отнимается предыдущее и записывается в столбец2. Надеюсь объяснил понятно. Заранее спасибо.
Отправлен: 02.10.2007, 19:09
Вопрос задал: Romiros (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Архангельский Андрей Германович
Здравствуйте, Romiros!

Нет нельзя!
В реляционных БД операции производятся ТОЛЬКО в пределах строки. Т.е. можео вычислить Поле3 = Поле1*Поле2

В реляционных БД нет понятия предыдущая или следующая строка. Предполагается что строки храняться в произвольном порядке.
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 02.10.2007, 19:29


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.60.10 от 27.09.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное