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

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


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

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

Выпуск № 898
от 18.08.2007, 00:05

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


Вопрос № 98099: Здравствуйте уважаемые эксперты.... в программирование я полный новичек... попросили сделать программку.... проблема заключается в том... что я не могу понять как сделать так чтобы при выборе пользователя из ComboBox или при вводе его в Edit появляло...
Вопрос № 98117: Здравствуйте эксперты! Хочу сделать маленькие часики, и столкнулся с проблемой стрелок. В таймере задал MoveTo к середине Image1, и линию в (x,y). Х и Y в таймере увеличиваются на один. Конечно такие часы правильно работать не будут, но они вообще ст...
Вопрос № 98130: Здравствуйте уважаемые эксперты!Просьба у меня в следующем.Хочу создать у себя в приложении систему справок на подобе, как в delphi world т.е состоящую из двух окон.Что бы щёлкая в первом окне на +, в нём высыпались все подпункты справки ,а щёлкнув н...
Вопрос № 98137: Привет . Несколько вопросов по Tlistview . 1 )Использую его в vsReport . Колонок 25 штук. Строк под 200.Doublebuffered в true. При прокручивании наблюдается подтормаживание. Возрастает загрузка процессора. Если использовать вид отли...
Вопрос № 98154: Уважаемые эксперты! Помогите как из полей editов цифры переместить в готовую таблицу в Ексель (в строку D3,4,5....18,19 и тд.) ,как бы создать отчёт? Таблица имеет имя "Отчет по обследованию". Как связать программу и таблицу?...

Вопрос № 98.099
Здравствуйте уважаемые эксперты.... в программирование я полный новичек... попросили сделать программку.... проблема заключается в том... что я не могу понять как сделать так чтобы при выборе пользователя из ComboBox или при вводе его в Edit появлялось окошко с паролем т.е. PasswordDlg и **** после одного ввода пароля на одном из пользователей исчезали.Т.Е при захоже на другого пользователя **** и пароля в окне passworddlg не было...И еще заодно вопрос как сделать так чтобы из базы данных в dgComboBox выбирались зависимости например в одном комбо класс А а в другом список класса А а если выбираешь в первом комбо класс Б то в другом появлялось список класса Б а не все списки классов.... или для этого надо отдельную таблицу в базе данных делать ?
Отправлен: 12.08.2007, 02:09
Вопрос задала: Виктория (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Sandy
Здравствуйте, Виктория!
На нужное вам событие (скажем для ComboBox это onSelect) добавляете строки:
PasswordDlg.Password.Text:=''; //очистка поля пароля
PasswordDlg.ShowModal; //вызов диалога
Строки приведены исходя из предположения,что Вы используете стандартный диалог из палитры Дэлфи. Не забудьте добавить в раздел uses той формы где находится ComboBox имя модуля с PasswordDlg (имя пишется в самом начале - к примеру unit Unit2; - имя значит Unit2).
По 2й части вопроса ничего не понял что Вы хотите сделать.
Ответ отправил: Sandy (статус: 9-ый класс)
Ответ отправлен: 13.08.2007, 10:44


Вопрос № 98.117
Здравствуйте эксперты! Хочу сделать маленькие часики, и столкнулся с проблемой стрелок. В таймере задал MoveTo к середине Image1, и линию в (x,y). Х и Y в таймере увеличиваются на один. Конечно такие часы правильно работать не будут, но они вообще стоят! Помогите пожалуйста :)

Приложение:

