Zápis riadku na zaciatok TXT súboru – Delphi – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zápis riadku na zaciatok TXT súboru – Delphi – Fórum – Programujte.comZápis riadku na zaciatok TXT súboru – Delphi – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Greno0
Newbie
28. 11. 2013   #1
-
0
-

Ahoj,

na úvod chcem poznamenať, že nie som programátor.

Chcem sa len spýtať, ako nižšie uvedenú vec riešia programátori.


Mám textový súbor, do ktorého potrebujem zapisovať dáta formou pridavanim riadku.

Priklad:

23-11-2013    08:42        23        -1,2        5,2
22-11-2013    08:00        22        -1,4        5,1
21-11-2013    07:56        21        -1,9        5,0
20-11-2013    09:01        23        -0,5        5,2


(Jedná sa o zapisovanie teploty, vnútorná - vonkajšia - pivnica)


Nový záznam potrebujem zapisovať na začiatok súboru!

Problém je vo f-cii Rewrite(t), ktorá najskôr zmaže obsah súboru.

Je "kóšer" riešením vytvoriť dočasný txt súbor, zapísať najnovší riadok,
otvoriť pôvodný súbor (archiv.txt)s hodnotami na čítanie, po riadkoch načítať a

zapísať všetky riadky, uložiť dočasný súbor, otvoriť archiv.txt na zápis a po riadkoch
zapísať všetky riadky z dočasného súboru do archi.txt, uložiť a dočasný súbor zmazať?

Alebo to ide aj nejak inak, lahsie, krajšie a cistejšie ...?

Prípadne ako načítať celý súbor archiv.txt do jednej premennej ... ale čo to bude
robiť, keď bude archiv.txt príliš veľký ....

Za každé vysvetlenie ďakujem, Greno

- - - - - - - - - - - - - - - - - -
Kdo si hraje, ten nezlobí

Nahlásit jako SPAM
IP: 91.127.61.–
liborb
~ Redaktor
+18
Guru
28. 11. 2013   #2
-
0
-

Přidávat na začátek souboru nejde. Napsal si vlastně obě varianty. Buď si zjistíš délku souboru, načteš ho celý do pole a následně vytvoříš nový, kde nejprve zapíšeš nový řádek a pak načtené pole. Nebo druhá varianta, jen stačí vytvořit dočasný soubor, zapsat do něj nový řádek a pak celý archiv.txt, no a následně přejmenovat (přesunout) dočasný soubor na archiv.txt (s potvrzením přepsání).

Nahlásit jako SPAM
IP: 188.75.135.–
Greno0
Newbie
28. 11. 2013   #3
-
0
-

Ďakujem za odpoveď, G.

Nahlásit jako SPAM
IP: 91.127.61.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 21 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý