Pascal: Hogyan lehet txt fájlból egy bizonyos pozíciótól átírni egy számot?
pl.: a txt 18.karakterétől kezdődően a 0056-ot behelyettesíteni(kitörölni és helyére írni) 0125-tel
a Seek parancsot ismerem, így be tudom állítani, hogy a 18. karaktertől a write-al kiírom a 0125-öt, de hogy törlöm ki a 0056-ot?
Szia.
Jó a tipusos fájl is (char vagy byte tipussal) és akkor használhatod a seek-et.
Hátránya, hogy csak 1 karakterenként tudod beolvasni/kiirni a dolgokat (ez modjuk nem igaz, blockread / blockwrite)
Sok sikert.
Üdv.
nekem működött file of longintnél, és nagyon érdekes, mert ahogy windows alatt megnyittam a .dat fájlt notepaddal egy csomó fura karakter volt benne, de egy másik programom visza tudta olvasni, tehát:
var f:file of longint;
assign(f,'proba.dat');
pl.:
seek(f,1)=1 234 567 890
seek(f,2)=2 345 678 901
Szia.
A lonfgintes filével az a probláma, hogy emberi mértékkel nem vagy csak nehezen értelmezhető (A longint tárolása 4 bájton történik, tehát egy longint kiirásakor 4 bájtot ir ki a gép a fájlban, mégpedig a logint tárolásának megfelelően - amit én nem tudok, hogy mit jelentenek az egyes bájtok)
Elvileg a tipusos fájl minden féle számnál működik (még realnál is)
Ha viszont TXT fájlban szeretnél módositásokat végezni, és azt szeretnéd, hogy továbbra is emberek számára is értelmezhető (olvasható) legyen, azt csak char vagy byte tipussal lehet megoldani.
Sok sikert.
Üdv.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!