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

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


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

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

Выпуск № 604
от 27.09.2006, 11:05

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


Вопрос № 56205: Здравствуйте. На форме много компанентов... При старте я хочу чтобы Edit1 был в фокусе, или какой-нибудь другой. Как это можно сделать?...
Вопрос № 56216: Доброго времени суток. Подскажите, как сохранить содержимое TWebBrowser....
Вопрос № 56225: Вылет или нестабильная работа после реакции на собитие. Ситуация такова: Во время работы программы создаются пользователем компоненты Tshape. //----------------------------------- aitems[i]:=tshape.Create(self); aitems[i].Parent:=...
Вопрос № 56228: Здравствуйте, господа Эксперты! У меня такой вопрос: как в Delphi можно сделать (организовать) вкладки(закладки)?...
Вопрос № 56229: Уважаемые Эксперты! Подскажите пожайлуста, как вытаскивать из системы дату и времы и работать с ними(вычитать, складывать и т.д.) Заранее Большое Спасибо. С уважением, Ustas....
Вопрос № 56250: Здравствуйте Уважаемые Эксперты! Подскажите какую-нибудь электронную книгу, о создании компонентов в Delphi, именно книгу, чтобы было подробно написанно как создавать компоненты и много, пусть небольших, но понятных, примеров? Заранее Спасибо. <b...
Вопрос № 56260: Уважаемые эксперты Не подскажете ли Вы как можно узнать у файлов *.doc и других им подобным следующую информацию: 1) дата создания документа (не файла), 2) количество редакций данного документа 3) количество распечаток 4) автор документа. Заранее бла...
Вопрос № 56290: Подскажите пожалуйста, возможно ли связать свою программу с офисом (Word) таким образом, чтобы в word`е появилась определенная менюшка с моей функцией (при открытии вордового документа была возможность открыть и перенести определенные данные в мою пр...
Вопрос № 56296: Здравствуйте, уважаемые эксперты! У меня возник очередной вопрос. Чем отличается CMYK от RGB и как использовать CMYK(если это актуально). Заранее благодарен. /Iorpy$...

Вопрос № 56.205
Здравствуйте. На форме много компанентов... При старте я хочу чтобы Edit1 был в фокусе, или какой-нибудь другой. Как это можно сделать?
Отправлен: 21.09.2006, 12:28
Вопрос задал: Иванов Михаил Викторович (статус: Посетитель)
Всего ответов: 10
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Иванов Михаил Викторович!
В событии OnCreate формы напишите код установки фокуса на нужный Вам компонент, например:
Edit1.SetFocus;
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 21.09.2006, 12:37

Отвечает: Gh0stik
Здравствуйте, Иванов Михаил Викторович!

Все очень просто в обработчике при создании формы пропишите:
Edit1.SetFocus;

Удачи!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Студент)
Ответ отправлен: 21.09.2006, 12:40

Отвечает: Rusland
Здравствуйте, Иванов Михаил Викторович!
sir henry, не совсем прав. Событие Edit1.SetFocus нужно ставить на OnShow формы, иначе возникает ошибка "Cannot focus a disabled or invisible windows".
Также можно заранее у нужного компонента поставить свойство TabOrder равным 0.
---------
Если партия скажет есть контакт, будем есть контакт.
Ответ отправил: Rusland (статус: Специалист)
Ответ отправлен: 21.09.2006, 12:42

Отвечает: n0name
Здравствуйте, Иванов Михаил Викторович!
Проще всего установить TabOrder ниже, чем у всех других компонентов.
Ответ отправил: n0name (статус: 6-ой класс)
Ответ отправлен: 21.09.2006, 12:44

Отвечает: Mexes
Здравствуйте, Иванов Михаил Викторович!
Нет, все-так установки TabOrder недостаточно, поскольку при следующем открытии формы фокус останется на том же элементе, что был при закрытии формы.
Поэтому лучше обрабатывать, как писали выше, событие OnShow формы. В нем установите фокус на нужный элемент:

Edit1.SetFocus;

или

ActiveControl:=Edit1;
Ответ отправил: Mexes (статус: 3-ий класс)
Ответ отправлен: 21.09.2006, 14:07

Отвечает: Сергей Викторович
Здравствуйте, Иванов Михаил Викторович!
Просто сейчас под Linux
по памити впишите в процедуру создания формы (OnCreate ) строчку Edit1.SetFocus; (после точки будет подскажка там ищите )
Ответ отправил: Сергей Викторович (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 14:32

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

У формы есть свойство ActiveControl, задайте ему имя необходимого контрола.

Приложение:

Ответ отправил: Данилевич Игорь Владимирович (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 15:48

Отвечает: /Iorpy$
Воспользуйтесь событием формы OnCreate и для компонента наберите ВашКомпонент.SetFocus

Приложение:

---------
Если чего-то не знаешь, спроси: тебе ответят те, кто знают!

Ответ отправил: /Iorpy$ (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 16:36

Отвечает: Сидоров Андрей
Здравствуйте, Иванов Михаил Викторович!
Пропиши в событии onActivate формы строчку

Edit1.SetFocus;

Ответ отправил: Сидоров Андрей (статус: 1-ый класс)
Ответ отправлен: 22.09.2006, 09:08

Отвечает: Prosto_Blackhowk
Здравствуйте, Иванов Михаил Викторович!
В событии OnCreate формы можно написать Form1.Activecontrol:= Edit1
Ответ отправил: Prosto_Blackhowk (статус: 2-ой класс)
Ответ отправлен: 26.09.2006, 08:17


Вопрос № 56.216
Доброго времени суток. Подскажите, как сохранить содержимое TWebBrowser.
Отправлен: 21.09.2006, 14:05
Вопрос задал: Elpher2006 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Mexes
Здравствуйте, Elpher2006!
Если я Вас правильно понял, что-то подобное обсуждалось здесь:
http://forums.realcoding.net/lofiversion/index.php?t3183.html
Ответ отправил: Mexes (статус: 3-ий класс)
Ответ отправлен: 21.09.2006, 14:13


Вопрос № 56.225
Вылет или нестабильная работа после реакции на собитие.
Ситуация такова:
Во время работы программы создаются пользователем компоненты Tshape.
//-----------------------------------
aitems[i]:=tshape.Create(self);
aitems[i].Parent:=form1.mtable;
//-----------------------------------
дальше прилаживаем процедуры к объекту
//-----------------------------------------------
@aitems[i].OnMouseDown:=@mydown;//Tshape1
aitems[i].OnMouseMove:=@mymove;
aitems[i].OnMouseUp:=@myup;
//------------------------------------------------
и про завершении собития "aitems[i].onmousedown" вылет.
Ошибка:
First chance exception at $7C81EB33. Exception class EAccessViolation with message 'Access violation at address 00000000. Read of address 00000000'. Process Paths.exe (1924)

В чем ошибка?Подскажите пожалуйста.
P.S. И если не сложно посмотрите приложение/

Приложение:

Отправлен: 21.09.2006, 14:54
Вопрос задал: _Lexxus_ (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Данилевич Игорь Владимирович
Здравствуйте, _Lexxus_!

Процедуры, которые закрепляются за событиями должны иметь параметры не (p1,P2 :pointer), а как соответствующие типы TMouseEvent и TMouseMoveEvent:

type TMouseEvent = procedure (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object;

type TMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState; X, Y: Integer) of object;

Приложение:

Ответ отправил: Данилевич Игорь Владимирович (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 15:27
Оценка за ответ: 5


Вопрос № 56.228
Здравствуйте, господа Эксперты! У меня такой вопрос: как в Delphi можно сделать (организовать) вкладки(закладки)?
Отправлен: 21.09.2006, 15:05
Вопрос задал: BlackCat (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, BlackCat!
На палитре Win32 есть 2 компонента: TabControl и PageControl. С ними довольно просто работать.
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 21.09.2006, 15:40
Оценка за ответ: 5

Отвечает: Oricardo
Здравствуйте, BlackCat!

Поддерживая Сухомлина Кирилла Владимировича скажу, что в TabControl на вкладках у вас будут одинаковые элемнты управления(кнопки или Richedit), а на PageControl разные. Но второй, мне кажется удобнее.
---------
Чужая программа - потемки
Ответ отправил: Oricardo (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 17:17
Оценка за ответ: 5

Отвечает: Сергей Викторович
Здравствуйте, BlackCat!
На палитре Win32 есть - TabControl и PageControl.
лутче работать с PageControl
Ответ отправил: Сергей Викторович (статус: 1-ый класс)
Ответ отправлен: 21.09.2006, 18:16
Оценка за ответ: 5

Отвечает: Prosto_Blackhowk
Здравствуйте, BlackCat!
Поддерживая вышесказанное могу порекомендовать Tabcontrol
Ответ отправил: Prosto_Blackhowk (статус: 2-ой класс)
Ответ отправлен: 26.09.2006, 08:20
Оценка за ответ: 4


Вопрос № 56.229
Уважаемые Эксперты!
Подскажите пожайлуста, как вытаскивать из системы дату и времы и работать с ними(вычитать, складывать и т.д.)
Заранее Большое Спасибо.
С уважением, Ustas.
Отправлен: 21.09.2006, 15:25
Вопрос задал: Ustas (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Ustas!
Now - получить текущее время.
Еще есть функции типа DateTimeToStr, TimeToStr и пр...
Скалдывать и вычитать - как обычно. Потому что на самом деле тип TDateTime - это просто float (или какой-то другой тип с плавающей точкой), у которого 1.0 означает один сутки.
Еще посмотрите справку по юниту DateUtils (или TimeUtils) - там много всего полезного. Если все-таки не найдете чего-дь, что нужно конкретно вам - спрашивайте в форум.
---------
Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 21.09.2006, 15:38
Оценка за ответ: 5

Отвечает: Савенко Вадим Иванович
Здравствуйте, Ustas!
В Интернете есть много статей по этому вопросу.
Можете, например, вот здесь посмотреть:

http://decoding.narod.ru/practic/datetime/datetime.html
Ответ отправил: Савенко Вадим Иванович (статус: Студент)
Ответ отправлен: 21.09.2006, 15:52
Оценка за ответ: 5

Отвечает: Gh0stik
Здравствуйте, Ustas!
Смотрите маленькия пример по работе с датой (вычитать, складывать) - пересчет месяцев ведется автоматически.

Более подробно о работе с датой и временем Вы можете прочитать на портале Delphi World

В разделе СинтаксисДата и Время

Удачи!!!

Приложение:

---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.

Ответ отправил: Gh0stik (статус: Студент)
Ответ отправлен: 21.09.2006, 16:05
Оценка за ответ: 5
Комментарий оценки:
Cпасибо за пример.


Вопрос № 56.250
Здравствуйте Уважаемые Эксперты! Подскажите какую-нибудь электронную книгу, о создании компонентов в Delphi, именно книгу, чтобы было подробно написанно как создавать компоненты и много, пусть небольших, но понятных, примеров? Заранее Спасибо.

P.S. Желательно, чтобы можно было скачать.
Отправлен: 21.09.2006, 18:34
Вопрос задал: Шишкин М.А. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: din
Здравствуйте, Шишкин М.А.!
У меня есть 2-томник по делфи 5 (насчет создание компонент там мало чего изменилось в новых версиях) могу скинуть, а так задайте поиск слова Delphi на сайтах http://www.medigo.ru и http://natahaus.ru там их куча в pdf и djvu формате. Сперва посмотрите электронную версию книги, а потом можно заказать на books.ru или ozon.ru или еще в каком магазине печатную версию.
Удачи!
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 21.09.2006, 18:47
Оценка за ответ: 4


Вопрос № 56.260
Уважаемые эксперты Не подскажете ли Вы как можно узнать у файлов *.doc и других им подобным следующую информацию: 1) дата создания документа (не файла), 2) количество редакций данного документа 3) количество распечаток 4) автор документа. Заранее благодарен за ответ.
Отправлен: 21.09.2006, 19:39
Вопрос задал: Andr_kaz (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Mexes
Здравствуйте, Andr_kaz!
Для демонстрации работы со свойствами я создал обычное приложение, на форму которого кинул Memo1:TMemo. Событие OnCreate выполняет нужное действие (исправьте FileName:=..., добавив название нужного файла).
Сначала выводятся все свойства документа, после них - 3 свойства по имени. Насчет количества распечаток, то его там я не заметил.

Приложение:

Ответ отправил: Mexes (статус: 3-ий класс)
Ответ отправлен: 21.09.2006, 22:05
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо за ответ


Вопрос № 56.290
Подскажите пожалуйста, возможно ли связать свою программу с офисом (Word) таким образом, чтобы в word`е появилась определенная менюшка с моей функцией (при открытии вордового документа была возможность открыть и перенести определенные данные в мою прогу)
Пробовал через макросы, но это както не очень, возможно есть другие способы.
Все спасибо
Отправлен: 21.09.2006, 23:05
Вопрос задал: Ton (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: sir henry
Здравствуйте, Ton!
Можно сделать и через Вашу программу, но Вы в любом случае будете вынуждены применять те же макросы, а это получится еще более громоздко, чем написание макроса в теле документа. Так что Вы делаете правильно.
Если же Вас интересует автоматическое перемещение Ваших данных в документ, то тут подход несколько другой. С помощью OLE Вы создаете ссылку на Word-сервер, открываете в нем нужный Вам документ и в цикле допустим переносите данные из таблицы БД в документ, используя через OLE команды Word'а.
Ответ отправил: sir henry (статус: Академик)
Россия, Красноярск
----
Ответ отправлен: 22.09.2006, 07:33

Отвечает: Melamed
Здравствуйте, Ton!
Можно, если вы расчитываете работать с офмссом не ниже 2000. Для этого вам придется написать либо Add-Ins расширение, либо смарт-тег. Технологию программирования смотрите в кнl 0;ге Н. Елманова, С. Трепалин, С Тенцер "Delphi 6 и технология COM" В электронном виде видел на www.natahaus.ru
Ответ отправил: Melamed (статус: 5-ый класс)
Ответ отправлен: 22.09.2006, 13:04


Вопрос № 56.296
Здравствуйте, уважаемые эксперты! У меня возник очередной вопрос. Чем отличается CMYK от RGB и как использовать CMYK(если это актуально). Заранее благодарен. /Iorpy$
Отправлен: 21.09.2006, 23:26
Вопрос задал: /Iorpy$ (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jadd
Здравствуйте, /Iorpy$!
Разные цветовые модели. В модели RGB звет представлен интенсивностью красного (R), зеленого(G) и голубого (B), в то время как в модели CMYK это уже интенсивности четырех цветов Cyan, Magenta, Yellow и Black. Вопрос про использования cmyk не совсем понятен. Что интересует? Перевод из одной модели в другую? Делается элементарно, но получается погрешность. Если интересно как перевести, могу дать исходник.

Успехов.
---------
Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Профессионал)
Адрес: Санкт-Петербург
WWW: http://www.sport-diary.ru
ICQ: 28260749
----
Ответ отправлен: 21.09.2006, 23:50
Оценка за ответ: 5
Комментарий оценки:
Спасибо! А вот исходник в самом деле не помешает!

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, /Iorpy$!
Насколько мне известно, K - Key, а вовсе не Black. Но в большинстве случаев это действительно оказывается black.
RGB и CMYK - это так называемые цветовые модели. Т.е. то, как представляется цвет. Первая используется в работе с графикой на компьютере, а вторая используется для печати. Потому как RGB - аддитивная модель, а CMYK - субтрактивная.
Почитать подробней можно, например, в этой статье про цветокоррекцию и на википедии.
Там, кстати, оочень много про что можно почитать. Особенно, если не ограничиваться статьями на русском.
Актуально ли использовать CMYK - вам решать. Наверное, нет.
Самый просто перевод RGB -> CMYK в приложении

Приложение:

---------
Не узнаешь - не попробуешь.

Ответ отправил: Сухомлин Кирилл Владимирович (статус: Практикант)
Ответ отправлен: 22.09.2006, 01:56
Оценка за ответ: 5

Отвечает: Савенко Вадим Иванович
Здравствуйте, /Iorpy$!
Говоря по-простому, в RGB разные цвета получаются сложением Red, Green и Blue, а в CMYK наоборот, вычитанием Cyan, Magenta и Yellow из черного цвета. Ну а остальное Вам уже объяснили.
Ответ отправил: Савенко Вадим Иванович (статус: Студент)
Ответ отправлен: 22.09.2006, 07:10
Оценка за ответ: 5


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное