Popular Post Quiter 99 Odesláno: 10. Únor, 2021 Popular Post Share Odesláno: 10. Únor, 2021 Ahojte. Na základe nedávneho príspevku som sa rozhodol spraviť include na čítanie a zápis dát. Tento include vyžaduje mať nainštalovaný plugin PawnPlus <- LINK Prečo? V scripte sú použité utriedené mapy pre optimalizáciu hľadania údajov. Prejdeme teda na použitie. Toto vložíme na začiatok vášho GM - načíta tento include do vášho GM #include <fSystem> Takto otvoríme súbor: Obsah súboru sa uloží do pamäte a je možné ho modifikovať až do doby, než súbor zatvoríte. V prípade že súbor neexistuje, vytvorí sa. new subor = DataOpen("test.txt"); // trva asi 700 tickov ak je v subore 100 000 dat // new subor obsahuje identifikator nasho suboru ktory sa pouziva vo funkciach Uložíme dáta do súboru: Maximálna dĺžka kľúča je 24. Dáta sa neuložia hneď, ukladajú sa až pri zatvorení súboru. Dáta sú ihneď dostupne, nie je potrebne zatvárať súbor, avšak bez zatvorenia súboru sa dáta neuložia! // pre demonstraciu sa ulozi 100 000 dat do suboru - pri testoch cca do 250 tickov (GetTickCount) new kluc[25]; for (new i = 0; i < 100000; ++i) { format(kluc, sizeof(kluc), "riadok%d", i); DataSetS(subor, kluc, "ahoj"); // ulozi string/array // DataSet -> ulozi integer (new) // DataSetF -> ulozi float } // kluc -> kluc pod ktorym sa ulozia nase data "ahoj" Načítame dáta zo súboru: Maximálna dĺžka kľúča je 24. // pre demonstraciu precitame 100 000 udajov, trvanie asi 150 tickov new kluc[25]; for (new i = 0; i < 100000; ++i) { format(kluc, sizeof(txt), "riadok%d", i); DataGetS(subor, kluc)); // nacita string/array // DataGet(subor, kluc) -> nacita integer // DataGetF(subor, kluc) -> nacita float if (i % 1000 == 0) { printf("%d -> %s", i, DataGetS(tst, txt)); } } Zatvoríme súbor: Pri zatvorení súboru sa ukladajú dáta do súboru. DataClose(subor); Ak chceme zatvoriť všetky súbory: DataCloseAll(); Na záver by som chcel požiadať o spätnú väzbu, či už kladnú alebo nie, vždy však poprosím aj nejaký popis. Poznámka: Odporúčam použiť novšiu verziu prekladača (napr. 3.10.0.0) fSystem.inc 2 4 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now