Виртуальная библиотека Delphi

Здесь есть возможность читать онлайн «Виртуальная библиотека Delphi» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Виртуальная библиотека Delphi: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Виртуальная библиотека Delphi»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Виртуальная библиотека Delphi — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Виртуальная библиотека Delphi», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

public

{Public declarations}

end;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WmMenuChar(var m : TMessage);

begin

Form1.Caption := 'Non standard menu key pressed';

m.Result := 1;

end;

end.

Вопрос:

Как определить наличие сопроцессора?

Ответ:

В отличие от общепринятого мнения не всее клоны 486/586/686/ и Pentium имеют сопроцессор для вычислений с плавающей запятой. В примере определяется наличие сопроцессора и под Win16 и под Win32.

Пример:

{$IFDEF WIN32}

uses Registry;

{$ENDIF}

function HasCoProcesser : bool;

{$IFDEF WIN32}

var TheKey : hKey;

{$ENDIF}

begin

Result := true;

{$IFNDEF WIN32}

if GetWinFlags and Wf_80x87 = 0 then Result := false;

{$ELSE}

if RegOpenKeyEx(HKEY_LOCAL_MACHINE, 'HARDWARE\DESCRIPTION\System\FloatingPointProcessor',0, KEY_EXECUTE, TheKey) <> ERROR_SUCCESS then result := false;

RegCloseKey(TheKey);

{$ENDIF}

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if HasCoProcesser then ShowMessage('Has CoProcessor')

else ShowMessage('No CoProcessor - Windows Emulation Mode');

end;

Вопрос:

Как узнать серийный номер аудио CD?

Ответ:

CD может иметь или не иметь серийный номер и/или универсальный код продукта (Universal Product Code). MCI-расширение Windows предоставляет эту информации с помощью комманды MCI_INFO_MEDIA_IDENTITY command. Эта команда возвращает уникальную ID-строку.

Пример:

uses MMSystem, MPlayer;

procedure TForm1.Button1Click(Sender: TObject);

var

mp : TMediaPlayer;

msp : TMCI_INFO_PARMS;

MediaString : array[0..255] of char;

ret : longint;

begin

mp := TMediaPlayer.Create(nil);

mp.Visible := false;

mp.Parent := Application.MainForm;

mp.Shareable := true;

mp.DeviceType := dtCDAudio;

mp.FileName := 'D:';

mp.Open;

Application.ProcessMessages;

FillChar(MediaString, sizeof(MediaString), #0);

FillChar(msp, sizeof(msp), #0);

msp.lpstrReturn := @MediaString;

msp.dwRetSize := 255;

ret := mciSendCommand(Mp.DeviceId, MCI_INFO, MCI_INFO_MEDIA_IDENTITY, longint(@msp));

if Ret <> 0 then begin

MciGetErrorString(ret, @MediaString, sizeof(MediaString));

Memo1.Lines.Add(StrPas(MediaString));

end else Memo1.Lines.Add(StrPas(MediaString));

mp.Close;

Application.ProcessMessages;

mp.free;

end;

end.

Вопрос:

Как вывести на элемент управления (Window control) текст, содержащий амперсанд — &?

Ответ:

Используя два амперсанда подряд. Windows интерпритирует одиночный амперсанд как указание на то, что следующий символ — горячая клавиша (и поддчеркивает следующий символ вместо изображения аперсанда).

Пример:

Button1.Caption := 'Черное && Белое';

Вопрос:

Как поместить bitmap в Metafile?

Ответ:

см. пример

Пример:

procedure TForm1.Button1Click(Sender: TObject);

var

m : TmetaFile;

mc : TmetaFileCanvas;

b : tbitmap;

begin

m := TMetaFile.Create;

b := TBitmap.create;

b.LoadFromFile('C:\SomePath\SomeBitmap.BMP');

m.Height := b.Height;

m.Width := b.Width;

mc := TMetafileCanvas.Create(m, 0);

mc.Draw(0, 0, b);

mc.Free;

b.Free;

m.SaveToFile('C:\SomePath\Test.emf');

m.Free;

Image1.Picture.LoadFromFile('C:\SomePath\Test.emf');

end;

Вопрос:

Как узнать, что курсор мыши над моей формой?

Ответ:

Можно использовать функцию GetCapture() из Windows API.

Примечание: Cм. документацию Windows для информации об ограничениях функции GetCapture.

Пример:

procedure TForm1.FormDeactivate(Sender: TObject);

begin

ReleaseCapture;

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

If GetCapture = 0 then SetCapture(Form1.Handle);

if PtInRect(Rect(Form1.Left,Form1.Top,Form1.Left + Form1.Width, Form1.Top + Form1.Height), ClientToScreen(Point(x, y))) then Form1.Caption := 'Мышка над формой!'

else Form1.Caption := 'Мышка вне формы...';

end;

Вопрос:

Как программно определить, что приложение работает под Windows NT?

Ответ:

см. пример

Пример:

function IsNT : bool;

var osv : TOSVERSIONINFO;

begin

result := true;

GetVersionEx(osv);

if osv.dwPlatformId = VER_PLATFORM_WIN32_NT then exit;

result := false;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

if IsNt then ShowMessage('Running on NT')

else ShowMessage('Not Running on NT');

end;

Вопрос:

Как создать bitmap из пиктогрммы (icon)?

Ответ:

Используя Bitmap.Canvas.Draw нарисуйте пиктограмму на Bitmap'е.

Пример:

procedure TForm1.Button1Click(Sender: TObject);

var

TheIcon : TIcon;

TheBitmap : TBitmap;

begin

TheIcon := TIcon.Create;

TheIcon.LoadFromFile('C:\Program Files\Borland\IcoCur32\EARTH.ICO');

TheBitmap := TBitmap.Create;

TheBitmap.Height := TheIcon.Height;

TheBitmap.Width := TheIcon.Width;

TheBitmap.Canvas.Draw(0, 0, TheIcon);

Form1.Canvas.Draw(10, 10, TheBitmap);

TheBitmap.Free; TheIcon.Free;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Виртуальная библиотека Delphi»

Представляем Вашему вниманию похожие книги на «Виртуальная библиотека Delphi» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Виртуальная библиотека Delphi»

Обсуждение, отзывы о книге «Виртуальная библиотека Delphi» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x