[pascal] edycja plikow tekstowych

0

Mam takie 3 problemiki dotyczące edycji plików tekstowych ;p
Musze zrobic 3 procedury do modułu azle chodzi mi tylko o wygląd procedury ^^

1.multiwyrazy(n:byte; var we,wy:string);
procedura ma kopiować n razy kazdy wyraz z pliku tekstowego (we) do p.t.(wy)
{głowie się już nad tym troche czasu i sądze ze brak mi wiedzy o komendach w pascalu}

2.znak2string(z:char; napis:string; var we wy:string);
każdy znak "z" jest zastąpiony napisem napis

3.text2znaki(var we wy:string);
tworzy z pliku tekstowego plik jednorodny kopiując wszystkie znaki i zastępując znaki końca wiersza znakami pojedynczej spacji

Za pomoc będe bardzo wdzięczy. Pozdrawiam.

0

Ad 1
#13- to ENTER
#32-Spacja
Przeanalizuj!!!!!!!!! i odsyłam do kursu TP http://www.pascal.eu.org/index2.htm

Procedure Multiwyrazy (n:Integer;We,Wy:String);
var
Wejscie,Wyjscie:Text;
Znak:char;
I:Integer;
Wyraz :String;
begin
Wyraz:='';
Assign(Wejscie,We);
Reset(Wejscie);

Assign(Wyjscie,Wy);
Rewrite(Wyjscie);

repeat
read(Wejscie,Znak);
if Znak<>#32 then
Wyraz :=Wyraz+Znak
else begin
for i:=1 to n do
Write(Wyjscie,Wyraz+' ');
Wyraz:='';
end;


until Eof(Wejscie);
if Wyraz <>'' then
for i:=1 to n do
Write(Wyjscie,Wyraz+' ');

Close(Wejscie);
Close(Wyjscie);


end;

Ad 2

Procedure znak2string (z:char;Napis,We,Wy:String);
var
Wejscie,Wyjscie:Text;
Znak:char;
begin
Assign(Wejscie,We);
Reset(Wejscie);

Assign(Wyjscie,Wy);
Rewrite(Wyjscie);

repeat
read(Wejscie,Znak);
if Znak=z then
Write(Wyjscie,Napis) else
write(Wyjscie,Znak);

until Eof(Wejscie);
Close(Wejscie);
Close(Wyjscie);


end;

Ad 3


Procedure text2znaki (We,Wy:String);
var
Wejscie,Wyjscie:Text;
Znak:char;
begin
Assign(Wejscie,We);
Reset(Wejscie);

Assign(Wyjscie,Wy);
Rewrite(Wyjscie);

repeat
read(Wejscie,Znak);
if Znak=#13 then Znak:= #32;
write(Wyjscie,Znak);

until Eof(Wejscie);
Close(Wejscie);
Close(Wyjscie);


end;
0

Wielkie dzięki ! Przeanalizuje na 100% bo nawet nie wiesz jak jestem ciekawy jak to zrobiłeś chociaż po pierwszym spojrzeniu już chyba rozumiem ( przynajmniej ta pierwsza ;p ). Jeszcze raz dzięki, z chęcią postawił bym Ci 'symboliczne' piwo ;p jak by tylko się dało ;D.

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