Stránka 1 z 1

Pascal a čtení ze souboru

Napsal: úte 24. kvě 2005, 13:57
od HADES
Zkuste mi poradit, jak udělat následující:
potřebuju načíst soubor input.txt do proměnné text (string).
jak to mám udělat?
toto je můj dosavadní počin:

Kód: Vybrat vše

procedure nacteni_ze_souboru (var text:string);
var input: file of char;
    znak: char;
    delka_zdroje, counter: integer;

begin
assign (input, 'c:\input.txt');
reset(input);
delka_zdroje:=filesize(input);
for counter:=1 to delka_zdroje do

	begin
  		read (input,text[counter]);
	end;
        close(input);
end; 

Napsal: úte 24. kvě 2005, 17:00
od pavel.minarik
vykašli se na file of char a zkus proměnnou typu text, pak Ti bude fungovat Readln, Writeln apod.

Napsal: úte 24. kvě 2005, 17:27
od HADES
a jak to udělat?

Napsal: úte 24. kvě 2005, 19:06
od pavel.minarik
HADES píše:a jak to udělat?
si děláš prdel ne :o úplně stejně jako s file of char, v pascalu jsem nepogramoval už cirka 7 let, ale je to takhle:

Kód: Vybrat vše

program Cosi;
var T: Text;
    S: String;
begin
  Assign(T, 'soubor.txt'); //jakej soubor
  Reset(T);  //otevrit
  Readln(T, S); //nactu prvni radek toho souboru
  Writeln(S); //a vypisu ho na standardni vystup - obrazovku
  Close(T); //soubor zavru
end.

Napsal: úte 24. kvě 2005, 19:21
od HADES
ale já ho nechci vypisovat na obrazovku ale nacpat ho do stringu

Napsal: úte 24. kvě 2005, 21:57
od Dony
ty si fakt delas prdel :D mas to v tom kodu od P.M. Readln(T, S) ti nacte radek do promenne S, takze pokud bude soubor jednoradkovy, mas to.
Pokud bude v souboru vic radku, budes to muset nejak upravit, uz si nepamatuju jak pascal zachazi s retezcem, ale myslim, ze CR LF retezec ukoncuje. Podivej se v Borland Pascalu do helpu :wink:

Napsal: stř 25. kvě 2005, 08:08
od HADES
Dony píše:ty si fakt delas prdel :D mas to v tom kodu od P.M. Readln(T, S) ti nacte radek do promenne S, takze pokud bude soubor jednoradkovy, mas to.
Pokud bude v souboru vic radku, budes to muset nejak upravit, uz si nepamatuju jak pascal zachazi s retezcem, ale myslim, ze CR LF retezec ukoncuje. Podivej se v Borland Pascalu do helpu :wink:
Taky jsem v pascalu nedělal už 5 let, ale už sem to nějak pochopil:) Tak díky za help