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

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

как присвоить значение свойству selected?

Вопрос:
При попытке присвоить значение свойству "selected" ListBox'а вырабатывается exception
"Index is out of bounds". В чем тут дело и как присвоить значение свойству selected?
Ответ:
Свойство "selected" компонента ТListBox может быть использованно только если свойство
MultiSelect установленно в True. Если Вы работаете с ListBox'ом у которого
MultiSelect=false то используйте свойство ItemIndex.

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
	ListBox1.Items.Add('1');
	ListBox1.Items.Add('2');
	{This will fail on a single selection ListBox}
//	ListBox1.Selected[1] := true;
	ListBox1.ItemIndex := 1; {This is ok}
end;

Вопрос:
Как добится того чтобы TMemo и TEdit имели работали не только в режиме вставки символов,
но и в режиме замены?

Ответ:

Элементы управления Windows
TEdit и TMemo не имеют режима замены. Однако этот режим можно эмулировать установив
свойство SelLength edit’а или memo в 1 при обработке события KeyPress. Это заставит
его перезаписывать символ в текущей позиции курсора. В примере этот способ используется
для TMemo. Режим вставка/замена переключается клавишей “Insert”. Прочитать остальную часть записи »

Как получить строку сообщения об ошибке 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;

Вместо печати графики я хочу использовать резидентный шрифт принтера. Как?

Вопрос:
Вместо печати графики я хочу использовать резидентный шрифт принтера. Как?

Ответ:

Используте функцию Windows
API – GetStockObject() чтобы получить дескриптор (handle) шрифта по умолчанию
устройства (DEVICE_DEFAULT_FONT) и передайте его Printer.Font.Handle. Прочитать остальную часть записи »

Как показать первый кадр AVI-файла?

Вопрос:
Как показать первый кадр AVI-файла?
Ответ:
См. пример.
Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
	Application.ProcessMessages;
	MediaPlayer1.Open;
	Application.ProcessMessages;
	MediaPlayer1.Step;
	Application.ProcessMessages;
	MediaPlayer1.Previous;
end;