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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 1112
от 05.04.2008, 12:35

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

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 129706: Здравствуйте увыжаемы эксперты! У меня возникла проблемма такого плана: мне нужно чтобы при изменении размеров формы - менялись и размеры компонентов! В каком свойстве формы это нужно прописывать? Зарание спасибо....
Вопрос № 129713: Здравствуйте, уважаемые эксперты!!! Снова возник вопрос: как заставить кнопку на форме "убегать" от курсора? В смысле, при наведении мыши на кнопку кнопка должна менять свое положение на форме......
Вопрос № 129790: Здравствуйте, мне надо, чтобы пользователь во время работы проги 1) курсор при подведении на TImage становился "карандашом" 2) пользователь Во время работы проги рисовал в компоненте TImage (Как в Паинте рисуют) *(то есть компонент TImage н...
Вопрос № 129839: Здравствуйте. Необходимо написать программу которая при запуске обходила бы весь диск (флэшку) и файлы с определенным расширением (например .avi) копировала бы на другой диск в определенную папку. Количество папок, подпапок и их имена заранее не изве...

Вопрос № 129.706
Здравствуйте увыжаемы эксперты! У меня возникла проблемма такого плана:
мне нужно чтобы при изменении размеров формы - менялись и размеры компонентов! В каком свойстве формы это нужно прописывать?
Зарание спасибо.
Отправлен: 30.03.2008, 14:52
Вопрос задал: Евчик Сергей Александрович (статус: 3-ий класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Romach
Здравствуйте, Евчик Сергей Александрович!
1) Используйте свойство Align у компонентов
2) Используйте событие формы OnResize (Приложение)

Приложение:

Ответ отправил: Romach (статус: 1-ый класс)
Ответ отправлен: 30.03.2008, 14:59
Оценка за ответ: 5
Комментарий оценки:
Спасибо!!! Все замечательно работает...

Отвечает: Genia007
Здравствуйте, Евчик Сергей Александрович!
Вам нужно изменить в свойствах каждого компанента
Anchors:
akLeft := True;
akTop := True;
akRight := True;
akBottom := True;
прямо в инспекторе объектов и всё.
Ответ отправил: Genia007 (статус: 9-ый класс)
Ответ отправлен: 30.03.2008, 17:31
Оценка за ответ: 5
Комментарий оценки:
Спасибо огромной

Отвечает: Selya
Здравствуйте, Евчик Сергей Александрович!
Используйте свойство Anchors. По умолчанию стоит [akLeft, akTop]. Добавьте akRight и при растягивании формы компонент тоже будет растягиваться.
Ответ отправил: Selya (статус: 10-ый класс)
Ответ отправлен: 30.03.2008, 21:07
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо! Вы мне очень помогли! А то я уже запарился искать решение! А ларчик то просто открывался :-)


Вопрос № 129.713
Здравствуйте, уважаемые эксперты!!! Снова возник вопрос: как заставить кнопку на форме "убегать" от курсора? В смысле, при наведении мыши на кнопку кнопка должна менять свое положение на форме...
Отправлен: 30.03.2008, 16:27
Вопрос задал: KomissaRex (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Архангельский Андрей Германович
Здравствуйте, KomissaRex!
Напрямую нельзя, так как у кнопки нет свойства onMOuseOver (почему-то?)
Но можно обойти эту ситуацию.
Пример в прикрепленном файле

Прикреплённый файл: Загрузить >>
Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
---------
Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО

Ответ отправил: Архангельский Андрей Германович (статус: Специалист)
Ответ отправлен: 30.03.2008, 17:01
Оценка за ответ: 5
Комментарий оценки:
Спасибо!!! Уже качаю!!!

Отвечает: Genia007
Здравствуйте, KomissaRex!
Я когда-то делал такую прогу шутку, чтобы её закрыть нужно было поймать курсором кнопку. Я написал такой код:
procedure TFormdog.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Button1.Left:=Random(700);
Button1.Top:=Random(500);
end;
Получилось весьма прикольно.
Ответ отправил: Genia007 (статус: 9-ый класс)
Ответ отправлен: 30.03.2008, 17:30
Оценка за ответ: 5
Комментарий оценки:
Спасибо!!! Просто спасибо!


Вопрос № 129.790
Здравствуйте, мне надо, чтобы пользователь во время работы проги 1) курсор при подведении на TImage становился "карандашом" 2) пользователь Во время работы проги рисовал в компоненте TImage (Как в Паинте рисуют) *(то есть компонент TImage некоторых размеров и рисование производится в его пределах)
3) после того, как курсор убирается из пределов компонента TImage, то он становится "обычным". Помогите пожалуйста. Заранее спасибо
Отправлен: 30.03.2008, 21:32
Вопрос задал: Губайдуллин Руслан Мансурович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Лысенков Антон Анатольевич
Здравствуйте, Губайдуллин Руслан Мансурович!

I. Чтобы включить свой курсор в проект Вам нужно:

1. Положить файл с курсором в папку с проектом.
2. Создать в обычном текстовом редакторе, например в "Блокноте", текстовый файл MyRes.RC, представляющий собой файл описания ресурсов. Файл содержит следующие строки вида:
< имя ресурса > < тип ресурса > < путь к ресурсу > < имя файла >
Т.е. у Вас должно быть примерно PENCURSOR CURSOR "PENCIL.CUR"
Где PENCURSOR - имя курсора. CURSOR - тип ресурса, "PENCIL.CUR" - имя файла. Путь к ресурсу не указывается, т.к. файл с курсором находится в папке с проектом.
3. Нажать на Рабочем столе кнопку Пуск -> Выполнить -> cmd->OK. Зайти в коммандной строке в папку с проектом (например cd C:Proj) и выполнить команду brcc32.exe MyRes.RC. После этого в папке с проектом у Вас п оявится файл MyRes.res.
4. Включаем файл ресурса в проект после слова implementation
Вот так:

implementation
{$R MyRes.Res}

5.Вы не можете назначить курсор свойству компонента Cursor или DragCursor из .RES-файла напрямую, необходимо выполнить несколько промежуточных шагов. В каждом проекте Delphi определяет глобальный объект с именем Screen (тип TScreen), который, между прочим, определяет массив курсоров, называемый, как ни странно, Cursors. Когда вы щелкаете на свойстве Cursor/DragCursor в Инспекторе объектов, выпадающий список и есть список элементов указанного массива.

Для предустановленных курсоров Delphi использует элементы массива с индексами начиная с -1 и ниже (т.е. только отрицательные числа), поэтому собственные курсоры вы можете размещать с порядковым номером, начинающимся с нуля и выше. Определите константу, допустим так:

Const
PenCursor = 1;

6.Далее необходимо загрузить курсор. Сделать это можно в обработчике события формы OnCreate:

Screen.Cursors[PenCursor] := LoadCursor(HInstance, 'PENCURSOR');

Затем просто установите в свойстве Cursor для Вашего PaintBox или Image:

Paintbox1.Cursor := PenCursor;

Примечание: имя вашего курсора всегда должно писаться в ВЕРХНЕМ регистре, как при вызове LoadCursor, так и в его названии в .RES-файле.

II. Рисование в компоненте производится очень просто.

Для этого следует:

1. В обработчике события OnMouseDown для Вашего PaintBox следует написать:

PaintBox1.Canvas.MoveTo(x,y);

Тем самым мы перемещаем карандаш в позицию (x,y) то есть в ту позицию, в которой нажали кнопку мыши.

2. В обработчике события OnMouseMove для Вашего PaintBox следует написать:

if ssLeft in Shift then Paintbox1.Canvas.LineTo(x,y);

То есть при перемещении с нажатой кнопкой мыши рисовать линию до (x,y)

С наилучшими пожеланиями,
Лысенков А.А.

Исправлены теги по просьбе эксперта
-----
∙ Отредактировал: Alexandre V. Tchamaev (*Управляющий)
∙ Дата редактирования: 31.03.2008, 19:13
Ответ отправил: Лысенков Антон Анатольевич (статус: Студент)
Ответ отправлен: 31.03.2008, 18:54


Вопрос № 129.839
Здравствуйте. Необходимо написать программу которая при запуске обходила бы весь диск (флэшку) и файлы с определенным расширением (например .avi) копировала бы на другой диск в определенную папку. Количество папок, подпапок и их имена заранее не известны. Если можно приведите пример кода.
Отправлен: 31.03.2008, 09:48
Вопрос задал: Constantin Sergeevich (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Genia007
Здравствуйте, Constantin Sergeevich!
У меня получился такая вот функция, при нахождении нужного файла
копирование происходит средствами Windows (её диалоги и анимация),
использовались материалы сайта DelphiWord.
Не забудьте в uses указать модуль ShellAPI,
нужен для копирования файлов методом Windows.

Приложение:

Ответ отправил: Genia007 (статус: 9-ый класс)
Ответ отправлен: 31.03.2008, 13:54
Оценка за ответ: 5
Комментарий оценки:
Спасибо за ответ. Понял в чем была моя ошибка.


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

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

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

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


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


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.72.8 от 05.04.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное