Sign in Join
Wiki copytemporary

typed files/pl: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: typed files/pl

OldNewLine
1+Pliki typowane
2+
3+## Plik typowany
4+
5+A typed text file is suitable for processing files of any size. A typed text file consists of individual data records. All records in the file have the same structure. This means that each data record is of the same length.
6+
7+Typowany plik tekstowy nadaje się do przetwarzania plików o dowolnym rozmiarze. Typowany plik tekstowy składa się z pojedynczych rekordów danych. Wszystkie rekordy w pliku mają taką samą strukturę. Oznacza to, że każdy rekord danych ma tę samą długość.
8+
9+## Zdefiniuj plik i strukturę rekordu
10+
11+Struktura zależy od typu pliku i typu rekordu. Plik i rekord danych muszą mieć taką samą strukturę.
12+
13+``` pascal
14+ type
15+ TMemployee = Record
16+ strName : String[20];
17+ sinContent : Single;
18+ end;
19+```
20+
21+## Tworzenie pliku
22+
23+``` pascal
24+var
25+ datFile : File of TMemployee;
26+ recData : TMemployee;
27+begin
28+ AssignFile(datFile, 'example.txt');
29+
30+ // Istniejący plik jest usuwany i ponownie tworzony
31+ ReWrite(datFile);
32+
33+ ...
34+end;
35+```
36+
37+## Zamknięcie pliku
38+
39+``` pascal
40+begin
41+ ...
42+ Close(datFile); // zamyka plik
43+ ...
44+end;
45+```
46+
47+## Zapisywanie rekordu danych
48+
49+``` pascal
50+var
51+ datFile : File of TMemployee;
52+ recData : TMemployee;
53+begin
54+ ...
55+
56+ // wypełnij rekord danymi
57+ recData.strName := 'abcdefghij';
58+ recData.sinContent := 1700.21;
59+
60+ // zapisz rekord do pliku
61+ Write(datFile, recData);
62+
63+ ...
64+end;
65+```
66+
67+## Odczytywanie rekordu danych
68+
69+``` pascal
70+var
71+ datFile : File of TMemployee;
72+ recData : TMemployee;
73+begin
74+ AssignFile(datFile, 'example.txt');
75+
76+ Reset(datFile); // Ustaw wskaźnik pliku na początku pliku
77+
78+ Read(datFile, recData); // Czyta rekord z pliku
79+ ...
80+end;
81+```
82+
83+## Odczytanie pliku w całości
84+
85+``` pascal
86+var
87+ datFile : File of TMemployee;
88+ recData : TMemployee;
89+begin
90+ AssignFile(datFile, 'example.txt');
91+ Reset (datFile);
92+
93+ while not eof(datFile) // wykonuj tak długo, dopóki dane mogą być odczytywane
94+ do begin
95+ read(datFile, recData); // odczytaj rekord z pliku
96+ ...
97+ end;
98+
99+ CloseFile (datFile);
100+end;
101+```
102+
103+## Modyfikacja wybranego rekordu danych
104+
105+``` pascal
106+begin
107+ AssignFile(datFile, 'example.txt');
108+ Reset(datFile);
109+ ...
110+
111+ Seek(datFile, 0); // ustawia wskaźnik pliku na początku pliku, czyli na pierwszym rekordzie
112+ Read(datFile, recData); // wczytaj pierwszy rekord do zmiennej recData
113+
114+ recData.sinContent := 1602.22; // aktualizuje rekord
115+
116+ Seek(datFile, 0); // ustawia wskaźnik pliku na pierwszym rekordzie
117+ Write(datFile, recData); // Zapisz pierwszy rekord
118+
119+ ...
120+end;
121+```
122+
123+## Zobacz także
124+
125+- [[File types/pl|Typy plików]]
126+
127+---
128+*From the Free Pascal wiki, page "typed files/pl", as it stood on 2022-01-28 after a change by Slawek, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history