Мой DELPHI – Программирование

Всё для программера

Как получить строку сообщения об ошибке Windows код которой получен функцией GetLastError?

Вопрос:
Как получить строку сообщения об ошибке Windows код которой получен функцией GetLastError?
Ответ:
Функция RTL SysErrorMessage(GetLastError).

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
	{Cause a Windows system error message to be logged}
	ShowMessage(IntToStr(lStrLen(nil)));
	ShowMessage(SysErrorMessage(GetLastError));
end;

Как преобразовать цвета в строку – название цвета VCL?

Вопрос:
Как преобразовать цвета в строку - название цвета  VCL?

Ответ:

Модуль graphics.pas содержит
функцию ColorToString() которое преобразует допустимое значение TColor в его
строковое представление используя либо константу-название цвета (по возможности)
либо шестнадцатиричную строку. Обратная функция – StringToColor() Прочитать остальную часть записи »

Как создать отдельную подсказку (hint) для каждой ячейки StringGrid?

Вопрос:
Как создать отдельную подсказку (hint) для каждой ячейки StringGrid?

Ответ:

В приведенном примере
отслеживается движение курсора мыши – при перемещении между ячейками StringGrid’а
- появляется окно подсказки(hint), показываеющее номер текущей строки и колонки. Прочитать остальную часть записи »

Как определить номер текущей строки в TMemo?

Вопрос:
Как определить номер текущей строки в TMemo?

Ответ:

Чтобы определить номер
текущей строки любого объекта управления edit – пошлите ей сообщение EM_LINEFROMCHAR

Пример:
procedure TForm1.Button1Click(Sender: TObject);
var
	LineNumber : integer;
begin
	LineNumber := SendMessage(Memo1.Handle, EM_LINEFROMCHAR, word(-1), 0);
	ShowMessage(IntToStr(LineNumber));
end;

Как извлечь Red, Green, и Blue компонент из определенного цвета?

Вопрос:
Как извлечь Red, Green, и Blue компонент из определенного цвета?

Ответ:

Используйте функции Window API Get RValue(), GetGValue(), и GetBValue().

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
	Form1.Canvas.Pen.Color := clRed;
	Memo1.Lines.Add('Red := ' + IntToStr(GetRValue(Form1.Canvas.Pen.Color)));
	Memo1.Lines.Add('Red := ' + IntToStr(GetGValue(Form1.Canvas.Pen.Color)));
	Memo1.Lines.Add('Blue:= ' + IntToStr(GetBValue(Form1.Canvas.Pen.Color)));
end;