Отправлен: 12.08.2007, 10:16
Вопрос задал: Gendalf (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Решетник Д
Здравствуйте, Gendalf!
По поводу не работает: просто рисует одну линию и все? ...а может так и должно быть по Вашему алгоритму?
для движения стрелки по кругу (задания конечной точки) легче использовать полярные координаты.
по ссылке можно найти некоторуюинформацию по теме.
После прочтения попробуйте разобрать код, приведенный в приложении: киньте кнопочку на форму и измените обработчик нажатия....

Приложение:

---------
Жизнь коротка, чтобы писать на ассемблере

Ответ отправил: Решетник Д (статус: Студент)
Ответ отправлен: 13.08.2007, 00:17

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

В приложении я привел обработчик событий таймера, там - простейший пример с прорисовкой трёх стрелок (час, минута, секунда). В разделе Private главной формы приложения объявлены ещё три переменные: OldHour, OldMin, OldSec: Word; (они хранят информацию о прежних показаниях часов, чтобы затереть прежние изображения стрелок.) Image1 имеет размер 512*512. Timer1.Interval у меня равен 1000 (т.е. срабатывает один раз в секунду).

Обратите внимание: внутри обработчика таймера используется вложенная процедура, поскольку её код вызывается дважды при каждом срабатывании таймера.

Приложение:

Ответ отправил: Delph (статус: 7-ой класс)
Ответ отправлен: 13.08.2007, 10:35

Отвечает: Mishell
Здравствуйте, Gendalf!
смотрите в приложении две процедуры - я с помощью них рисую часы в картинке размером 32х32 (центр в 15х15) (если Вам надо будет по-другому поправите)
думаю это то что Вам надо

Приложение:

Ответ отправил: Mishell (статус: 5-ый класс)
Ответ отправлен: 13.08.2007, 11:42


Вопрос № 98.130
Здравствуйте уважаемые эксперты!Просьба у меня в следующем.Хочу создать у себя в приложении систему справок на подобе, как в delphi world т.е состоящую из двух окон.Что бы щёлкая в первом окне на +, в нём высыпались все подпункты справки ,а щёлкнув на папке подпункта во втором окне появлялось его содержание.От Вас я хочу что бы помогли советами с выбором компонентов для реализации этого а так же с основными процедурами, кто чем может, пожалуйста.Заранее благодарен.
Отправлен: 12.08.2007, 12:39
Вопрос задал: Зотов Геннадий Александрович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

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

Для этого нужно использовать формат .chm
Если для разработки самого файла справки использовать программу Help&Manual,
то в ней есть возможность результат сохранять и в этом формате, а также в html и pdf

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

Отвечает: Mishell
Здравствуйте, Зотов Геннадий Александрович!
по правому "окну" со списком справок и подпунктами - можна посоветовать компонент TTreeView (очень подозреваю, что Вам его уже посоветовали)
для правого "окна" я думаю пододет TRichEdit (хотя можно и что-то другое)
думаю кроме-того Вам будет полезно почитать например на королевстве дельфи http://www.delphikingdom.com/ (или др. подобном сайте или просто в книжке по дельфи) статьи по компонентам (томуже TTreeView и др.) и про работу с базами данных (где будут храниться Ваши список и содержание статей)
Ответ отправил: Mishell (статус: 5-ый класс)
Ответ отправлен: 13.08.2007, 11:57


Вопрос № 98.137
Привет .
Несколько вопросов по Tlistview .
1 )Использую его в vsReport . Колонок 25 штук. Строк под 200.Doublebuffered в true.
При прокручивании наблюдается подтормаживание. Возрастает загрузка процессора.
Если использовать вид отличный от vsreport или же без Doublebuffered , то все нормально.
Возможно ли как-нибудь сделать так , чтобы не было мерцания и не тормозило. Например в проводнике в режиме таблица все отлично , нет никаких тормозов.

2) Как сделать группирование.
Например :
Есть все теже 25 колонок и 200 строк. Например в пятой колонке у 20 строк - "Иванов" . И их сгруппировать ( не отсортировать по пятой колонке ).
Тоесть привести к виду -
----------ИВАНОВ----------- ( строка разделитель на всю ширину listview)
1 2 3 4 Иванов 6 7 8 9 10
1 2 3 4 Иванов 6 7 8 9 10
1 2 3 4 Иванов 6 7 8 9 10
1 2 3 4 Иванов 6 7 8 9 10
1 2 3 4 Иванов 6 7 8 9 10
--------Петров---------------( строка разделитель на всю ширину listview)
1 2 3 4 Петров 6 7 8 9 10
1 2 3 4 Петров 6 7 8 9 10
1 2 3 4 Петров 6 7 8 9 10
1 2 3 4 Петров 6 7 8 9 10
1 2 3 4 Петров 6 7 8 9 10
Вот как сделать строку разделитель ?

3) Возможно ли при ownerdraw:= false нарисовать в колонке (subitem )изображение. Использование Timagelist не подходит. Так как мне надо в одной колонке изображение с одной шириной , а в другой колонке с другой шириной .

Заранее спаибо.
Отправлен: 12.08.2007, 14:24
Вопрос задал: Sele (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Карабанов Алексей
Здравствуйте, Sele!

По первому вопросу.
Скорость работы зависит от того, где вы храните данные, выводимые в TListView.
При хранении в переменных, массивах и т.д. при каждом обновлении списка все 200 строк загружаются заново. Из-за этого возникает ощутимая задержка. Работать будет быстрее, если хранить данные в самом TListView в свойстве Data.
Для устранения мерцания используйте такую конструкцию

BeginUpdate
...
Код обновления списка
...
EndUpdate

Тогда список будет перерисовываться не в процессе заполнения, а по окончании его.

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

---------
Дорогу осилит идущий!
Ответ отправил: Карабанов Алексей (статус: 6-ой класс)
Ответ отправлен: 12.08.2007, 22:53


Вопрос № 98.154
Уважаемые эксперты! Помогите как из полей editов цифры переместить в готовую таблицу в Ексель (в строку D3,4,5....18,19 и тд.) ,как бы создать отчёт? Таблица имеет имя "Отчет по обследованию". Как связать программу и таблицу?
Отправлен: 12.08.2007, 21:10
Вопрос задал: SIR (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Виктор Пырлик
Здравствуйте, SIR!

Вот тут неплохо описан экспорт данных в Excel
ссылка описание "Экспорт документов в Excel"

В приложении дан код - это отдельный модуль, можете его подключить и использовать.

Приложение:

---------
Если ничего не помогло - надо читать инструкцию

Ответ отправил: Виктор Пырлик (статус: Студент)
Ответ отправлен: 12.08.2007, 21:43

Отвечает: Кузнецов Дмитрий Григорьевич
Здравствуйте, SIR!
Используте OLE или DDE компоненты.
Укажите адрес источника и приемника.
Ответ отправил: Кузнецов Дмитрий Григорьевич (статус: 1-ый класс)
Ответ отправлен: 12.08.2007, 22:32


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

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

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

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

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


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


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

В избранное