Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

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

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 краткое содержание

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

…начиная с 1001. Смотрите другие файлы…

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

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

Интервал:

Закладка:

Сделать

10. Выберите в меню Delphi IDE View | Project Source

11. Вставьте между ключевым словом begin и перед любым Application.Create() следующий код:

SplashScreen := TSplashScreen.Create(Application);

SplashScreen.Show;

SplashScreen.Refresh;

12. Измените поведение главной формы приложения при наступлении события OnShow. Добавьте следующий код:

SplashScreen.Free;

Комментарий: Реализация заставки с линейкой прогресса ничуть не сложнее, чем приведенный выше пример. Необходимо всего лишь вовремя выводить ее на экран: перед тем, как процесс начнется, и убирать только после того, как он закончится. Различие заключается в осуществлении связи (реализации механизма) между процессом и заставкой для правильного обновления линейки прогресса.

13. Запустите приложение. В приведенном выше примере, если скорость вашего компьютера значительна, то заставки вы можете и не увидеть. Следующий код демонстрирует технику создания заставки для вашего приложения — только будьте осмотрительней при его использовании.

Добавьте следующий код на этапе #11:

forx:= 1 to10000000 do begin

x:=x;

end;

{PROJECT1.DPR}

programProject1;

usesForms, Unit1 in'UNIT1.PAS' {Form1}, Unit2 in'UNIT2.PAS' {SplashScreen};

{$R *.RES}

varx: longint;

begin

SplashScreen:= TSplashScreen.Create(Application);

SplashScreen.Show;SplashScreen.Refresh;

forx:= 1 to10000000 do begin

x:=x;

x:=x;

end;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

{UNIT1.PAS}

unitUnit1;

interface

usesSysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, unit2;

typeTForm1 = class(TForm)

procedureFormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

varForm1: TForm1;

implementation

{$R *.DFM}

procedureTForm1.FormShow(Sender: TObject);

begin

splashscreen.free;

end;

end.

{UNIT2.PAS}

unitUnit2;

interface

usesSysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

typeTSplashScreen = class(TForm)

Panel1: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Shape1: TShape;

Shape2: TShape;

Shape3: TShape;

private

{ Private declarations }

public

{ Public declarations }

end;

varSplashScreen: TSplashScreen;

implementation

{$R *.DFM}

end.

Как правильно закрыть и удалить форму? Почему моя MDI Child форма при закрывании просто минимизируется?

Своим опытом делится Nomadic:

A: Обрабатывайте событие OnClose для формы и выставляйте в нем параметр Action в caFree. Дело в том, что его значение по умолчанию для MDI Child форм caMinimize. Кстати, если сделать Action := caNone, то форму нельзя будет закрыть.

Как установить максимальный и минимальный размер формы

Если вы хотите контролировать изменение пользователем размера вашей формы, воспользуйтесь установкой значения MinMax. (Если для этих целей вы используете метод resize, это работает, но выглядит не так хорошо.)

Примечание: Чтобы совсем запретить пользователю изменять размеры формы, задайте одинаковые значения для ее минимального и максимального значения. Вот пример того, как можно объявить и использовать в вашем приложении обработку системного сообщения wm_GetMinMaxInfo:

unitMinMax;

interface

usesSysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs;

typeTForm1 = class(TForm)

private

{ Private declarations }

procedureWMGetMinMaxInfo( varMSG: Tmessage); messageWM_GetMinMaxInfo;

public

{ Public declarations }

end;

varForm1: TForm1;

implementation

{$R *.DFM}

procedureTForm1.WMGetMinMaxInfo( varMSG: Tmessage);

Begin

inherited;

withPMinMaxInfo(MSG.lparam)^ do begin

withptMinTrackSize do begin

X := 300;

Y := 150;

end;

withptMaxTrackSize do begin

X := 350;

Y := 250;

end;

end;

end;

end.

TIniFile

Проблемы ini-файла

Кто-нибудь имел какие-нибудь проблемы при использовании модуля TIniFile? Я думаю здесь какая-то детская проблема с кэшированием!!!

Вот что я делал:

(* c:\test.ini уже существует *)

myIni := TIniFile.Create('c:\test.ini');

WithmyIni do begin

…. (добавляем новую секцию в test.ini

end;

myIni.Free;

RenameFile('c:\test.ini', 'c:\test1.ini');

Что я получил:

1. test1.ini НЕ ИМЕЕТ добавленной мною секции;

2. всякий раз при создании или открытии нового файла в том же самом каталоге с помощью File Manager, 'c:\test.ini' появляется вновь, и у него СУЩЕСТВУЕТ секция, которую я добавлял.

Я решил эту проблему добавлением следующей строки перед IniFile.Free:

WritePrivateProfileString( nil, nil, nil, PChar(IniFileName));

Для получения дополнительной информации обратитесь к электронной справке к разделу 'WritePrivateProfileString'.

– Tony Chang

Как создать Ini-файл в директории программы?

По умолчанию ini-файл создается в Windows-директории (например: TIniFile.Create('MFile.ini')), что приводит к «захламлению» оной. Более (эко-)логично (за исключением случаев, когда программа делается для CD-ROM) если ini-файл создается в той же директории что и главная программа. Вот пример чтения и записи ini файла из директории программы:

functionReadIni(ASection, AString : String) : String;

var

sIniFile: TIniFile;

sPath : String[60];

begin

GetDir(0,sPath);

sIniFile := TIniFile.Create(sPath + '\Name.INI');

Result := sIniFile.ReadString(ASection, AString, S);

sIniFile.Free;

end;

procedureWriteIni(ASection, AString, AValue: String);

var

sIniFile: TIniFile;

sPath : String[60];

begin

GetDir(0,sPath);

sIniFile := TIniFile.Create(sPath + '\Name.INI');

sIniFile.WriteString(ASection, AString, AValue);

sIniFile.Free;

end;

TRegistry

Дополненный TRegistry, умеет работать с значениями типа REG_MULTI_SZ (Windows NT, Windows 2000)

Кондратюк Виталийсоветует:

unitReg;

{$R-,T-,H+,X+}

interface

usesRegistry, Classes, Windows, Consts, SysUtils;

typeTReg = class(TRegistry)

public

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

Интервал:

Закладка:

Сделать


Валентин Озеров читать все книги автора по порядку

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




Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы


Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.


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

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