Statusbar (bara de stare)

Delphi StatusBar component (tab Win32), atunci când sunt introduse pe formular se află automat în partea inferioară a matriței. Înălțimea StatusBar componentă specificată utilizând proprietățile înălțimii. fie la momentul proiectării mouse-ului. Dacă aveți nevoie de un panou mare, SimplePanel proprietate necesară pentru a seta valoarea la TRUE, și textul care ar trebui să fie afișat, setați proprietatea SimpleText.

În colțul din dreapta jos al componentei afectează triunghiul mic, este responsabil pentru această proprietate SizeGrip. Este vizual arată că, cu mouse-ul, în acest loc, puteți schimba forma direcție orizontală și verticală.

SvoystvoFont setează fontul și caracteristicile sale.

§ Proprietate text - Inscripția de pe panou.

§ Proprietate Lățime - Lățimea panoului în pixeli.

§ Bevel proprietate - bara de instrumente View.

§ proprietate Alinierea - Alinierea etichetelor de pe panou.

Aranjați componentele pe un formular StatusBar, Edit, Memo, Contor de timp, ApplicationEvents, așa cum se arată. Scriem proprietatea Sugestie pentru a edita și Memo, să Numele și informații generale. componenta StatusBar pentru a crea trei panouri.

Statusbar (bara de stare)

Pentru primul panou, în cazul în care vom afișa data, lățimea este stabilită la 60. Evenimentul ApplicationEvents componenta onHint a crea un handler:

Procedura TForm1.ApplicationEvents1Hint (Expeditor: TObject);

Acesta va afișa sfaturi forma elemente în al treilea panou. Pentru evenimente onTimer (la ora și data afișată în primul și al doilea panou, respectiv) componenta temporizator -

Procedura TForm1.Timer1Timer (Expeditor: TObject);

Folosind sfaturile din Delphi

În Windows, atunci când treceți cursorul mouse-ului peste orice pictogramă tooltip. Prezența indiciu ajută utilizatorul final să se ocupe de funcționalitatea aplicației.

Editare loc pe formularul și în proprietatea Indiciu de tip pentru componente „Aceasta este componenta noastră, putem scrie tot aici.“ proprietate ShowHint este setat la TRUE. proiect derulat cu F9. Stai o clipă mouse-ul peste componenta Edit și a vedea vârful nostru pe un fond de culoare galbenă, așa cum se arată.

Statusbar (bara de stare)
Și cum alte sfaturi de fundal,
Ați putea cere, este foarte simplu. Pentru a face acest lucru, să examineze exemplul următor.

Aranjați componentele după cum urmează, așa cum se arată. Proprietăți formular ShowHint atribuie TRUE. Ne vom asigura că toate componentele proprietate ParentShowHint ar fi adevărat.

Acum, pentru fiecare tip de componentă a scrie prompt „Această componentă Edit“ (pentru fiecare sfat pentru a fi componenta sa). Dublu-click pe Go formularul la handler formularul Crearea și efectuați următoarele linii:

Procedura TForm1.FormCreate (Expeditor: TObject);

Button1.Hint: = 'primul rând' + # 13 + 'a doua linie' + # 13 + 'a treia linie';

Prima linie stabilește un nou indiciu buton Button1 dacă un indiciu în Object Inspector a fost înființat la acest lucru, atunci este ignorat. Simbolul # 13 împarte linia vârful pe mai multe „etaje“. HintColor proprietate specifică indiciile de fond. HintPause proprietate - timp pentru a arăta indicii în milisecunde (în cazul în care 1000 - o secundă), și sfaturi de proprietate spectacol HintHidePause.

Număr de Lecture 20. Crearea screensavere, ferestre de informare.

Aici este o modalitate simplă de a crea un ecran splash.

În primul rând trebuie să ne pregătim imaginea în sine, pe care doriți să vedeți într-un economizor de ecran. Ca un exemplu, să ia imaginea de la Borland Delphi 5.

Astfel, procedura este următoarea:

1. Crearea unui nou formular File> New> Formular - Delphi pentru Win322.

