Forum www.techinf1.fora.pl Strona Główna www.techinf1.fora.pl

 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Pliki-zapisywanie do pliku.

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.techinf1.fora.pl Strona Główna -> dla grupy 1
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
isar
Administrator


Dołączył: 03 Lut 2008
Posty: 28
Przeczytał: 0 tematów

Pomógł: 3 razy
Ostrzeżeń: 0/5
Skąd: z plyty cd

PostWysłany: Pon 20:05, 01 Wrz 2008    Temat postu: Pliki-zapisywanie do pliku.

podstawy, czyli znaczenie poszczegolnych slow kluczowych:

assign-skojarza nazwe pliku ze zmienna(szerzej za chwilke)
rewrite-otwiera calkiem nowy plik, jesli plik istnieje, to czysci jego zawartosc.
close- zamyka plik, bez tego zawartosc nie zostanie zapisana.
text-rodzaj zmiennej do deklaracji plikow

a wiec to samo tylko w praktyce:

program pliczki;(zapisywanie do pliku)

var
f : text;
nazwa:string;
begin
nazwa:='PLIK.txt'; {tutaj dowolna nazwa, .txt jest po to zeby program} {utworzyl plik notatnikowy}
assign(f,nazwa);{teraz odwolujac sie do zmiennej F, bedziemy korzystac} {z pliku ktory nosi nazwe plik.txt <zobacz nazwa:=...}
rewrite(f); {otwiera plik, uzylem F, bo wczesniej skojarzylem F z plik.txt}
writeln(f,'hello ');{writeln(f, <bedziemy wpisywac tekst ktory jest po przecinku(moze byc to zmienna) do pliku F}
close(f);{zamykamy plik}
end.

------------------------------------------------------------------------------------
zapytacie "co z odczytem?"
otoz jest to bardzo proste

while not eof(zmienna)do {dopoki nie koniec pliku, wtedy wykonaj. w miejsce zmienna wstawic nazwe zmiennej plikowej. np F}
begin
readLN(zmienna_plikowa,zmienna2);{np readln(f,l); F to zmienna
plikowa, w programie powyzej uzylismy tej zmiennej przy assign, l to
zmienna "string", do niej zapiszemy 1linie tekstu z pliku}
WriteLN(l); {wyswietlamy zawartosc zmiennej L, do wyswietlenia tego co zapisalismy w niej wczesniej}
end;

dlaczego "eof" ? prosta sprawa [e]nd [o]ff [f]ile czyli koniec pliku:)
a wiec 'dopoki nie koniec pliku" na polski-dopoki plik sie nie skonczy wykonaj:
<readln.>linie z pliku zapisz do zmiennej
<Writeln> wyswietl zawartosc zmiennej

to tak na chlopski rozum bylo


Post został pochwalony 0 razy

Ostatnio zmieniony przez isar dnia Wto 16:52, 02 Wrz 2008, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
isar
Administrator


Dołączył: 03 Lut 2008
Posty: 28
Przeczytał: 0 tematów

Pomógł: 3 razy
Ostrzeżeń: 0/5
Skąd: z plyty cd

PostWysłany: Wto 18:11, 02 Wrz 2008    Temat postu:

program pliczki;

var
f : text;
nazwa, L,tekst,wybor:string;



procedure zapis;
begin
rewrite(f);
writeln('wybrales zapis:');
writeln('podawaj to co mam wpisac do pliku,"koniec" konczy wpisywanie');
while tekst<>'koniec' do
begin
if tekst='koniec' then tekst:=''
readln(tekst);
writeln(f,tekst);
end;
end;

procedure odczyt;
begin
reset(f);
writeln('wyswietle teraz zawartosc folderu:');
while not eof(f)do
begin
readLN(f,l);
WriteLN(l);
end;
end;


begin
nazwa:='PLIK.txt';
assign(f,nazwa);
writeln('wpisz [z] jesli chcesz zapisac/ [o] jesli odczytac zawartosc pliku PLIK.txt');
readln(wybor);
if wybor='z' then zapis
else
if wybor='o' then odczyt;
readln;
close(f);
end.

dobra teraz czas na wyjasnienia, bede po koleji kazda z procedur wyjasnial, i program glowny, mam nadzieje ze zrobie to maksymalnie lopatologicznie;P


zmienne-co robia:

f- F od File czyli plik, pod ta zmienna program "Zna plik" czyli odwolujac
sie do [F], odwolujemy sie do pliku ktory "polaczylismy" z [F]
poprzez assign(f,pliktxt);

nazwa-zmienna do przechowywania nazwy pliku czyli "plik.txt" mozna
by dac w programie zeby uzytkownik sam wpisywal nazwe pliku
ale po co komplikowac-to tylko przyklad przeciez

L- l od "linia" uzyty w procedurze "odczyt", ta zmienna bedzie
odczytywala po 1lini z pliku, i posluzy do wswietlenia jej na ekranie.

tekst- uzyta w procedurze "Zapis", do niej zapisywany jest tekst podany
przez uzytkownika,i zawartosc tej zmiennej program zapisuje do
pliku.

wybor-uzyta tylko w programie glownym,do wyboru procedur zapis/odczyt

a teraz czas na procedury:

" ZAPIS "
znajduje sie tam rewrite(F), otoz, rewrite jest potrzebne tutaj do otwarcia nowego pliku, wiec w procedurze 'odczyt' nie mogl on wystepowac, bo tam musimy otworzyc wczesniej zrobiony plik.

petla while: tak dlugo az nie podamy "koniec" wpisuje do pliku dany tekst

if : gdyby go nie bylo,zawsze na koncu tekstu w pliku znajdowalo by sie slowo 'koniec', a tak wyzerowywuje zawartosc, i nie zapisuje nic.



" odczyt "
reset(f)-otwiera wczesniej utworzony plik.
i nizej wczesniej opisany 'while eof...'
[/list]


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.techinf1.fora.pl Strona Główna -> dla grupy 1 Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin