Schimbarea anumite linii într-un fișier txt.
Am nevoie pentru a schimba o linie într-un fișier text, numai eu nu înțeleg cum se face! Cum să completați un nou fișier, știu cum să adăugați la un existent prea clar:
# XA0; assignFile (varFile, fileReport);
# XA0, dacă nu FileExists (fileReport) atunci
# XA0; # XA0; rescriere (varFile)
# XA0; altcineva
# XA0; # XA0; Append (varFile);
# XA0; # XA0;.
# XA0; writeln (varFile, str);
O schimbare ca într-un fișier existent, cum ar fi cea de a doua linie.
Multumesc anticipat.
Pentru un fișier relativ mic:
cu TStringList.Create;
încerca
# XA0; LoadFromFile (fileReport);
# XA0; Strings [1]: = „New doilea rând conținut„;
# XA0; SaveToFile (fileReport);
în cele din urmă
# XA0; gratuit;
se încheie;
var
# XA0; someStringList. TStringList;
începe
someStringList: = TStringList.Create;
someStringList.LoadFromFile (fileReport);
someStringList [<номер строки>]: = „Noul conținut de n-lea rând„;
someStringList.SaveToFile (fileReport);
someStringList.Free;
se încheie;
> Deci, ai un fișier de 350 MB.
Text D :?
Ai ceva jenant?
Am nevoie pentru a schimba o linie într-un fișier text, numai eu nu înțeleg cum se face! Cum să completați un nou fișier, știu cum să adăugați la un existent prea clar:
răspundă:
la urma urmei, sistemele de fișiere standard nu permit dimensiunea fișierului a scăzut în număr, fără suprascrierea, puteți face fără a rescrie numai în două cazuri, în cazul în care noua doua linie este mai mică sau egală cu valoarea de caractere vechi.
în cazul în care fișierul este într-o astfel de Makarov
var
# XA0; FileNameRead. Textfile; // read-only otkryvaesh
# XA0; F. fișier de octet; // permis FileName. fişier; în anumite directive Campiglio
fișier batch otkryvesh reset (f); // fără parametri
într-un prim exemplu de realizare a unui fișier număr schityvaesh deschis de caractere de a doua linie, obrabatyvaesh mod linie sluyuschim:
Readln (F, S); am citit linia
presupunem că 1 linie = „puzzle-uri“, al doilea = „111“
zabivaesh de o nouă linie, dobavlyaesh # 10, # 13, și zerourile de repaus zabivaesh sau FF. Ie-am transformat locul, fără a deranja structura șirului rezultat de forma S = „111“ # 10 # + 13 # 0 # 0. Apoi, scrie într-un fișier.
cauta () - vystavlyaesh poziția de start din al doilea rând, în formă de realizare, octetul
Pentru I: = 1 până la Lungime (S) do
începe
# XA0; B: = Ord (S [I]); // B. Byte
# XA0; scrie (F, B);
End;
nu uita după a doua copie a publicului # XA0; închideți fișierul FileClose (F); Un alt avantaj foarte mare, nu este necesar de fiecare dată după schimbarea liniilor de citire-re de la începutul fișierului, oricum izmenyaetsya.
Vor fi ceva de neînțeles pishy în e-mail, și am de călătorie la site-ul. Respectul Deși site-ul a văzut o mulțime de acești maeștri și soluții interesante pot zaregalsya
> Ai confunda ceva?
Baza de date într-un fișier text - un Mauvais ton clar. arhive de fișiere - de asemenea. Deci, în cazul în care sunt acești monștri (brrrr.) Apar? Ceva nu-mi pot imagina. Război și pace, și că, într-un cuplu de megabytes de text și apoi upishetsya.
> Război și pace și că, într-un cuplu de megabytes de text și apoi upishetsya.
Deci, „Război și pace“ de 150 de ori copiat și întrebarea vstavleno.Voznikaet dragei Anatoli, în cazul în care astfel de fișiere (350 MB) deschis?
Jurnale de server proxy jurnal de acces la serverul de web, etc.
Mărimea maximă a jurnalului a fost de 800 mb.
Deci, ce este în spatele acestor server de cristal clar proxy nu nirazu busteni decorticate, recomanda;)
> În cazul în care astfel de fișiere (350 MB) deschis?
totalovsky ListVyuer deschide fișiere de orice dimensiune - el le citește în bucăți mici. Hiew la fel ca faci. Ei bine, mult mai multe exemple.
> Ce este în spatele acestor cristal server proxy clar
> Nirazu busteni decojite, recomanda;)
Nu Tupi și tundă un prost.