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

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


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

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

Выпуск № 678
от 13.12.2006, 05:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 413, Экспертов: 62
В номере:Вопросов: 3, Ответов: 7


Вопрос № 65964: Такой вопрос! Рисую я передвигающийся ректангл на Имидже (рисуешь ректангл, инкрименируешь х, всё закрашиваешь в белый цвет и опять ректангл) - получается эффект перемещения. Но стоит рисовать, скажем на Панели (DC := GetDC( Panel1.Handle );...
Вопрос № 65981: Уважаемые эксперты. Подскажите как настоить Delphi 7, чтобы по умолчанию новый проект сохранялся не на рабочем столе (как у меня :(( ) а в определенной директории. Поясняю смысл. Создаю новый проект. Кидаю на форму компаненты не сохраняя комп...
Вопрос № 65990: Здравствуйте уважаемые эксперты,научите пожалуйста как отправлять содержимое компонента Memo в Excel,Word....

Вопрос № 65.964
Такой вопрос! Рисую я передвигающийся ректангл на Имидже (рисуешь ректангл, инкрименируешь х,
всё закрашиваешь в белый цвет и опять ректангл) - получается эффект перемещения. Но стоит рисовать,
скажем на Панели (DC := GetDC( Panel1.Handle ); Rectangle( DC, ..., ..., ..., ... ); ... ), то
начинает всё мерцать ( из-за постоянного закрашивания фона ). Как можно это обойти???
Отправлен: 07.12.2006, 15:30
Вопрос задал: Яковлев Сергей Павлович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Mexes
Здравствуйте, Яковлев Сергей Павлович!
Могу посоветовать сделать пустой обработчик WM_ERASEBKGND.
Для этого либо сделать наследника от панели с пустым соответствующим обработчиком, либо назначить собственный обработчик WinProc панели.

Для этого в классе следует объявить
DefPanelWinProc:TWndMethod;
procedure MyPanelWinProc(var Message: TMessage);

В начале работы сохранить обработчик по умолчанию и назначить свой:
DefPanelWinProc:=Panel1.WindowProc;
Panel1.WindowProc:=MyPanelWinProc;

Ну и в обработчике MyPanelWinProc проигнорировать сообщение WM_ERASEBKGND:

procedure TForm1.MyPanelWinProc(var Message: TMessage);
begin
if Message.Msg<>WM_ERASEBKGND
then DefPanelWinProc(Message);
end;

Не уверен точно, избавит ли это от мерцания, но перекраску фона должно убрать.
Ответ отправил: Mexes (статус: 6-ой класс)
Ответ отправлен: 07.12.2006, 16:02


Вопрос № 65.981
Уважаемые эксперты.
Подскажите как настоить Delphi 7, чтобы по умолчанию новый проект сохранялся не на рабочем столе (как у меня :(( ) а в определенной директории.
Поясняю смысл. Создаю новый проект. Кидаю на форму компаненты не сохраняя компилирую и в итоге исполняемый файл на на рабочем столе. Если честно достало рабочий стол чистить. Сам проект и файлы сохрянять мне не надо. Помогите пожалуста. Уже все пересмотрел. До этого работал с 6 версией - такого не было.
Отправлен: 07.12.2006, 17:46
Вопрос задал: Сидоров Андрей (статус: 1-ый класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: KiberZero
Здравствуйте, Сидоров Андрей!

Такое бывает при переходе с нижних версий программы на верхние.
Прежде всего, в некоторых копиях Delphi7 во время установки программы выводится диалоговое окно, где стоят галочки сохранения файлов по умолчанию - их нужно просто снять.Поэтому возможно нужно просто переустановить программу.При переустановке,желательно удалить все существующие файлы вручную, а потом выполнить деинсталяцию.Каталоги с ранее созданными файлами перенесите в другой каталог.
Но вообще-то в Delphi7 в данном случае, зайдите в опции среды,на вкладке инструменты, и в закладке настройка укажите путь хранения файлов по умолчанию и всё станет на свои места.

Удачи!
Ответ отправил: KiberZero (статус: 3-ий класс)
Ответ отправлен: 07.12.2006, 18:05
Оценка за ответ: 5
Комментарий оценки:
Идея хорошая, но только не охото переустанавливать Делфи. Уж больно много всего установлено, а что и где брал для установки не помню :(

Отвечает: Mammoth
Здравствуйте, Сидоров Андрей!
Программу переустанавливать не надо.. просто в свойствах ярлыка (запуска Delphi) укажите рабочую директорию. Можно на Ваш вкус. Например "ПУТЬ К КАТАЛОГУ С ВАШИМИ ПРОЕКТАМИ". И будет Вам счастье..
Ответ отправил: Mammoth (статус: 1-ый класс)
Ответ отправлен: 08.12.2006, 03:27
Оценка за ответ: 5
Комментарий оценки:
Спасибо помогло! Я догадывался об этом, но думал у самой Делфи есть так называемый путь по умолчанию.

Отвечает: Кулаков Антон Сергеевич /SandroNec
Здравствуйте, Сидоров Андрей!

Создайте где нибудь папку. Например D:Projects в ней создайте папки exe,dcu,debug. Затем запустите Delphi зайдите в меню Project->Options и на вкладке
Directories/Conditionals настройте следующим образом - Output Directory = D:ProjectsExe. Unit Output Directory = D:ProectsDCU. Searsh Path = D:ProjectsDCU. Debug Source Path = D:ProjectsDebug. Поставьте галочку в левом нижнем углу (Default) и нажмите Ok. Удачи
---------
Настоящий программист на вопрос - "можешь ли ты это сделать", всегда ответит - "да", а потом подумает как
Ответ отправил: Кулаков Антон Сергеевич /SandroNec (статус: 4-ый класс)
Ответ отправлен: 08.12.2006, 04:32
Оценка за ответ: 5
Комментарий оценки:
Тоже хорошая идея.

Отвечает: Sarymian
Здравствуйте, Сидоров Андрей!
Извините мня за наивность, но просто с такой проблемой я не сталкивался и на мой взгляд проблема в том что вы запускаете Делфи с рабочего стала а в свойствах ярлыка "Рабочая Папка" прописана как путь к рабочему столу поэтому при компиляции используется путь для временного сохранения на стол.
Изначально папка выглядит так BorlandDelphi7Projects т.е. пропишите путь к этой папке и на рабочем столе вам не будут мозолить глаза файлы проекта.
Ответ отправил: Sarymian (статус: 3-ий класс)
Ответ отправлен: 08.12.2006, 05:31
Оценка за ответ: 5
Комментарий оценки:
Спасибо


Вопрос № 65.990
Здравствуйте уважаемые эксперты,научите пожалуйста как отправлять содержимое компонента Memo в Excel,Word.
Отправлен: 07.12.2006, 18:40
Вопрос задал: Delphi-n (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Кулаков Антон Сергеевич /SandroNec
Здравствуйте, Delphi-n!
Описывать все это довольно долго, поэтому ловите ссылки:
http://www.delphisources.ru/pages/sources/raznoe/word_excel.html
http://www.softok.org/coding/delphi/4764dload.html
http://www.softsklad.ru/codings/delphis/3programs1.html
А также посоветовал бы Вам книгу Василия Корнякова "Программирование документов и приложений MS Office в Delphi". Удачи
---------
Настоящий программист на вопрос - "можешь ли ты это сделать", всегда ответит - "да", а потом подумает как
Ответ отправил: Кулаков Антон Сергеевич /SandroNec (статус: 4-ый класс)
Ответ отправлен: 08.12.2006, 04:41

Отвечает: PaVeL_Ekt
Здравствуйте, Delphi-n!

пример работы с екселем
Используем TExcelApplication (xl).

xl.Visible[lcid(0)]:=false; //устанавливаем Excel в невидимый режим
xl.Workbooks.Add(FileName или null,lcid(0)); //открываем файл или создаем новый
xl.Range['A1',emptyparam].Value:=memo1.lines.text; //записываем содержимое Memo в ячейку 'A1'
xl.Quit; //закрываем Excel
xl.Disconnect; //отключаемся от сервера

Используем TWordApplication (wa)

---------
Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 8-ой класс)
Ответ отправлен: 08.12.2006, 09:17


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное