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

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


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

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

Выпуск № 873
от 20.07.2007, 10:05

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


Вопрос № 95113: Здравствуйте, уважаемые Эксперты! Подскажите, пожалуйста, как можно завершить процесс? .
Вопрос № 95130: Здравствуйте уважаемые эксперты. Подскажите пожалуйста как реализовать «красивые» кнопки. Я хочу использовать нарисованные jpeg или bmp картинки. С помощью Image я разместил на форме нужную мне картинку но как сменить эту картинку другую при движение...
Вопрос № 95178: Здравствуйте, уважаемые эксперты. Я недавно задавал вопрос, который очень похож на этот. Его адрес: <a href=http://rusfaq.ru/info/question/95109>Ссылка</a> <a href=http://rusfaq.ru/info/user/18584><font color=red><i><small>[И. К. Ци...

Вопрос № 95.113
Здравствуйте, уважаемые Эксперты! Подскажите, пожалуйста, как можно завершить процесс?
Отправлен: 14.07.2007, 10:04
Вопрос задал: Танасюк Олег Олегович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Виктор Пырлик
Здравствуйте, Танасюк Олег Олегович!
Вы не указали конкретно что требуется, поэтому дам общий ответ:
1. функция TerminateProcess(hProcess:Cardinal, uExitCode:Cardinal):LongBool
hProcess - описатель процесса
uExitCode - сщв завершения
если вернет не нуль, всё нормально, иначе, можно проверить ошибку вызвав
функцию GetLastError()
2. ExitProcess(uExitCode:Cardinal) - завершает текущий процесс
3. ExitThread(uExitCode:Cardinal) - если это основной поток, приложение завершится.

---------
Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 9-ый класс)
Ответ отправлен: 14.07.2007, 15:08
Оценка за ответ: 4
Комментарий оценки:
Я знаю има процесса. Что необходимо сделать?

Отвечает: Shveps
Здравствуйте, Танасюк Олег Олегович!
На панели задач нажмите правую кнопку мыши. И в появившемся контестном меню выберете "Диспетчер задач". В самом диспетчере есть вкладка "Процессы". Вот там можно убить нужный вам процесс. Но будьте осторожны, так как можно убить системные процессы. Ещё панель вызывается нажатием Ctrl+Alt+Delete.
---------
Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 3-ий класс)
Ответ отправлен: 16.07.2007, 10:28


Вопрос № 95.130
Здравствуйте уважаемые эксперты. Подскажите пожалуйста как реализовать «красивые» кнопки. Я хочу использовать нарисованные jpeg или bmp картинки. С помощью Image я разместил на форме нужную мне картинку но как сменить эту картинку другую при движение и нажатии мыши на Image.
Отправлен: 14.07.2007, 13:41
Вопрос задал: Левадный Тимур Русланович (статус: 1-ый класс)
Всего ответов: 7
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Dragon
Здравствуйте, Левадный Тимур Русланович!
Можно например так:

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image1.Picture.LoadFromFile('c:end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image1.Picture.LoadFromFile('c:end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile('c:end;

Можно сделать третий рисунок при перемещении указателя мыши по Image запихав на:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
Ответ отправил: Dragon (статус: 2-ой класс)
Ответ отправлен: 14.07.2007, 14:03
Оценка за ответ: 5
Комментарий оценки:
но тогда пидется перетаскивать файля за экзешниеом

Отвечает: Дмитрий С.
Здравствуйте, Левадный Тимур Русланович!
используй SpeedButton. Там есть свойство GLYTH. В нём можно указать путь к графическому файлу, желательно BMP.

Удачи!
C Ув. SHERRY
---------
Наши программисты самые программистые программисты!..
Ответ отправил: Дмитрий С. (статус: 3-ий класс)
Ответ отправлен: 14.07.2007, 14:51
Оценка за ответ: 4
Комментарий оценки:
GLYTH не закрывает кнопку полность как мне хотелось бы

Отвечает: W@NDeReR
Здравствуйте, Левадный Тимур Русланович!
Используйте следующие события у Image:
onMouseDown - нажатие кнопки мыши на Image
onMouseUp - отпускание кнопки мыши на Image
onMouseMove - движение мыши по Image
Для того чтобы сменить картинку делаем следующее:
Image1.Picture.LoadFromFile('Имя картинки');

Или еще можно воспользоваться компанентом ImageList с вкладки Win32, загружаете в него необходимы картинки затем по перечисленым выше событиям пишите это изменяя 4-ый параметр:
Image1.Picture:=nil;
Imagelist1.Draw(Image1.Canvas,0,0,0);// 4-ый параметр это индекс картинки в ImageList
Достоинство этого метода в том что рисунки всегда в программе их не надо таскать вместе с программой

2-а работающих примера в приложении.

Приложение:

---------
Опыт — дитя мысли, а мысль — дитя действия. Нельзя учиться по книгам.

Ответ отправил: W@NDeReR (статус: 5-ый класс)
Ответ отправлен: 14.07.2007, 15:39
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо, то что нужно

Отвечает: Coupler
Здравствуйте, Левадный Тимур Русланович!
Недавно отвечал на вопрос 94537 - посмотрите ответы, скачайте пример. Код приложения с картинками в ImageList в приложении. (к image добавлены новые события - MouseEnter - когда мышь входит в пределы визуального компонента и MouseLeave - когда мышь оставляет его пределы).

Приложение:

Ответ отправил: Coupler (статус: Практикант)
Ответ отправлен: 14.07.2007, 17:56
Оценка за ответ: 5
Комментарий оценки:
спасибо

Отвечает: Градов Юрий Михайлович
Здравствуйте, Левадный Тимур Русланович!
Зарегистрируйте компонент из приложения. Этот компонент добавляет к Image новые свойства: onMouseLeave (стрелка курсора покидает компонент) и onMouseEnter (курсор мышки над компонентом). Также используйте onMouseDown, onMouseUp и используйте ImageList, как подсказали предыдущие эксперты.
Пример:

procedure TForm1.N_Image1MouseLeave(Sender: TObject);
begin
N_Image1.Picture:=nil;
Imagelist1.Draw(N_Image1.Canvas,0,0,1);
end;

procedure TForm1.N_Image1MouseEnter(Sender: TObject);
begin
N_Image1.Picture:=nil;
Imagelist1.Draw(N_Image1.Canvas,0,0,2);
end;

procedure TForm1.N_Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
N_Image1.Picture:=nil;
Imagelist1.Draw(N_Image1.Canvas,0,0,3);
end;

procedure TForm1.N_Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
N_Image1.Picture:=nil;
Imagelist1.Draw(N_Image1.Canvas,0,0,2);
end;

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 14.07.2007, 19:52
Оценка за ответ: 5
Комментарий оценки:
спасибо

Отвечает: Shveps
Здравствуйте, Левадный Тимур Русланович!
У многих объектов есть события по действию мыши. Например: OnDoubleClick, OnMouseMove, OnMouseDown, OnMouseUp. В вашем случае подойдут обработчики OnMouseMove, OnMouseDown, OnMouseUp. OnMouseDown событие вызывается, если вы нажали на объекте клавишу мыши, а OnMouseUp - отжали.
---------
Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 3-ий класс)
Ответ отправлен: 16.07.2007, 10:36
Оценка за ответ: 4
Комментарий оценки:
Спасибо

Отвечает: Василенко Алексей Васильевич
Здравствуйте, Левадный Тимур Русланович!
возможным решением проблемы может служить
Image1.Picture.LoadFromFile('pic123.bmp');

попишите соответствующие обработчики в интересующих событиях
---------
Готовых решений небыло, нет и не будет... вся жизнь - это лишь размышления на тему
Ответ отправил: Василенко Алексей Васильевич (статус: 3-ий класс)
Ответ отправлен: 16.07.2007, 18:39
Оценка за ответ: 4
Комментарий оценки:
Спасибо


Вопрос № 95.178
Здравствуйте, уважаемые эксперты.
Я недавно задавал вопрос, который очень похож на этот. Его адрес:

Ссылка
[И. К. Цикалов]
Так вот, в том вопросе я спрашивал о реализации переименования только одного файла за раз. Сейчас же я хочу узнать, как реализовать множественное переименование за раз. Заранее благодарен.
Отправлен: 15.07.2007, 06:20
Вопрос задал: Пастарнаков Роман (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 6)

Отвечает: Denisss

Здравствуйте, Пастарнаков Роман!

Пример см. в приложении.

Удачи!

Приложение:

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
WWW: Хлама много, по сути ничего...
----
Ответ отправлен: 15.07.2007, 11:58
Оценка за ответ: 5

Отвечает: Gh0stik
Здравствуйте, Пастарнаков Роман!

Предлагаю, Вам еще такой способ - поиск файлов по маске в соответствующем каталоге:

procedure TForm1.Button1Click(Sender: TObject);
var fp: TSearchRec;
path:string;
begin
path:='D:ProjectFind_file ChDir(path); {переходим в соответствующий каталог}
if findfirst('*.*',faAnyFile,fp)=0 then {обрабатываем ВСЕ файлы - поскольку маска *.*, если Вам допустим необходимо переименовать только текстовые, то можно просто маску записать в виде *.txt}
repeat
if (fp.name<>'.') and (fp.name<>'..') then
if FileExists(fp.name) then
RenameFile(fp.name,StringReplace(fp.name, '_', #32, [rfReplaceAll, rfIgnoreCase])) {непосредственно переименование}
until findnext(fp)<>0;
end;


Good Luck!!!
---------
Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор)
Украина, Славянск
Организация: Славянский государственный педагогический университет (Кафедра алгебры)
ICQ: 289363162
----
Ответ отправлен: 15.07.2007, 12:29
Оценка за ответ: 5

Отвечает: Градов Юрий Михайлович
Здравствуйте, Пастарнаков Роман!
Код этой программы заносит все файлы из выбранной директории в Memo1, а Вы будете делать пофайловое переименование. Вам уже ее подсказали.

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 15.07.2007, 12:39
Оценка за ответ: 5

Отвечает: Виктор Пырлик
Здравствуйте, Пастарнаков Роман!
В приложении приведен рабочий код. Для его работы, необходимо, в секцию uses добавить FileCtrl.
В приведенном коде реализован рекурсивный поиск, и переименование файлов по маске – как имени, так и непосредственно самих замен.
В классе формы, в секции public, объявлена процедура:
procedure FindFiles(name_dir,mask,symbol_old,symbol_new:String;recurs:bool=false);
реализация в приложении, где также, приведен код запуска этой процедуры – метод procedure TForm1.btnOpenFileClick(Sender: TObject); // событие кнопки Button

Приложение:

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

Ответ отправил: Виктор Пырлик (статус: 9-ый класс)
Ответ отправлен: 15.07.2007, 13:11
Оценка за ответ: 5


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.53 beta от 09.07.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное