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

Часто задаваемые вопросы по программированию в Delphi 26.08.2002


Информационный Канал Subscribe.Ru


Частые вопросы по программированию в Delphi

 ВОПРОСЫ:

1. Как добавить свой пункт в системное меню приложения ?

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure OnMyMenu;
private
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
end;

var
Form1: TForm1;

implementation
{$R *.DFM}
const
SC_MyMenuItem = WM_USER + 1;
//----------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
// добавление своего пункта в системное меню приложения
AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, '');
AppendMenu(GetSystemMenu(Handle, FALSE), MF_STRING,
SC_MyMenuItem, 'Новый пункт в меню');
end;
//----------------------------------------------------
procedure TForm1.OnMyMenu;
Begin
// Обработка нажатия на новый пункт меню
End;
//----------------------------------------------------
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
// перехват события выбора нового пункта меню
if Msg.CmdType = SC_MyMenuItem then
OnMyMenu else
inherited;
end;
//----------------------------------------------------

2. Как сделать так, чтобы при щелчке по кнопке или по TLabel запускался, например, браузер с сайтом программы или почтовая программа с определенным адресом получателя ?

uses ShellApi;
{ ... }
ShellExecute(0, nil,'http://delphi.mastak.com',nil,nil,1);
ShellExecute(0, nil,'mailto:delphi@mastak.com',nil,nil,1);

3. Как узнать разрешение экрана ?

Screen.Width
Screen.Height
или
GetSystemMetrics, SM_CXSCREEN, SM_CYSCREEN

4. Как работать с LPT портами и сетевыми дисками ?

1.Подключить сетевой ресурс
WNetAddConnection(NetResourse,Password,LocalName:PChar):longint;
где NetResourse - имя сетевого ресурса (например '\\P166\c')
    Password - пароль на доступ к ресурсу (если нет пароля, то пустая строка)
    LocalName - имя, под которым сетевой ресурс будет отображен на данном компьютере (например 'F:')
    Пример подключения сетевого диска
    WNetAddConnection('\\P166\C','','F:');
    Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее часто используемые :
    NO_ERROR - Нет ошибок - успешное завершение
    ERROR_ACCESS_DENIED - Ошибка доступа
    ERROR_ALREADY_ASSIGNED - Уже подключен. Наиболее часто возникает при повторном вызове данной функции с теми-же параметрами.
    ERROR_BAD_DEV_TYPE - Неверный тип устройства.
    ERROR_BAD_DEVICE - Неверное устройство указано в LocalName
    ERROR_BAD_NET_NAME - Неверный сетевой путь или сетевое имя
    ERROR_EXTENDED_ERROR - Некоторая ошибка сети (см. функцию WNetGetLastError для подробностей)
    ERROR_INVALID_PASSWORD - Неверный пароль
    ERROR_NO_NETWORK - Нет сети
    
2.Отключить сетевой ресурс
WNetCancelConnection(LocalName:PChar;ForseMode:Boolean):Longint;
где LocalName - имя, под которым сетевой ресурс был подключен к данному компьютеру (например 'F:')
    ForseMode - режим отключения :
               & nbspFalse - корректное отключение. Если отключаемый ресурс еще используется, то отключения не произойдет (например, на сетевом диске открыт файл)
               & nbspTrue - скоростное некорректное отключение. Если ресурс используется, отключение все равно произойдет и межет привести к любым последствиям (от отсутствия ошибок до глухого повисания)
    Функция возвращает код ошибки. Для всех кодов предописаны константы, наиболее часто используемые :
    NO_ERROR - Нет ошибок - успешное завершение
    ERROR_DEVICE_IN_USE - Ресурс используется
    ERROR_EXTENDED_ERROR - Некоторая ошибка сети (см. функцию WNetGetLastError для подробностей)
    ERROR_NOT_CONNECTED - Указанное ус-во не является сетевым
    ERROR_OPEN_FILES - На отключаемом сетевом диске имеются открытые файлы и параметр
    ForseMode=false Рекомендация: при отключении следует сначала попробовать отключить устройство с параметром
    ForseMode=false и при ошибке типа ERROR_OPEN_FILES выдать запрос с сообщением о том, что ус-во еще используется и предложением отключить принудительно, и при согласии пользователя повторить вызов с ForseMode=true

5. Как вывести окно свойств компьютеpа ?

ShellExecute(Application.Handle, 'open', 'sysdm.cpl', nil, nil, sw_ShowNormal);

 КРАТКОЕ СОДЕРЖАНИЕ СТАТЕЙ:

Интерфейс IShellLink 

..Этот интерфейс представляет собой средство для создания и управления ярлыками (shortcuts). Все читатели этой статьи наверняка создавали и премещали ярлыки для наиболее нужных программ, файлов и папок - на рабочем столе, в главном меню и так далее. С точки зрения ОС эти действия - не что иное, как создание и изменение свойств СОМ - объекта...

 КОМПОНЕНТЫ:

RxLib v2.75 

...Библиотека компонентов (RX) Library, разработанная Федором Кожевниковым, Сергеем Королевым и Игорем Павлюком, представляет собой бесплатный свободно распространяемый (freeware) продукт, пользующийся заслуженной популярностью в течение трех лет как в нашей стране, так и за рубежом....

Вопросы по программированию в Delphi - www.mydelphi.hoha.ru

С уважением, Сергей
mydelphi@hoha.ru
Здесь может
быть и Ваш баннер тоже

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное