Aktív témák
-
KovacsUr
addikt
A c:= felesleges, ha bekapcsolod az extended syntax (bővített szintakszis) fordítási direktívát: {$X+}
A readkey visszatérési értékére nincs szükségünk, úgyhogy felesleges is eltárolni.
(Mivel a TP fordítója is optimalizál, igaziból a kimenet szempontjából nem számít sokat a dolog. Kicsit tisztább a forráskód, ha nem mented el a felesleges visszatérési értéket.) -
Szenty
tag
Na, most jön egy kis szőrszálhasogatás :D.
[...]
if ioresult <> 0 then begin writeln('A file nem letezik'); c:=readkey; halt; end; {ha nincs ilyen
Itt elég lenne egy szipla readkey; is.
[...]
c:=readkey; {addig nem lepek ki, mig nem nyomtak meg semmit}
halt;
end.
Itt meg ha úgy is vége a programnak, nincs szükség halt-ra. :)
Üdv,
Szenty
u.i.: 1995 óta programozok Pascalban (autódidakta módon kezdtem), majd abból érettségiztem 2000-ben. Azóta is szeretem a Pascalt, néha még most is kódolgatok benne. (FreePascalban)
[Szerkesztve] -
b14
senior tag
Itt az elozo program beolvasasra kesz valtozata.
uses crt;
var
s:string;
c:char;
f:text;
begin
clrscr;
assign(f,'filename.kit'); {itt hozzárendelem a fizikai filehoz a logikai változót}
{$I-} {itt kikapcsolom a bemenet-kimenet ellenorzést}
reset(f); {olvasasra megynitom a filet, es az elejere teszem a file mutatojat}
{$I+}; {itt visszakapcsolom a bemenet-kimenet ellenorzést}
if ioresult <> 0 then begin writeln('A file nem letezik'); c:=readkey; halt; end; {ha nincs ilyen file akkor hibauzenet}
repeat
readln(f,s); {a filebol beolvas egy sort}
writeln(s); {kiirja a beolvasott sort}
until eof(f); {a file vegen hagyja abba}
close(f); {lezarom a filet}
c:=readkey; {addig nem lepek ki, mig nem nyomtak meg semmit}
halt;
end. -
b14
senior tag
Lehet, hogy abszolút hüleséget csinálok, de szerintem a programnak, ami beolvas és fileba ír így néz ki:
uses crt;
var
s:string;
f:text;
begin
clrscr;
assign(f,'fileneame.kit'); {itt hozzárendelem a fizikai filehoz a logikai változót}
{$I-} {itt kikapcsolom a bemenet-kimenet ellenőrzést}
append(f); {irasra megnyitom a filet es a fie vegere teszem a file mutatojat}
{$I+}; {itt visszakapcsolom a bemenet-kimenet ellenőrzést}
if ioresult <> 0 then rewrite(f); {ha nem létezik a file, akkor új, üres filet hozok létre}
repeat
c:=readkey; {a billentyűetről karaktert vár}
if ord(c) <> 27 then write(f,c); {ha nem escet nyomtak le akkor a fileba irja a leütött karaktert}
until ord(c) = 27; {esc - nel abbhagyja a bekerest}
close(f); {lezarom a filet}
c:=readkey; {addig nem lepek ki, mig nem nyomtak meg semmit}
halt;
end. -
KovacsUr
addikt
válasz
centauri99 #12 üzenetére
Jól deklarálta, ez egy szöveges fájl típusú változó, nem típus nélküli fájl.
[Szerk.]
A program többi része nem egészen azt csinálja, amire szánták, de ez már más kérdés. :) -
KovacsUr
addikt
Januári a topic, de köszönjük a témaindító nevében is ;)
-
űáélkM
tag
Én úgy tudom, Append kell a reszet helyett, de lehet, hogy csak íráshoz.
[Szerkesztve] -
Shub
csendes tag
Hi!
Én így csinálnám:
program FileBeolv;
uses Crt;
var sor:String; f:Text;
begin
Assign(f, 'd:ile.txt');
Reset(f);
ReadLn(sor);
WriteLn(sor); {Grafikus felületen ''OutText''}
end.
Ha több soros:
program FileBeolv;
uses Crt;
var sor:String; x, y:Integer; f:Text;
begin
Assign(f, 'd:ile.txt');
Reset(f);
x:=5;
y:=10;
Repeat
ReadLn(sor);
x:=x;
y:=y+2;
GotoXY(x, y);
WriteLn(sor);
Until KeyPressed;
end.
Talán így, de ez nem tuti.
Hali!
[Szerkesztve] -
The_Tom
senior tag
ugyan nagyon regen volt mar, de megprobalom felidezni: annyit csinal, hogy a megadott filet, karakterenkent beolvassa es kiirja a kepernyore.
uses crt;
var
f : text;
chp : char;
const
fnev ='filenev.txt';
begin
clrscr;
assign(f,fnev);
reset(f);
repeat
read(f,chp);
write(chp);
until eof(f);
readln;
end.
persze nem csak karakretenkent tudod kiolvasni, hanem amilyen darabonkent neked kell, asszem max 255 karakter, mert annyi egy string maximalis hossza, bar lehet hogy tudsz ennel nagyobbat definialni magadnak, ezt mar nemtom ennek nezz utana.
Üdv.
[Szerkesztve] -
salazol
őstag
Régen pascaloztam, de úgy rémlik, hogy mielőtt resetelnéd, előtte kell egy assign.
Assign(fajl,'fileneve.txt');
Ahol a fajl az általad deklarált változónév, amivel a progiban hivatkozol rá, a 'fileneve.txt' meg a fájl valódi neve a vinyón.
Remélem nem tévedek, régen volt.
[Szerkesztve] -
_az
senior tag
Mé? Nem teccett a neveee??? :DDD
Mellesleg... KÖSZIKEEE!!!!
Ilyesmit valahogy nem találtam a könyvben.
Na, majd még írok ha v.mi problemo van...
:C
Üdv! -
Divi
aktív tag
Ha jol emlekszek akkor lehet sorokat beolvastatni TXT fáljból.
Ha nem jól emlékszek akkor ez is hülyeség lesz. (Ha a sor hosszabb 255 karaternél akkor a sor vége lemarad)
...
Type
FileT = File Of TEXT;
Var
i: Integer;
fajl: FileT;
sor: String;
Begin
Reset(fajl)
While NOT (eof(fajl) do
Begin
Readln(fajl,sor)
{ Itt átmentheted a sor változót pl. egy vektorba. }
End;
Close(fajl);
End.
Feleősséget nem vállalok :)
... -
_az
senior tag
Üdv pubikáim, egy nagy kérdésem lenne a fent említett programmal...
Hogyan tudok pascalba beolvasni egy külső szöveget? Pl. egy *.txt fájlt??
A könyvemben csak annyit találtam, hogy ''ripít ... ántil end of fájl''. Ez most szép meg jó, de ezek szerint olyan okos, hogy azonnal kitalálja, melyik szöveget akarom alakítgatni? Help!
THX.
Aktív témák
- Dell Latitude 5320 -60% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i5-1145G7 8/256 FHD IRIS Xe
- Apple IPad pro 12.9 4th gen 256GB wifi+sim 97%-os Gyári akku
- PlayStation 5 (PS5.) SLIM 1TB. SSD. Digital Edition & Sony PlayStation VR2. Virtuális szemüveg.
- Dell Precision 3580 i7-1370P//32GB DDR5 RAM// 1TB SSD/ RTX A500
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730
- Creative Sound BlasterX G6 7.1 USB külső hangkártya (ELKELT)
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- LG 32SQ700S-W - 32" VA Smart - 3840x2160 4K UHD - 62Hz 5ms - WebOS - Wifi + BT - USB-C - Hangszórók
- Lenovo ThinkPad X270 (16) - i5-7300U, 16GB, 512GB SSD, 12" FULL HD (ELKELT)
Állásajánlatok
Cég: FOTC
Város: Budapest