Skocz do zawartości

Baza danych z odczytem z pliku FREE PASCAL


Recommended Posts

Witam, musze zrobic baze danych z odczytem z pliku w Pascalu na programowanie.

Baze juz zrobiłem ale nie wiem jak wcisnac odczyt z pliku. Jesli ktos wie jak to zrobic to prosze o pomoc, podaje kod:

 

program baza_danych;

uses crt;

type
baza = record

    imie            : string;
    zawod            :string;
    wiek            : integer;
    data_urodzenia  : integer;
    
    
end;

var
 Imie                         : array[1..7] of string;
 zaw                        : array[1..8] of string;
 dane                       : array[1..100] of baza;
 i,w,r,x,y,rok,rok2,x2,y2,fil    : integer;
 z,l,im                  : string;





 begin

 x:=5;
 y:=5;
 x2:=5;
 y2:=7;
 clrscr;

                 Imie[1]:='Piotr';
                 Imie[2]:='Andrzej';
                 Imie[3]:='Joanna';
                 Imie[4]:='Aleksandra';
                 Imie[5]:='Kunegunda';
                 Imie[6]:='Damian';
                 Imie[7]:='Elzbieta';
                
                 zaw[1]:='murarz';
                 zaw[2]:='informatyk';
                 zaw[3]:='blacharz';
                 zaw[4]:='ksiadz';
                 zaw[5]:='adwokat';
                 zaw[6]:='sedzia';
                 zaw[7]:='kasjer';
                 zaw[8]:='kierowca';
                
                
                
                
                
writeln('Wyswietlanie tabeli');

    for i:=1 to 15 do
        begin
        
        r:=random(100)+1900;
        dane .data_urodzenia:=r;
        
        w:=2014-r;
        dane .wiek:=w;
        
        l:=(Imie[random(5)+1]);
        dane .imie:= l;
        
        z:= (zaw[random(7)+1]);
        dane.zawod:= z;

        end;

        writeln('Jesli chcesz wyswietlic dane, wcisnij enter');
        readln;

    clrscr;

        gotoxy(x,y);
            Write('Nr');
            x:=x+5;
            gotoxy(x,y);
            Write('Imie');
            x:=x+12;
            gotoxy(x,y);
            Write('zawod');
            x:=x+15;
            gotoxy(x,y);
            write('Data Urodzenia');
            x:=x+18;
            gotoxy(x,y);
            write('Wiek');
            
            
for i:=1 to 15 do

    begin
            gotoxy(x2,y2);
            write(i);
            x2:=x2+5;
            gotoxy(x2,y2);
            write(dane.imie);
            x2:=x2+12;
            gotoxy(x2,y2);
            write(dane.zawod);
            x2:=x2+15;
            gotoxy(x2,y2);
            write(dane.data_urodzenia);
            x2:=x2+18;
            gotoxy(x2,y2);
            write(dane.wiek);
            x2:=x2+10;
            delay(250);
            x2:=5;
            y2:=y2+1;

            end;

    writeln;
    writeln('Filtr');
    readln;
    clrscr;


    writeln('wyszukiwanie wg. (1) zawod czy (2) wieku ?');
    readln(fil);

        x:= 5;
            y:= 5;
            x2:= 5;
            y2:=7;


    if fil = 1 then
    
    begin

            writeln('Jaki zawod wyszukac ?');

            Writeln;
        Readln(z);
        clrscr;
        gotoxy(x,y);
        Write('Nr');
        x:=x+5;
        gotoxy(x,y);
        Write('Imie');
        x:=x+12;
        gotoxy(x,y);
        Write('zawod');
        x:=x+15;
        gotoxy(x,y);
        write('Data Urodzenia');
        x:=x+18;
        gotoxy(x,y);
        write('Wiek');
        x:=x+10;


        for i:=1 to 15 do

                begin

                    if dane.zawod = z then
                        begin

                            gotoxy(x2,y2);
                            write(i);
                            x2:=x2+5;
                            gotoxy(x2,y2);
                            write(dane.imie);
                            x2:=x2+12;
                            gotoxy(x2,y2);
                            write(dane.zawod);
                            x2:=x2+15;
                            gotoxy(x2,y2);
                            write(dane.data_urodzenia);
                            x2:=x2+18;
                            gotoxy(x2,y2);
                            write(dane.wiek);
                            x2:=x2+10;
                            delay(250);
                            x2:=5;
                            y2:=y2+1;
                        end
                    else
                end;
                    
            end
        else

            
               {Sortowanie wg. wieku }
    begin
            Writeln('Podaj przedzial wyszukiwania');
            readln(rok,rok2);

            gotoxy(x,y);
            Write('Nr');
            x:=x+5;
            gotoxy(x,y);
            Write('Imie');
            x:=x+12;
            gotoxy(x,y);
            Write('zawod');
            x:=x+15;
            gotoxy(x,y);
            write('Data Urodzenia');
            x:=x+18;
            gotoxy(x,y);
            write('Wiek');
            x:=x+10;
            
        
        for i:=1 to 15 do

            begin

                if dane.wiek > rok then
                    begin
                        if dane.wiek < rok2 then
                        
                            begin
                                
                                gotoxy(x2,y2);
                                write(i);
                                x2:=x2+5;
                                gotoxy(x2,y2);
                                write(dane.imie);
                                x2:=x2+12;
                                gotoxy(x2,y2);
                                write(dane.zawod);
                                x2:=x2+15;
                                gotoxy(x2,y2);
                                write(dane.data_urodzenia);
                                x2:=x2+18;
                                gotoxy(x2,y2);
                                write(dane.wiek);
                                x2:=x2+10;
                                delay(250);
                                x2:=5;
                                y2:=y2+1;
        
                        end    
                        else
                            end
                else
                    end;
            end;
   readln;
   end.
            
            
            
    
            
        
                
                
                
                
                
                
 

Link to post
Share on other sites

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Odpowiedz w tym wątku...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie
  • Ostatnie aktualizacje statusu

    • WojTECH

      Pracujemy nad przywróceniem działania Tapatalk. Zostanie też uruchomiony kanał RSS. Reszta zgłoszonych problemów w działaniu forum jest już niezależnie rozwiązywana. 
      · 3 odpowiedzi
    • VindoV

      Wczoraj o 12 zamówione cloudy II na niemieckim amazonie za 50 euro, planowana dostawa pod drzwi początkowo była na piątek, wieczorem zmienili na czwartek, a przed chwilą gość mi je przyniósł, miła niespodzianka:)
      · 1 odpowiedź
    • ernorator

      Ktoś posiada jakieś miejsce gdzie można iso recovery acera dostać, model 5749z. Znalazłem tylko Siergieja, który chce 10$ na payapala.
      · 4 odpowiedzi
    • Arthass

      Zweryfikuj wiek przed kliknięciem. Parental Advisory Explicit Content.
       
      · 1 odpowiedź
    • wojciechu15

      Ogarnijcie sobie sygnaturki w profilach, bo nowy layout robi odstępy między wersami jak ktoś miał enterem przerzucone wersy i większość ma te sygnaturki strasznie rozwleczone. 
      · 2 odpowiedzi
×
×
  • Dodaj nową pozycję...