Kezdőoldal » Számítástechnika » Programozás » Pascal fájlbeolvasás? (többi...

Pascal fájlbeolvasás? (többi lent)

Figyelt kérdés

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.



2016. márc. 13. 22:32
1 2
 11/16 anonim ***** válasza:
Véletlenül sem akarsz egy hangyaf#sznyit dolgozni sem vele, mi?
2016. márc. 14. 19:10
Hasznos számodra ez a válasz?
 12/16 A kérdező kommentje:
De igen, csak azt sem tudom, hogy kezdjek neki. Esetleg leírhatod ide rendesen magyarul is amit megpróbálok leprogramozni.
2016. márc. 14. 19:21
 13/16 SimkoL ***** válasza:

Nem olyan bonyolult, mindjárt megmutatom.

Max. karakterhossz 1 sorban 78 ??

2016. márc. 14. 19:26
Hasznos számodra ez a válasz?
 14/16 A kérdező kommentje:
Rendben van, igen pontosan.
2016. márc. 14. 19:26
 15/16 SimkoL ***** válasza:

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.

2016. márc. 14. 20:46
Hasznos számodra ez a válasz?
 16/16 A kérdező kommentje:
Nagyon szépen köszönöm, így már működik! :)
2016. márc. 14. 21:05
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!