Odczyt

0

Mam jedno malutkie pytanie mam nadzieje ze bedzie ktos w stanie mi na nie odpowiedziec i pomóc . A mianowicie mam problem bo potrzebuje zrobic w mojim programie odczyt ale nie całego pliku lecz pierwszych 5 liniej . Nastepnie zebym mugł odczytac z tego samego pliku kolejne 5 linijek . Jak to zrobic ludzie pomużcie początkującemu programiście . Za pomoc z góry dziękuje

[???]
NR GG# 2825206
[email protected]

0

Może jak już otworzysz plik stwórz zmienną Integer i przed odczytem nadaj jej wartość 0. Następnie w pętli repeat kolejno zwiększaj zmienną Integer i odczytuj linie pliku. Pętlę zakończ gdy zmienna Integer będzie miała wartość 5, np:

var
I: Integer;
Plik: TextFile;
str: string; {tu będą umieszczone linie}
...
I := 0
repeat
Inc(I);
readLN(Plik, str);
{to co chcesz zrobić z tym stringiem}
...
until I=5;

...

Potem czytasz tak samo, tyle, że pętlę przerywasz gry zmienna I będzie miała wartość 10, 15, 20...

U mnie tak działa, ale poczekaj, a za chwilę pojawią się inne, może łatwiejsze odpowiedzi...

0

Może tak:

[code]var
t : TextFile;
s1, s2, s3, s4, s5:string;
begin
AssignFile(T, 'C:\plik.txt');
Reset(T);
Readln(T, s1);
Readln(T, s2);
Readln(T, s3);
Readln(T, s4);
Readln(T, s5);
CloseFile(T);
end;[/code]

Oczywiście jest to tylko najbardziej prymitywne rozwiązanie jakie tylko może być... ale działa. W ten sposób w kolejnych zmiennych: s1, s2, s3, s4, s5 masz kolejne linie z pliku tekstowego. Zamiast takiego rozwiązania proponuje użycie tablic.

<font color="blue">DOPISANE: jak edytowałem ten post to nie było w/w odpowiedzi. :-/ </span>

0

Z t: textfile; ię zgadzam, ale zmienne s1,s2,s3,s4,s5 powinny być stringiem, a więc:

var
T: TextFile;
s1, s2, s3, s4, s5: String;

0

TERAZ MYSLE KTURY SPOSUB LEPSZY I ŁATWIEJSZY POCZEKAM MOZE BEDĄ JESZCZE INNE FAJNE ODPOWIEDZI [browar] [browar] [browar]

0

Nie prubój powiedzieć, że te są trudne :-0 . Oba są dobre, tylko, że jeżeli chcesz moim sposobem to operacje na danej lini musisz wykonać przed odczytem kolejnej lini, a u .. możesz od razu po odczycie.
Napisz konkretnie co chcesz zrobić z tymi liniami.

0

PRAWDA OBY DWA SPOSOBY SA ŁATWE I PRZYJEMNE DO WYKONANIA CHODZI O TO ZE NIE MOGE SIE ZDECYDOWAC KTURY MI SIE PRZYDA BARDZIEJ W PROGRAMIE A WLASCIWIE QUIZIE D [hurra]

0

Ja w moim programie (Anagram) robiłem tak:

var
Plik: TextFile;
Haslo: string;

...

AssignFile(Plik, 'hasła.txt');
Reset(Plik);
repeat {powtarzaj...}
ReadN(Plik, Haslo); {Odczytuje prawdziwe haslo z pliku}
{procedura operująca na haśle, mieszająca litery}
{procedura wyświetlająca pomieszane hasło i czekające na reakcję użytkownika}
until eof(Plik); {...dopóki nie nastąpi koniec pliku}
CloseFile(Plik);

...

Questions? Mail me: [email protected]

0

Zaczełem intensywnie myślec i doSZEDŁem do wniosku że połonczenie tych dwóch sposobów będzie najlepszym możliwym rozwiązaniem mam nadzieję że to mi sie uda . Nie wątpie w to dzięki za odpowiedzi i prosze jak ktos wymysli cos lepszego niech napisze każdy sposub jeest ważny

[stuk] [stuk] GG NR #2825206
[browar] [browar] [email protected]

1 użytkowników online, w tym zalogowanych: 0, gości: 1