1 Języki i techniki programowania prowadzący dr Grzegorz Filipczyk
2 Pliki
3 Przetwarzanie plików metodą strumieni Deklaracja zmiennej plikowej i bufora w części deklaracji procedury lub modułu var plik: TFileStream; bufor: array [ ] of char Wywołanie konstruktora w celu utworzenia strumienia i skojarzenia z określonym plikiem na dysku Plik:=TFileStream.Create(C:\dane.txt, fmOpenRead or fmShareExclusive) Wykonanie pożądanych operacji na pliku: OdczytZapisPrzemieszczenie a:=Plik.Read(Bufor,100);a:=Plik.Write(Bufor,100);Plik.Seek(0,soFromEnd); Zwolnienie strumienia Plik.Free;
4 Klasa TFileStream Realizuje operacje dotyczące pliku zapisanie danych do pliku odczytanie danych z pliku przemieszczenie wskaźnika pliku
5 Wybrane właściwości klasy TFileStream Position – typ LongInt, zwraca w bajtach pozycję wskaźnika pliku. Przechowuje liczbę bajtów od początku pliku do bieżącego położenia wskaźnika Size – typ LongInt, reprezentuje rozmiar strumienia w bajtach (gdy strumień został skojarzony z plikiem zwraca rozmiar pliku dyskowego
6 Wybrane metody klasy TFileStream constructor Create( const Nazwa_pliku: String, Mode: Word); Nazwa_pliku – ścieżka dostępu do pliku dyskowego w postaci łańcucha znaków Mode – tryb otwarcia pliku wraz z określeniem praw dostępu do pliku
7 Wybrane metody klasy TFileStream Tryby otwarcia pliku: fmCreate – tworzy nowy plik o podanej nazwie, gdy plik istnieje jest skracany do rozmiaru 0 bajtów fmOpenRead – otwarcie pliku w trybie tylko do odczytu fmOpenWrite – otwarcie pliku w trybie tylko do zapisu fmOpenReadWrite – otwarcie pliku do edycji. Nowa zawartość zostanie nadpisana na starym pliku.
8 Wybrane metody klasy TFileStream Stałe dostępu do pliku fmShareExclusive – inne aplikacje nie mają dostępu do pliku fmShareDenyWrite – inne aplikacje mogą otwierać plik do odczytu fmShareDenyRead – inne aplikacje mogą otwierać plik do zapisu fmSharyDenyNone – inne aplikacje mają pełny dostęp do pliku
9 Wybrane metody klasy TFileStream przykład wywołania konstruktora var p: TFileStream; begin p:=TFileStream.Create(c:\dane.txt, fmOpenRead or fmShareExclusive);
10 Wybrane metody klasy TFileStream function Read (var Buffer, Count: LongInt): LongInt Buffer – zmienna, do której ładowana jest porcja danych pobrana z pliku. Może to być dowolna zmienna np. rekord, tablica Count – rozmiar porcji danych pobieranej z pliku p.Read(liczba, SizeOf(Integer));
11 Wybrane metody klasy TFileStream function Seek(offset: LongInt, Orgin: Word): LongInt offset – liczba bajtów przemieszczenia Orgin – pozycja startowa przesunięcia: soFromBeginning – ustawia wskaźnik względem początku pliku soFromCurrent – ustawia wskaźnik względem bieżącej pozycji soFromEnd – ustawia wskaźnik względem końca pliku
12 Wybrane metody klasy TFileStream function Write (const Buffer, Count: LongInt): LongInt Buffer – zmienna z której są pobierane dane zapisywane w pliku Count – rozmier porcji danych p.Write(L, SizeOf(Integer));
13 Wybrane metody klasy TFileStream destructor Destroy, procedure Free – zwalnia pamięć przydzieloną do zmiennej plikowej w chwili jej utworzenia p.Free
14 Projekt I Przygotować program który korzystając z klasy TFileStream pozwoli na odczytanie i zapisanie pliku tekstowego
15 Projekt I
16 Klasa TApplication Obiekt klasy TApplication reprezentuje bierzacą aplikację, jako całość działającą w tle systemu operacyjnego Windows. Tworzony jest automatyczne przy tworzeniu nowego projektu. Właściwości klast TApplication mogą być zmieniane za pomocą opcji menu Project/Options lub poprzez jawne podstawienia w kodzie programu
17 Klasa TApplication
18 Wybrane właściwości klasy TApplication ExeName – właściwość tylko do odczytu, zawiera pełną nazwę ścieżkową realizowanej aplikacji MainForm – właściwość tylko do odczytu, wskazuje na formularz główny aplikacji Title – napis pokazujący się po zainicjowaniu aplikacji Icon – ikona aplikacji
19 Wybrane metody klasy TApplication Initialize – zainicjowanie zmiennych aplikacji CreateForm – metoda wykorzystana w pliku projektu, tworzy formularz Run – wykonanie aplikacji
20 Wybrane metody klasy TApplication uses Forms, aplikacja in 'aplikacja.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.
21 Wybrane metody klasy TApplication Minimize – zminimalizowanie aplikacji Terminate – kończenie pracy aplikacji MessageBox – wyświetla okno komunikatu przechwyconego od systemu. Dla okna komunikatu można ustawić: tytuł okna, treść komunikatu, liczbę i rodzaj przycisków
22 Wybrane metody klasy TApplication functiom MessageBox (Text, Caption: TChar, Flags: LongInt): LongInt; Text – treść komunikatu wyświetlanego w oknie Caption – treść napisu na pasku tytułowym okna Flags – parametr określający typ okna, parametry z różnych grup można łączyć znakiem +
23 Wybrane metody klasy TApplication Stałe określające liczbę i rodzaj przycisków MB_AbortRetryIgnore MB_OK MB_OkCancel MB_RetryCancel MB_YesNo MB_YesNoCancel
24 Wybrane metody klasy TApplication Stałe określające ikony wyświetlane w oknie MB_IconExclamation MB_IconInformation MB_IconQuestion MB_IconStop
25 Wybrane metody klasy TApplication Wartości zwracane przez funkcję Wybrany przycisk StałaWartość OkIdOk 1 AnulujIdCancel 2 PrzerwijIdAbort 3 Ponów próbę IdRetry 4 ZignorujIdIgnore 5 TakIdYes 6 NieIdNo 7
26 Projekt II Wykorzystanie wybranych właściwości oraz metod klasy TApplication
27
28 Klasa TScreen obiekt klasy TScreen informuje które formularze i kontrolki na formularzach są aktywne, jakie rozmiary ma ekran, zwraca również informacje o dostępnych w aplikacji czcionkach i kształtach kursorów
29 Wybrane właściwości i metody klasy TScreen ActiveControl – wskazuje na aktywny komponent (komponent który posiada fokus) ActiveForm – wskazuje na aktywny formularz Cursor – decyduje o kształcie kursora aplikacji, wartość domyślna crDefault Cursors – liczba dostępnych kształtów kursora FormCount – liczba formularzy aplikacji Forms – lista formularzy aplikacji
30 Wybrane właściwości i metody klasy TScreen Fonts – lista nazw czcionek dostępnych dla danego trybu wyświetlania Height – wysokość ekranu w pikselach PixelsPerInch – określa rozdzielczości ekranu Width – szerokość ekranu w pikselach MenuFont – ustawia czcionki dla opcji menu HintFont – ustawia czcionki dla podpowiedzi
31 Projekt III Wykorzystanie wybranych właściwości oraz metod klasy TScreen
32 Projekt III
33 Projekt IV Dynamiczne dodawanie formularza do aplikacji
34