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
 1/16 anonim ***** válasza:
2016. márc. 13. 22:33
Hasznos számodra ez a válasz?
 2/16 SimkoL ***** válasza:
100%
{$H+} így engedi a 255 karakternél hosszabb stringet.
2016. márc. 13. 22:39
Hasznos számodra ez a válasz?
 3/16 A kérdező kommentje:

Első: kószi, de mindent végig böngéztem,de eggyik se ugy ment ahogy kéne, ezért kérdeztem itt.

2#: Köszi délután megpróbálom :)

2016. márc. 14. 06:18
 4/16 SimkoL ***** válasza:
Szólj ha nem megy, esetleg töltsd fel valahová a txt-t. Kismillió megoldás létezhet. Kezelheted egy string-ként, StringList-ben...
2016. márc. 14. 13:01
Hasznos számodra ez a válasz?
 5/16 A kérdező kommentje:

Próbáltam, de úgy sem olvassa be. Ugyanúgy nem olvassa be az egész fájlt. Nagyon jó lenne ha valaki tudna segíteni, mivel vasárnapig kész kell legyek vele, és ezen kívül még van más feladat is, viszont azt már könnyebb lesz megcsinálni.


Feltöltöttem a pascal fájlt + amit be kell olvasni, nagyon megköszönömm ha valaki tudna benne segíteni,előre is köszi!


[link]

2016. márc. 14. 13:53
 6/16 SimkoL ***** válasza:

program project1;


{$mode objfpc}{$H+}


uses Crt, Classes;


var

f: Text;

s: string;

Data: string;


procedure FajlBeolvas;

begin

Assign(f, 'szoveg1.txt');

{$I-}

Reset(f);

if (IOResult = 0) then

begin

while not (EOF(f)) do

begin

ReadLn(f, s);

Data := Data + s;

end;

end

else

WriteLn('Nem talalhato fajl');

Close(f);

{$I+}

end;


begin

ClrScr;

FajlBeolvas;

WriteLn(Data);

ReadKey;

end.


A Data stringben van a szöveged. Jó így vagy 'b' terv ?

2016. márc. 14. 15:22
Hasznos számodra ez a válasz?
 7/16 SimkoL ***** válasza:

'B' terv:


program project1;


{$mode objfpc}{$H+}


uses Crt, Classes;


var

f: Text;

s: string;

i : integer;

Data: array of string;


procedure FajlBeolvas;

begin

Assign(f, 'szoveg1.txt');

{$I-}

Reset(f);

if (IOResult = 0) then

begin

while not (EOF(f)) do

begin

ReadLn(f, s);

SetLength(Data, Length(Data) + 1);

Data[Length(Data) - 1] := s;

end;

end

else

WriteLn('Nem talalhato fajl');

Close(f);

{$I+}

end;


begin

ClrScr;

FajlBeolvas;

for i := Low(Data) to High(Data) do

WriteLn(Data[i]);

ReadKey;

end.

2016. márc. 14. 15:32
Hasznos számodra ez a válasz?
 8/16 SimkoL ***** válasza:

'C' terv:


program project1;


{$mode objfpc}{$H+}


uses Crt, Classes, Sysutils;


var

myData : TStringList;

i : integer;


function FajlBeolvas(myFile : string) : Boolean;

begin

FajlBeolvas := True;

if not FileExists(myFile) then

begin

WriteLn('A file nem található!');

FajlBeolvas := False;

ReadLn;

Exit;

end;

myData := TStringList.Create;

try

myData.LoadFromFile(myFile);

except

On E : EInOutError do

begin

WriteLn('File olvasási hiba: ' + E.Message);

FajlBeolvas := False;

ReadLn;

end;

end;

end;


begin

ClrScr;

if FajlBeolvas('szoveg1.txt') then for i := 0 to myData.count - 1 do WriteLn(myData.Strings[i]);

myData.Free;

Readln;

end.


Talán ennyiből már megy :)

2016. márc. 14. 15:52
Hasznos számodra ez a válasz?
 9/16 A kérdező kommentje:
Nagyon szépen köszönöm ment a zöld! :) Bár egy kicsit kéne rajta javítani, annyi lenne még, hogy meg kéne törni a sort, ott amikor vége van a sornak viszont vagy szóköz után vagy előtt tehát ne a szót törje meg. Illetve azt hiszem jobb lenne úgy megoldani, hogy karakterenként olvassa be a szöveget, meglehetne úgy ? Elképzelésem meg van, csak nem nagyon tudom megvalósítani. For ciklussal végig mennék karakterenként és úgy kéne, hogy beolvassam, így sortörés is jobban megoldható lenne, nem ?
2016. márc. 14. 19:02
 10/16 A kérdező kommentje:
Annyit elfelejtettem, hogy a "B" terv működik eddig a legjobban.
2016. márc. 14. 19:04
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!