Pascal fájlbeolvasás? (többi lent)
Hali!
Nos, Free Pascalban kell írnom egy programot, szövegelemzőt, és elakadtam. Be kéne olvasnom a fájlt, ez megis van viszont már itt az első probléma, hogy nem az egészet olvassa be legalábbis ahogy látom. 4000 karakteres ékezetek nélküli TXT fájl, viszont csak kb. 256 karakter körül olvas be, vagy nem látom a másik felét mivel a görgetés még nincs megcsinálva. Nem azt kérem, hogy csináljátok meg helyettem, csak egy kicsit leírni valahogy, hogy kéne megoldani.
Tehát a feladat: beolvasni rendesen a szöveg fájlból + még sortörést rakni minden sor végére, viszont úgy törje meg hogy szóköznél. Előre is köszi,nagyon jó lenne ha valaki tudna segíteni,aki segít annak megy a zöld.
Nem olyan bonyolult, mindjárt megmutatom.
Max. karakterhossz 1 sorban 78 ??
StringList és Split sokkal szebb lett volna, ez kisipari :)
program project1;
{$mode objfpc}{$H+}
uses Crt, Classes, StrUtils;
var
f: Text;
s: string;
i: integer;
Data: array of string;
procedure FajlBeolvas;
var
subs, szo, tmp: string;
i: integer;
begin
Assign(f, 'szoveg1.txt');
{$I-}
Reset(f);
if (IOResult = 0) then
begin
while not (EOF(f)) do
begin
ReadLn(f, s);
subs := '';
tmp := '';
szo := '';
for i := 1 to Length(s) do
begin
szo := szo + s[i];
if s[i] = ' ' then
begin
tmp := tmp + szo;
if Length(tmp) < 78 then
begin
subs := subs + szo;
szo :='';
end
else
begin
SetLength(Data, Length(Data) + 1);
Data[Length(Data) - 1] := subs;
tmp := szo;
subs := szo;
szo :='';
end;
end;
end;
SetLength(Data, Length(Data) + 1);
Data[Length(Data) - 1] := subs + szo;
end;
end
else
WriteLn('Nem talalhato fajl');
Close(f);
{$I+}
end;
begin
FajlBeolvas;
for i := Low(Data) to High(Data) do
WriteLn(Data[i]);
ReadKey;
end.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!