2. Pentru comoditate, să o sun și să ceară IntroForm BorderStyle proprietate bsNone (Dispare antet și forme de cadru), valoarea proprietății Poziția poDesktopCenter (fereastra va apărea în centrul desktop).

3. Așezați componenta de formă TImage (fila suplimentară) și imaginea de încărcare utilizând proprietățile noastre Picture.

4. Așezați componenta de formă TTimer (tab-ul System), setați proprietățile valoarea Interval egală cu 3000 (3 secunde), scrie și tratare a evenimentului OnTimer:

5. Apoi, deschideți fișierul proiectului: Project> View Source și de a face modificări în conformitate cu exemplul de mai jos:

Formulare,
Unit1 în 'Unit1.pas',
UNIT2 în 'Unit2.pas';

începe
Application.Initialize;
IntroForm: = TIntroForm.Create (Application);
IntroForm.Show;
IntroForm.Update;

în timp ce IntroForm.Timer1.Enabled do
Application.ProcessMessages;

Application.CreateForm (TForm1, Form1);
IntroForm.Hide;
IntroForm.Free;
Application.Run;
end.

2. fereastra de informații în aplicația Delphi

Pentru a ajuta programator are un model în Delphi sau o fereastră, puteți crea propriul. Pentru a utiliza un șablon, selectați obiectul Vault (File -> New -> Altele) pe pagina Formulare formularul Despre șablon caseta.

Statusbar (bara de stare)
Ca urmare, formularul de cerere va fi adăugat la titlu și despre numele AboutBox.

Statusbar (bara de stare)
Pe panoul de formular care urmează să fie amplasat (componenta Panel) și butonul OK, cu un antet pentru închiderea ferestrelor. Pentru buton handler eveniment nu este necesară, deoarece ModalResult proprietate cheie este setat la mrOK și așa atunci când este apăsat, o fereastră de informații vor fi închise.

Panoul (componenta Panel) conține patru componente etichetă pentru a afișa informații despre un produs și dezvoltatorii săi. componentă a imaginii este utilizat pentru a afișa orice model, cum ar fi un producător logo-ul programului.

Titlu Despre forma în sine poate fi modificată, dacă este necesar. În cazul în care forma va fi necesară nici mai multe elemente, atunci ele pot fi întotdeauna adăugate sau, dacă este necesar, eliminarea inutilă.

de obicei, afișat la meniul principal în modul modal atunci când se lucrează cu fereastra de informații despre program. Pentru a continua lucrul cu fereastra de informații despre program ar trebui să fie închise.

fereastra cu informații Exemplu de apel din meniu va fi:

Procedura TForm1.N1Click (Expeditor: TObject);

Numărul Lecture 21. Conceptul și scopul DLL-biblioteci. Crearea unui DLL-biblioteci. Folosind un DLL-biblioteci.

1.Ponyatie și numirea DLL-biblioteci.

Dynamic Link Library (din limba engleză în mod dinamic biblioteca descărcabilă.) - este o bibliotecă subrutină, care este încărcat în memorie și este conectat la utilizarea programului în timp ce se execută (nu compila în timp și de asamblare). Fișierele sunt biblioteci dinamice link-ul din Windows au de obicei extensia .dll (din limba engleză. Dynamic-Link Library).

Mai multe tipuri de programe diferite pot fi utilizate în biblioteca de ansamblu dinamic link-ul. În acest caz, sistemul de operare încarcă efectiv în memorie numai o copie a bibliotecii și oferă acces partajat la acesta din partea tuturor programelor. În plus, aceste biblioteci pot fi încărcate și descărcate în mod dinamic din memorie în cursul programului, eliberând resursele sistemului pentru alte sarcini.

Una dintre cele mai importante numiri ale bibliotecilor dinamice link-ul - este interacțiunea dintre rutine scrise în diferite limbaje de programare. De exemplu, puteți utiliza în mod liber în Delphi biblioteci încărcate dinamic dezvoltate în alte sisteme de programare folosind C și limbi C ++. Reciproca este de asemenea adevărat - biblioteci încărcate dinamic create cu Delphi, pot fi conectate la programe în alte limbaje de programare.

Conform structurii codului sursă al bibliotecii este similar cu codul sursă, cu excepția faptului că textul biblioteca începe cu biblioteca de cuvinte cheie, nu un program de cuvânt. De exemplu:

După titlul secțiunii de conectare modul următor, descrierile constante, tipuri de date, variabile, și descrierea procedurilor și funcțiilor. Proceduri și funcții - este important să existe o bibliotecă de legături dinamice, deoarece numai acestea pot fi exportate.

Dacă unele dintre procedurile anunțate în corpul bibliotecii,

Procedura BubleSort (var Arr: matrice de Integer); Procedura sortarerapidă (var Arr: matrice de Integer);

aceasta nu înseamnă că ele vor fi în mod automat disponibile pentru apeluri în afara. Pentru a rezolva acest lucru, aveți nevoie pentru a pune numele procedurilor într-o secțiune specială a exporturilor, cum ar fi: exporturile BubleSort, sortarerapidă;

Enumerate în procedurilor de export secțiune și funcțiile sunt separate printr-o virgulă, iar la sfârșitul întregii secțiuni a unui virgulă. Secțiuni exporturile pot fi mai multe, și ele pot fi aranjate într-un mod arbitrar program.

Următorul exemplu arată codul sursă al cel mai simplu link-ul dinamic biblioteca SortLib. Acesta conține o singură procedură BubleSort, sortarea o serie de numere întregi de „bubble“:

Biblioteca SortLib; Procedura BubleSort (var Arr: matrice de Integer); var I, J, T: Integer; începe pentru I: = Low (Arr) la High (Arr) - 1 do pentru J: = I + 1 la High (Arr) fac dacă Arr [I]> Arr [J] apoi începe T: = Arr [I]; Arr [I]: = arr [J]; Arr [J]: = T; se încheie; se încheie; exportă BubleSort; începe final.

Codul sursă este încărcat dinamic de bibliotecă se termină începe unitate operatorului. end, în care aveți posibilitatea să inserați orice operatorii să se pregătească pentru bibliotecă pentru a lucra. Aceste declarații sunt executate în timpul biblioteca programul principal de boot. simplă Biblioteca noastră SortLib nu are nevoie de nici o pregătire la locul de muncă, deci este un operator bloc gol.

Există două modalități de a importa, altele decât confortul și flexibilitatea de programare:

§ import statice (cu condiția de directivă compilator extern);

§ import dinamic (LoadLibrary furnizate și funcțiile GetProcAddress).

import static este mai convenabil, și dinamică - mai flexibilă.

În importurile statice toți pașii pentru a descărca și conecta bibliotecile sunt efectuate automat de către sistemul de operare în timpul pornirii programului principal. Pentru a utiliza un import static, pur și simplu declară procedurile programului și funcțiile bibliotecii ca extern. Acest lucru se face prin directive externe. de exemplu:

BubleSortIntegers procedură (var Arr: matrice de Integer); stdcall; externe 'SortLib.dll'; QuickSortIntegers procedură (var Arr: array de Integer); stdcall; externe 'SortLib.dll';

Procedura BubleSort (var Arr: matrice de Integer); stdcall; Numele extern 'SortLib.dll' 'BubleSortIntegers'; Procedura sortarerapidă (var Arr: matrice de Integer); stdcall; Numele extern 'SortLib.dll' 'QuickSortIntegers';

Această metodă se numește importuri statice.

Extensie care conține un fișier DLL nu poate fi specificat - fișierele implicite implicite * .DLL și * .exe. Dacă fișierul are o altă extensie (de exemplu, COMPLIB.DCL în Delphi), sau în cazul în care o determinare dinamică DLL și funcții importate (de exemplu, programul funcționează cu o varietate de formate grafice, și pentru fiecare dintre ele există un DLL separat.), Apoi soluția acest tip de problemă, puteți aplica direct la windows API, folosind importul dinamic așa-numitele: