plik txt i linijki

0

Jako ze jestem tu nowy witam wszytich Forumowiczow i do razu zadaje pytanie :) Mam plik data.txt w ktorym text ulozony jest w nastepujacy sposob:

wyraz1 wyraz2 wyraz3 wyraz4 itd.

chcialbym aby po klinkeicu na button plik ten, a raczej dane tego pliku, byly zapisane tak:
wyraz1
wyraz2
..
.. itd jeden pod drugim, tzn zeby w miejscu kazdej spacji program dawal entera.. wie ktos moze jak to zrobic? Z gory dziekuje za ewentualna pomoc :). Pozdrawiam... Chaves

0

var plik : textfile;
s : string;
begin
assignfile(plik,plik);
reset(plik);
readln(plik,s);
for i := 0 to length(s) do
if s[i]=#32 then s[i]:=#13;
//dopisane
CloseFile(plik);
end;

0

niestety podany sposob nie dziala... :(

0

To na końcu daj CloseFile(File) i będzie działać :-)

0

tylko co dzieje sie z zawartoscia s`a ? jest jeszcze inna metoda
zamiast tej pętelki mozna zastosować
var
s := string;
s2 :=TStirngs;

ExtractStrings([' '],[],s,s2);

0

Proszę państwa!! Ładnie stringa zmieniacie, ale go wcale nie zapisujecie z powrotem do pliku.

var
Plik1, Plik2: TextFile;
z: char;
begin
AssignFile(Plik1, NazwaPliku);
Reset(Plik1);
AssignFile(Plik2, NazwaPliku+.tmp);
Rewrite(Plik2);
while not Eof(Plik1) do
begin
Read(Plik1, z);
if z=#32 then
Write(Plik2, '#10#13')
else
Write(Plik2, z);
end;
CloseFile(Plik1);
CloseFile(Plik2);
Erase(Plik1);
Rename(Plik2, NazwaPliku);
end;

Tu oczywiście jest odczyt znak po znaku. Odczytując całą linijkę pójdzie szybciej.

0

Ale ze mnie młot [wstyd] [glowa] !!

Nie tylko było potrzebne closefile ale i Writeln [wstyd]

1 użytkowników online, w tym zalogowanych: 0, gości: 1