Zadania - zestaw 2

  1. Utworzyć menu główne aplikacji; zademonstrować użycie dwóch rodzajów skrótów klawiaturowych:
       PLIK       EDYCJA    OKNO 
         otwórz     kopiuj    sąsiadująco
         zachowaj   wytnij    kaskada
         koniec     wklej     zamknij
    

    Każda opcja menu ma wywoływać widoczną (dowolną) akcję.

    Każda pozycja ma mieć działający skrót klawiaturowy typu "Alt+Litera".

    Opcje w okienkach mają mieć działające skróty klawiaturowe (właściwość "ShortCut").

  2. Umieścić komponenty TEdit (2), TMemo (1) i TButton (x) na formularzu. Przyciskom przypisać następujące działania:
  3. Umieścić komponenty TEdit, TMemo, TListBox i TPopupMenu na formularzu (wpisać kilka pozycji do ListBox'a). Oprogramować następujące czynności:
  4. Umieścić na formularzu komponent TComboBox.
  5. Na formularzu:

Funkcje


function FileExists(FileName:string):Boolean;

Funkcja sprawdza czy plik o nazwie podanej w FileName istnieje; jeśli tak funkcja zwraca wartość True; jeśli nie - False.

FileName może zawierać nazwę z pełną lub skróconą ścieżką dostępu

 if FileExists('c:\Program Files\test.exe') then
   ShowMessage('Plik test.exe istnieje')
 else
   ShowMessage('Pliku test.exe nie odnaleziono!')

KOMPONENTY VCL CD. (notatki)


TMainMenu - menu główne
Property:
  Items
  (prawy klawisz myszy -> Menu designer)
TEdit - okno edycyjne
Property:
  Text:string; -odczyt, zapis tekstu,

  PasswordChar:Char; -ukrycie tekstu jeśli #0,
TLabel - etykieta
Property:
 Caption:String; {tekst napisu}

 AutoSize:Boolean;{automatyczne dopasowanie
                          rozmiaru do zawartości}
TStrings - kolekcja łańcuchów (to nie kontrolka!)
Property
 Count: Integer; {ilość w kolekcji}

 Strings[Index: Integer]: string; {tablica łańcuchów}
Metody
 function Add(const S: string): Integer; virtual;
 {dodaje łańcuch S na końcu kolekcji zwraca index -> 0=1 1=2 itd. }
 
 procedure Insert(I: Integer; const S: string); virtual; abstract;
 {dodaje łańcuch S na (i-1)-tej pozycji}
  
 procedure LoadFromFile(const FileName: string); virtual;
 {ładuje linie z pliku}

 procedure SaveToFile(const FileName: string); virtual;
 {zapis łańcuchów do pliku}

 procedure Clear; virtual; abstract; 
 {Czyści kolekcję}

 procedure Delete(I: Integer); virtual; abstract;
 {usuwa I-ty}
TMemo - "mały" edytor
Property
  Lines: TStrings;{jak wyżej}

  ScrollBars: TScrollStyle;{typ pasków przewijania}
  type TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth);

  WordWrap: Boolean;{zawijanie linii}

  ReadOnly: Boolean;{no comment}
TListBox - lista wybory (przewijalna)
Property
  Items: TStrings;{no comment}

  ItemIndex: Integer;{nr bież. pozycji}

  Sorted: Boolean;{czy posortowane alfab.}
Metody
  procedure Clear; {czyści}
TComboBox - połączenie TEdit i TListBox
TGroupBox - grupowanie kontrolek
TCheckBox - pole wyboru
Property:
  Checked: Boolean;{czy pole jest zaznaczone}
  !!! Każde niezależne od pozostałych!!!
TRadioButton - pole opcjonalne
Property:
  Checked: Boolean;{czy pole jest zaznaczone}
  !!!Tylko jedno ze wszystkich w grupie

  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  grupowanie -> TGroupBox
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
TRadioGroup {=TRadioButton+TGroupBox}
Property:
  Items: TStrings {kolekcja Captionów do TRadioButtonów  }

  ItemIndex: Integer {nr wybranego : 0=1,1=2, itd.}

  Columns: Integer {ilo¶ć kolumn}
TPanel - panel-grupujący ozdobnik
Property:
  BevelInner: TPanelBevel;{typ obramowania wewn.}

  BevelInner: TPanelBevel;{typ obramowania zewn.}
  type TPanelBevel = (bvNone, bvLowered, bvRaised);