[PASCAL]- plik tesktowy(Proszę o pomoc)


(Mateusz Antoniewski) #1

W pliku tekstowym Z:\lista_u.txt zapisane są dane osobowe w taki sposób, że informacje o jednej osobie zajmują cztery wiersze:

Nowak Antoni

01

01

1985

Mam napisać program, który tworzy plik tekstowy nowa.txt, gdzie informacje o jednej osobie umieszczone sa w jednym wierszu: Nowak Antoni 01-01-1985. Nazwisko i imię oddzielone jest od daty urodzenia znakiem tabulacji, jest to znak o kodzie #9. Napisałem taki program i wygląda na to, że właściwie pobiera dane ale w ogóle nie tworzy pliku tekstowego. Proszę o pomoc. Oto kod:

Program PlikTekstowy;


Uses Crt;


Type

 t=array[1..4] of string;


Var

 plik_1: text;

 plik_2: text;

 linia: t;



Procedure Start;


Begin

 ClrScr;

 writeln('Program zapisuje informacje o jednej osobie w 1 wierszu.');

End;


Procedure Odczytaj(var plik1: text; var linia: t );


Var

 i: byte;


Begin

 assign(plik_1, 'C:\lekcje\lista_u.txt');

 reset(plik_1);

 i:=1;

 Repeat

  readln(plik_1, linia[i]);

  inc(i);

 Until EOF(plik_1);

 close(plik_1);

 delay(1000);

 writeln;

 writeln('Pomyslnie odczytano dane z pliku!');

End;


Procedure ZapiszWjednejLinijce(var plik_2: text; linia: t);


Begin

 assign(plik_2, 'nowa.txt');

 rewrite(plik_2);

 write(plik_2, linia[1],Chr(9),linia[2],'-',linia[3],'-',linia[4]);

 close(plik_2);

 delay(1000);

 writeln;

 writeln('Pomyslnie zapisano dane do pliku!');

End;


Begin

 Start;

 Odczytaj(plik_1, linia);

 ZapiszWjednejLinijce(plik_2, linia);

 delay(1000);

 writeln;

 writeln('Aby zakonczyc prace programu nacisnij dowolny klawisz...');

 readkey;

End.

-- Dodane 08.06.2011 (Śr) 21:29 --

Wszystko już działa. Nie wiem co się stało ale Pascal strzelił focha i nie tworzył w ogóle pliku tekstowego :confused: Trochę zmodyfikowałem program i śmiga temat uważam za zamknięty :smiley:

-- Dodane 01.07.2011 (Pt) 0:17 --

Temat uważam za zamknięty!