Surse delphi

Lesson Delphi - Aflați cum să conectați fișierele .INI la aplicațiile Delphi.

<название параметра> = <его значение>

Este foarte ușor să lucrați cu fișierele .INI din Delphi. Clasa de bază de bază pentru a lucra cu ei este TIniFile. care vă permite să efectuați peste toate operațiile de scriere și citire, suprascriind setările utilizatorului. Există, de asemenea, clasa TMemIniFile. care diferă de primul TIniFile, prin faptul că toate datele sunt scrise în memoria RAM a calculatorului și sunt stocate pe disc numai atunci când este apelată metoda UpdateFile. Ambele clase sunt cuprinse în modulul IniFile și pentru ca noi să putem folosi fișierele .INI și să lucrăm cu aceste clase în aplicațiile dvs., trebuie să adăugați modulul IniFiles la secțiunea Utilize.







Pentru a crea un obiect de clasă TIniFile sau TMemIniFile este foarte simplu, trebuie să transferați numele fișierului .INI la proiectant. În cazul în care acest fișier nu există, acesta este creat automat. Pentru a citi / scrie din / către fișierul .INI de valori personalizate programabil, există metode

Destul de o teorie, acum vom încerca să practice și să scrie o mică aplicație care demonstrează lucrul cu fișierul de inițializare în Delphi și clasa TIniFile. Aplicația noastră după lansarea a spus INI fișier informații despre poziția și dimensiunea ferestrelor, precum și conținutul Editare tipul câmpului de intrare, iar când vom închide aplicația va scrie din nou în fișierul .ini lor nou (dacă am schimbat dimensiunea ferestrei sau ceva în scris în câmpul de introducere) datele cu care se va deschide data viitoare.

Deschideți Delphi, plasăm pe formularul componentele Edit (câmpul de introducere) și butonul (butonul obișnuit). Vom procesa evenimentele componentei Form, forma principală, atunci când creați OnCreate și închideți OnClose, precum și evenimentele făcute prin apăsarea butonului OnClick.

Adăugăm modulul IniFile la secțiunea Plug-in de utilizare, care conține clasa TIniFile cu care va funcționa aplicația noastră.

La începutul programului (în corpul formatorului OnCreate pentru crearea evenimentului), vom încerca să citim datele din fișierul .INI. Pentru a implementa acest lucru, creați un obiect de clasă TIniFile, numind constructorul său, cu numele fișierului dorit. Primim numele fișierului din numele aplicației executabile Application.ExeName, schimbând extensia sa în "ini" utilizând funcția ChangeFileExt.

Extragem valorile individuale din fișierul .INI utilizând metode: ReadInteger, ReadString și ReadBool. Aceste funcții au 3 argumente







  1. Citire / Scriere * (numele tipului de date Integer, String sau Bool) * (1N .2N, 3N);
  2. 1N - primul argument, numele secțiunii, în cazul nostru va fi Forma
  3. 2N - al doilea argument, numele parametrului (Top, Left, Text, etc.)
  4. 3N - al treilea argument, indică valoarea implicită (100, 200, 300 etc.) dacă se utilizează citirea *, în cazul scriere *, aceasta va fi valoarea de scriere.

Extras de valoare din fișierul INI, nu am putea fi în măsură să, nu numai în caz de urgență, dar, de asemenea, mai multe dintre motivele pentru care, de exemplu, lipsa fișierului de inițializare sau secțiuni. Prin urmare, pentru a face față unor erori similare sau chiar mai grave, vom folosi încercarea protejată ... în cele din urmă blocată.

procedura TForm1.FormCreate (expeditor: TObject);
var
IniSoub: TIniFile;
începe
Titlu: = '* .INI';
Button1.Caption: = 'Salvați'
Edit1.Text: = ";
// crea un obiect de clasă TIniFile
IniSoub: = TIniFile.Create (SchimbareaFileExt (Application.ExeName, '.ini'));
încercați // să încercați să citiți datele
Edit1.Text: = IniSoub.ReadString ('Edit', 'Text', ');
Sus: = IniSoub.ReadInteger ('Form', 'Top', 100);
Stânga: = IniSoub.ReadInteger ('Form', 'Stânga', 100);
Înălțime: = IniSoub.ReadInteger ("Form", "Înălțime", 100);
Lățime: = IniSoub.ReadInteger ('Form', 'Wedth', 147);
IF IniSoub.ReadBool ('Form', 'Maximized', false) apoi
WindowState: = wsMaximizată
altfel
WindowState: = wsNormal;
în cele din urmă
IniSoub.Free; // eliberați memoria
se încheie;
se încheie;

procedura TForm1.Button1Click (expeditor: TObject);
începe
Închide;
se încheie;

Când vom închide programul, închide formularul OnClose eveniment este procesat și va înregistra valorile curente (altitudine, dimensiunea ferestrei, etc.) în fișierul de inițializare folosind metode de clasă TIniFile:

WriteString ()
WriteInteger ()
WriteBool ()

Ne-am uitat la ele de mai sus, în Scrie * totul este același ca în Read *, cu excepția ultimului argument 3, care scrie fișierul .INI la o valoare numerică.

procedura TForm1.FormClose (expeditor: TObject; var Action: TCloseAction);
var
IniSoub: TIniFile;
începe
// crea un obiect de clasă TIniFile
IniSoub: = TIniFile.Create (SchimbareaFileExt (Application.ExeName, '.ini'));
încercați // încercați să scrieți date în fișierul .INI
IniSoub.WriteString ("Editare", "Text", Edit1.Text);
IniSoub.WriteInteger ("Form", "Sus", Sus);
IniSoub.WriteInteger ("Formă", "Stânga", Stânga);
IniSoub.WriteInteger ("Form", "Înălțime", Înălțime);
IniSoub.WriteInteger ("Formă", "Lățime", Lățime);
IniSoub.WriteBool ("Form", "Maximizat", WindowState = wsMaximized);
în cele din urmă
IniSoub.Free; // eliberați memoria
se încheie;
se încheie;

Acum compilați aplicația și salvați-o undeva într-un dosar sau pe desktop. Deschideți-l și încercați să schimbați, de exemplu, mărimea ferestrei, locația pe monitor și faceți clic pe butonul "Salvați". Deschideți-l din nou și puteți să vă asigurați că dimensiunea ferestrei și restul pe care l-ați modificat sunt afișate cu aceeași dimensiune. Toate aceste date se află în fișierul .INI, îl puteți deschide și îl puteți modifica, schimbând astfel unele valori cu care va apărea aplicația, pe măsură ce o deschideți.

Nu uitați, atunci când editați un fișier .INI, să specificați manual numele secțiunilor din paranteze pătrate [....], iar toate celelalte linii ale fișierului trebuie să aibă un format <переменная>=<значение>

Dacă doriți să oferiți posibilitatea de a edita fișiere .INI prin programul însuși, puteți utiliza componenta ValueListEditor. localizat în fila Suplimentare.







Articole similare

Trimiteți-le prietenilor: