Autor Wiadomość
isar
PostWysłany: Wto 19:41, 02 Wrz 2008    Temat postu: Rekordy

rekordy, co to takiego? otoz ku zdziwieniu(tych 'tępszych', bo ci normalniejsi pamietaja;P) nie bedziemy bic rekordow guinessa etc.

jezeli chcemy zapisac np 10osob, wraz z ich numerami telefonow, mozemy uzyc 20zmiennych co jest raczej zlym pomyslem, lub
tablicy, ale to tez bedzie klopotliwe, najprostrzym sposobem bedzie rekord

definiuje sie go tak:

Var

nazwa_bazy : record {TU NIE MA SREDNIKA}
zmienne uzywane w bazie;
end;

do poszczególnych elementow bazy odwolujemy sie w ten sposob:
nazwa_bazy.nazwa_zmiennej_uzytej_w_bazie
czyli np
baza.numer:=111222333


no to teraz program:
(zapewne sie 'rozjechal' bo na fora.pl teoretycznie "niepotrzebne" spacje sa usuwane...)

program Baza_Danych;
uses crt;
var
tmp,tmp2: integer;

{BAZA}
BAZA : record
imie : array [1..30] of string ;
nr : array [1..30] of longint ;
end;

{PLIKI}
f :text;
begin
writeln('ilu uczniow chcesz dopisac??');
readln(tmp2);

{$-----------OBSLUGA-BAZY-DANYCH---------------}
{$} for tmp:=1 to tmp2 do {$}
{$} begin {$}
{$} writeln('podaj imie nr: ',tmp); {$}
{$} readln(baza.imie[tmp]); {$}
{$} clrscr; {$}
{$} writeln('podaj nr tel. ucznia: ',tmp); {$}
{$} readln(baza.nr[tmp]); {$}
{$} clrscr {$}
{$} end; {$}
{$---------------------------------------------}

writeln;
writeln(' DANE WPROWADZONE ');
writeln('dane zostana wyprowadzone: ');

{$--------------wypisywanie-zawratosci------------}
{$} for tmp:=1 to tmp2 do {$}
{$} begin {$}
{$} writeln('IMIE: ' ,baza.imie[tmp]); {$}
{$} writeln('NR UCZNIA: ' ,baza.nr[tmp]); {$}
{$} writeln; {$}
{$} end; {$}
{$------------------------------------------------}

{$-------wpisywanie-do-pliku---------}
{$} {$}
{$} assign(f,'BAZA Danych.TXT'); {$}
{$} rewrite(f); {$}
{$} for tmp:=1 to tmp do {$}
{$} begin {$}
{$} writeln(f,baza.imie[tmp]); {$}
{$} writeln(f,baza.nr[tmp]); {$}
{$} end; {$}
{$} close(f); {$}
{$-----------------------------------}

readln;
end.

to teraz po krotce,

czesc zatytulowana "obsluga bazy danych":

wyswietla "podaj imie numer"... po ten numer zebysmy wiedzieli ile juz wprowadzilismy ludzi(przy 20 mozna sie pogubic..)
i zapisuje imie delikwenta do jednej ze zmiennych bazy poprzez readln(baza.imie[tmp])
pozniej to samo z numerem telefonu.


wypisywanie zawartosci:
tutaj wypiszemy wszystkich ludzi ktorych wprowadzilismy wczesniej.
writeln(baza.imie[tmp] < w ramach przypomnienia imie[tmp] jest to odnosnik do tablicy imie, i do elementu tablicy numer [tmp].

i na koncu writeln; robiacy 1linie odstepu pomiedzy ludzmi.

i ostatnia czesc "wpisywanie do pliku"
nic prostrzego, skojarzamy BAZA danych.txt ze zmienna F(assign)
otwieramy plik(rewrite)
pozniej petla(tego tlumaczyc chyba nie musze..)
i zapisywanie calej bazy do pliku.
zamkniecie pliku(close<tez tlumaczyc nie musze bo bylo w "poscie pliki")

wszystko jest ladnie poustawiane i otoczone ramka dla lepszego rozeznania w programie(przy dluzszychb programach to raczej nie ma sensu lepiej robic wciecia.)

a normalnie w pascalu wyglada to tak:
przyokazji jako ciekawostke zobaczcie jakosc kolorow na zdjeciu zapisanym w formacie jpg. a u was na monitorze... jaki "syf"(wybaczcie za wyrazenie) to jpg;P

Powered by phpBB © 2001, 2005 phpBB Group