- Hetekig bírják töltő nélkül a Huawei sportórái
- Apple Watch Sport - ez is csak egy okosóra
- Apple iPhone 13 mini - miért nem veszik elegen?
- iPhone topik
- Milyen okostelefont vegyek?
- Samsung Galaxy A56 - megbízható középszerűség
- Apple Watch Ultra - első nekifutás
- Yettel topik
- Telekom mobilszolgáltatások
- Képeken a Huawei új Watch GT 6 órái
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sellerbuyer: Egy teljesen új platformot kapunk! Új korszak kezdődik?
- intecpc: Hogyan készítsük fel a számítógépünket a Windows 11-re? – Lépésről lépésre
- aquark: Jó platformer játékokat keresek!
- Geri Bátyó: Agglegénykonyha 5 – Edények és konyhai eszközök
Ú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
- Háztartási gépek
- Hetekig bírják töltő nélkül a Huawei sportórái
- Witcher topik
- Microsoft Powerpoint topic
- exHWSW - Értünk mindenhez IS
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Otthoni hálózat és internet megosztás
- sellerbuyer: Egy teljesen új platformot kapunk! Új korszak kezdődik?
- Kertészet, mezőgazdaság topik
- Nők, nőügyek (18+)
- További aktív témák...
- Eladó Msi Rtx Suprimx 4080 vga, gari 25.12.27ig
- ASUS TUF gamer laptop Ryzen 7 3750H, GTX 1660 Ti, szép állapotban
- (ÁRCSÖKKENÉS) Eladó Meta Quest Pro 256GB VR szemüveg Szinte teljesen új állapotban
- Oura Ring 4 Gold, Rose Gold (8,10-es méret) ÚJ ÁRA - 235.000 Ft
- Eladó: Teljesen Új Ooni Koda 2 Max Gázüzemű Pizzakemence Bontatlan, Gyári csomagolásban!
- Samsung Galaxy S24+ / GyáriFüggyetlen / 12/256GB / 12Hó Garancia
- Samsung Galaxy S22 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2998, 100% Akksi
- HIBÁTLAN iPhone 14 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3527, 94% Akkumulátor
- Apple iPhone 15 Pro max 255GB,Kábel,12 hónap garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest