Hirdetés
- Poco F6 5G - Turbó Rudi
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Honor Magic6 Pro - kör közepén számok
- Netfone
- Samsung Galaxy A17 5G – megint 16
- Mobil flották
- Samsung Galaxy S25 - végre van kicsi!
- Bemutatkozott a Poco X7 és X7 Pro
- iPhone topik
- Fele annyit ér az iPhone Air, mint amennyibe pár hete került
Új hozzászólás Aktív témák
-
Drótszamár
őstag
válasz
Drótszamár
#832
üzenetére
Nem vagy fenn msn-en.
10.2 Típusos file-ok
A típusos file-ok alkalmazásával olyan adathalmazokat is létrehozhatunk, melyek sorai azonos típusú (nem kizárólag szöveges) elemeket tartalmaznak. Az ilyen állományok deklarációjában azt kell megadni, hogy a file soraiban tárolt adatok milyen típusúak legyenek. A file típusa lehet egyszerû vagy összetett, de nem lehet file vagy objektum típus. Például:
var f1:file of integer;
f2:file of real;
Azonban gyakrabban használunk összetett típusokat egy file típusaként.
type tanulotipus=record
neve:string[25];
osztalya:string[5];
atlaga:real;
end;
var f_iskola:file of tanulotipus;
Az f_iskola azonosítóhoz rendelt állomány minden sora egy-egy tanulo rekord lesz, és így az iskola összes tanulójának adatait egyetlen file-ban tárolhatjuk. A file megnyitására a már ismert eljárások használhatók (kivéve Append):
Reset(f_iskola); {létezõ file}
Rewrite(f_iskola); {lehet nem létezõ is}
A szöveges állományoktól eltérõen, a Reset-tel történõ megnyitás után nem csak olvashatunk a file-ban, hanem írhatunk is hozzá. A Rewrite használatával is elvégezhetjük mind a két tevékenységet, de ha már létezõ file-t nyitunk meg így, akkor a tartalma elvész. A file-ba írás (Write, Writeln) ill. az abból való olvasás (Read, Readln) a szöveges állományoknál ismertetett módon történik. A típusos file-okban tetszés szerint mozoghatunk, ehhez a következõ parancsot használjuk:
Seek(file_valtozo, index);
A Seek eljárás paramétereként meg kell adni annak az állománynak az azonosítóját, amelyben mozogni akarunk, és annak a sornak a számát, ahová a file-mutatót állítani akarjuk. Fontos tudni, hogy a file elsõ sorának indexe 0, a másodiknak 1, és így tovább. Ahhoz, hogy az indexben megadott sorszám biztosan elérhetõ sort jelöljön, tudnunk kell a file pontos méretét, vagy a file-mutató aktuális helyét.
FileSize(file_valtozo) {file mérete}
FilePos(file_valtozo) {aktuális pozíció}
A FileSize függvény visszatérési értéke egy longint típusú szám, mely a file-ban található sorok száma (az utolsó sor indexe).
Ha az állomány üres, akkor a függvény értéke 0. A FilePos függvény eredménye egy longint típusú szám, mely a file aktuális sorának indexe. Ha a file-mutató az elsõ sorra mutat, akkor a függvény értéke 0. Ha az aktuális pozíció a file vége, akkor a függvény értéke megegyezik a FileSize függvény értékével. A Seek eljárásban az index helyén is alkalmazhatók ezek a függ- vények.
Ha az állományunk utolsó soraiban olyan adatok vannak, melyeket törölni akarunk a file-ból, akkor a file végét egy- szerûen levágjuk a Truncate paranccsal:
Truncate(file_valtozo);
Az eljárás a file-mutató aktuális pozíciójától csonkolja a file-t, az utolsó sor az aktuális pozíció lesz. Készítsünk egy programot, mely egy már létezõ file-ban keres!
[link]
Ezeket kell eltárolni: minden futtatás idejét, a mátrix 12. sorát, és négyzetösszegét.
Tehát
type
matrixsor : array[1..11] of integer;
egyadat : record
ora = Byte;
perc = Byte;
sor = matrixsor;
osszeg = Word;
end;
var
f = file of egyadat;
m = egyadat;
begin
...
m feltöltése;
assign(f,'matrix.dat');
{$I-} reset(f); {$I+}
If IoResult<>0
Then
Begin
rewrite(f); //nem létezik a file, létrehozod újra
End;
seek(f,(filesize(f)-1);
write(f,m);
...
end.
[Szerkesztve]
Új hozzászólás Aktív témák
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Lézervágás, gravírozás
- eBay-es kütyük kis pénzért
- Soundbar, soundplate, hangprojektor
- Robotporszívók
- One otthoni szolgáltatások (TV, internet, telefon)
- Nyaralás topik
- Amlogic S905, S912 processzoros készülékek
- ThinkPad (NEM IdeaPad)
- Tudományos Pandémia Klub
- További aktív témák...
- Jura Impressa S90 Automata kávégép 6 hónap Garancia Beszámítás Házhozszállítás
- Eladó egy pixel 7
- HIBÁTLAN iPhone 12 Mini 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3633
- BESZÁMÍTÁS! Asus Z790 i9 14900K 32GB DDR4 1TB SSD RTX 2080Ti 11GB Montech Air 1000 Lite 700W
- Apple iPhone 12 / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku:86%
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


