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

Тут можно читать онлайн Виртуальная библиотека Delphi - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Виртуальная библиотека Delphi
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

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

Виртуальная библиотека Delphi - описание и краткое содержание, автор Неизвестный Автор, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Виртуальная библиотека Delphi - читать книгу онлайн бесплатно, автор Неизвестный Автор
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Пример:

procedure TForm1.Button1Click(Sender: TObject);

begin

Memo1.Lines.Add(ColorToString(clRed));

Memo1.Lines.Add(IntToStr(StringToColor('clRed')));

end;

Вопрос:

При показе максимизированной формы она перекрывает task bar и не выравнивается по верху экрана. В чем тут дело?

Ответ:

Это может произойти когда свойство position формы установленно в poScreenCenter. Установите position = poDefault.

Вопрос:

Как заставить TEdit не 'пикать' при нажатии недопустимых клавиш?

Ответ:

Перехватите событие KeyPress и установите key = #0 для недопустимых клавиш.

Пример:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if ((UpCase(Key) < 'A') or (UpCase(Key) > 'Z')) then Key := #0;

end;

Вопрос:

Как получить число и список всех компонентов, расположенных на TNoteBook?

Ответ:

В примере список выводится на Listbox.

Пример:

procedure TForm1.Button1Click(Sender: TObject);

var

n: integer;

p: integer;

begin

ListBox1.Clear;

with Notebook1 do begin

for n := 0 to ControlCount - 1 do begin

with TPage(Controls[n]) do begin

ListBox1.Items.Add('Notebook Page: ' + TPage(Notebook1.Controls[n]).Caption);

for p := 0 to ControlCount - 1 do ListBox1.Items.Add(Controls[p].Name);

ListBox1.Items.Add(EmptyStr);

end;

end;

end;

end;

Вопрос:

Я хочу вставить 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-файла?

Ответ:

См. пример.

Пример:

procedure TForm1.Button1Click(Sender: TObject);

begin

Application.ProcessMessages;

MediaPlayer1.Open;

Application.ProcessMessages;

MediaPlayer1.Step;

Application.ProcessMessages;

MediaPlayer1.Previous;

end;

Вопрос:

Когда пользователь щелкает по listview, он переходит в режим редактирования. Как перевести его в режим редактирования по нажатию клавиши (например F2)?

Ответ:

Перехватите F2 на событии keydown.

Пример:

procedure TForm1.ListView1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

if Ord(Key) = VK_F2 then ListView1.Selected.EditCaption;

end;

Вопрос:

Когда я добавляю обьект в список TStrings как мне его потом уничтожить?

Ответ:

Просто вызовите метод free этого обьекта.

Пример:

procedure TForm1.FormCreate(Sender: TObject);

var Icon: TIcon;

begin

Icon := TIcon.Create;

Icon.LoadFromFile('C:\Program Files\BorlandImages\CONSTRUC.ICO');

ListBox1.Items.AddObject('Item 0', Icon);

end;

procedure TForm1.FormDestroy(Sender: TObject);

begin

ListBox1.Items.Objects[0].Free;

end;

Вопрос:

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

Ответ:

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

Пример:

uses Printers;

procedure TForm1.Button1Click(Sender: TObject);

var

tm : TTextMetric;

i : integer;

begin

if PrintDialog1.Execute then begin

Printer.BeginDoc;

Printer.Canvas.Font.Handle := GetStockObject(DEVICE_DEFAULT_FONT);

GetTextMetrics(Printer.Canvas.Handle, tm);

for i := 1 to 10 do begin

Printer.Canvas.TextOut(100,i * tm.tmHeight + tm.tmExternalLeading,'Test');

end;

Printer.EndDoc;

end;

end;

Вопрос:

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

Ответ:

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

Пример:

uses Registry;

procedure TForm1.Button1Click(Sender: TObject);

var reg: TRegistry;

begin

reg := TRegistry.Create;

reg.RootKey := HKEY_LOCAL_MACHINE;

reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\SETUP',false);

ShowMessage(reg.ReadString('SourcePath'));

reg.CloseKey;

reg.free;

end;

Вопрос:

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

Вопрос:

Как заставить Delphi выполнять еще более строгую проверка типов? Например — я создаю пользовательский тип, унаследованный от double и могу передавать его любым функциям, принимающим параметр типа double. Как заставить компилятор проводить более строгую проверку типов и выдавать предупреждение в таких случаях?

Ответ:

См. ответ.

Пример:

type TStrongType = type Double;

type TWeakType = Double;

procedure AddWeakType(var d : TWeakType);

begin

d := d + 1;

end;

procedure AddStrongType(var d : TStrongType);

begin

d := d + 1;

end;

procedure AddDoubleType(var d : Double);

begin

d := d + 1;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

d : Double;

s : TStrongType;

w : TWeakType;

begin

AddDoubleType(d); {compiles fine}

AddDoubleType(w); {compiles fine}

AddDoubleType(s); {<- compile error}

AddDoubleType(double(s)); {compiles fine}

AddWeakType(d); {compiles fine}

AddWeakType(w); {compiles fine}

AddWeakType(s); {<- compile error}

AddWeakType(TWeakType(s)); {compiles fine}

AddStrongType(d); {<- compile error}

AddStrongType(TStrongType(d)); {compiles fine}

AddStrongType(w); {<- compile error}

AddStrongType(TStrongType(w)); {compiles fine}

AddStrongType(s); {compiles fine}

end;

Вопрос:

Где в Delphi обьявленны VK_Key для A-Z и 0-9?

Ответ:

Они не обьявлены в Delphi поскольку они просто могуть быть заменены буквами. VK_0 до VK_9 то же что и ASCII '0' до '9' ($30 – $39), VK_A до VK_Z то же что и ASCII 'A' до 'Z' ($41 – $5A).

Вопрос:

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

Ответ:

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

Пример:

type TForm1 = class(TForm)

Button1: TButton;

procedure WndProc (var Message: TMessage); override;

procedure Button1Click(Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WndProc(var Message: TMessage);

begin

if Message.Msg = WM_CANCELMODE then begin

Form1.Caption := 'A dialog or message box has popped up';

end else inherited // <- остальное сделает родительская процедура

end;

procedure TForm1.Button1Click(Sender: TObject);

begin ShowMessage('Test Message');

end;

Вопрос:

Как узнать размеры TComboBox с показанным выпадающим списком до показа списка?

Ответ:

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

Интервал:

Закладка:

Сделать


Неизвестный Автор читать все книги автора по порядку

Неизвестный Автор - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Виртуальная библиотека Delphi, автор: Неизвестный Автор. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x