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

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

Как изменить оконную процедуру для TForm?

Вопрос:
Как изменить оконную процедуру для TForm?

Ответ:

Переопределите в подклассе
TForm оконную процедуру WinProc класса. В примере оконная процедура переопределяется
для того чтобы реагировать на сообщение WM_CANCELMODE, показывающее, что выполняется
messagebox или какой-либо еще диалог. Прочитать остальную часть записи »

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

Вопрос:

Мне нужно программно установить некоторые файлы с установочного диска Windows. На многих компьютерах CAB-файлы установки Windows находятся в каком-то каталоге на жестком диске, на других – Windows был установлен с CD. Как узнать откуда была установленна Windows?

Ответ:
Эту информацию можно получить из реестра. Прочитать остальную часть записи »

Я хочу вставить escape code в строку при использовании функции Format()

Вопрос:

Я хочу вставить escape code в строку при использовании функции Format(). Например, я хочу создать строку, содержащую символ табуляции. В “C” я бы написал что-то вроде sprintf(buffer,”%s\t%s”, str);.

А как это будет на Pascal’e?

Ответ:

Функция Format Pascal’я
не использует escape codes. Вместо этого нужно вставить в строку действительное
значение символа в кодировке ASCII.

Пример:
Buffer := Format('%s'#9'%s', [Str1, Str2]);
ShowMessage(Format('%s'#9'%s', ['Column1', 'Column2']));

Как узнать число кадров AVI файла, и выяснить как долго будет проигрывться этот файл?

Вопрос:
Как узнать число кадров AVI файла, и выяснить как долго будет проигрывться этот файл?
Ответ:
В приведенном примере указано как получить эту информацию.

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
	MediaPlayer1.TimeFormat := tfFrames;
	ShowMessage('Number of frames = ' + IntToStr(MediaPlayer1.Length));
	MediaPlayer1.TimeFormat := tfMilliseconds;
	ShowMessage('Number of milliseconds = ' + IntToStr(MediaPlayer1.Length));
end;