Wersja podstawowa: Edytor tekstu punktacja - (2,0) edytor na bazie komponentu Memo; menu: plik (nowy, otwórz, zapisz jako, zamknij) i edycja (cofnij, kopiuj, wytnij, wklej, zaznacz wszystko). Możliwe udoskonalenia: - (1,5) inteligentna blokada zamknięcia programu (Yes/No/Cancel) - (1,0) pół-inteligentna blokada zamknięcia programu (Yes/No) - (0,5) ćwierć-inteligentna blokada zamknięcia programu (Ok) - (0,5) ukrywanie paska narzędzi (menu oraz menu kontekstowe) - (0,5) zawijanie wierszy + wł./wył. paska przewijania - (0,5) czcionka (menu) - (0,5) okno powitalne (splash screen) Edytor na bazie Memo - (1,5) pliki ini zapisywanie i odczytywanie konfiguracji (rozmiar i położenie okna, opcje typu zawijanie wierszy, atrybuty czcionki i paragrafu) - (1,0) czcionka (menu) i jej atrybuty oraz atrybuty paragrafu (pasek narzędzi) - (0,5) pasek narzędzi (wybrane polecenia z menu plik i edycja, bez sprz. zwr.) Edytor na bazie RichEdit - (1,5) czcionka (menu) i jej atrybuty oraz atrybuty akapitu (pasek narzędzi) ze sprz. zwrotnym - (1,0) pliki ini zapisywanie i odczytywanie konfiguracji (rozmiar i położenie okna, opcje typu zawijanie wierszy) - (1,0) pasek narzędzi (polecenia z menu plik i edycja, ze sprz. zwrotnym) - (0,5) sprzężenie zwrotne w menu plik (zapisz) i edycja (kopiuj, wytnij) - (0,5) menu kontekstowe (edycja cofnij, kopiuj, wytnij itd.)
Komponent Memo W pełni funkcjonalny prosty edytor tekstu wymaga tylko wyposażenia w "sterowanie". Enabled, ReadOnly Align Font, Alignment WordWrap ScrollBars WantReturns, WantTabs CanUndo Modified, Text, Lines wyrównanie komponentu względem "rodzica" czcionka i sposób formatowania tekstu zawijanie wierszy paski przewijania (ssvertical, ssboth) sposób traktowania klawiszy [Tab] i [Enter] informuje, czy da się wykonać Undo informuje, czy treść została zmieniona tekst Clear, ClearSelection CopyToClipboard, CutToClipboard, PasteFromClipboard SelectAll ClearUndo, Undo Właściwość Lines komponentu Memo: Strings Count linie tekstu (tablica obiektów typu AnsiString) liczba linii tekstu Add, Append dodaje linię na koniec tekstu Clear Delete, Exchange, GetText IndexOf, Insert, Move do manipulowania liniami LoadFromFile SaveToFile Metody Add i Append wymagają argumentu typu AnsiString, metoda Clear jest bezargumentowa. Metody LoadFromFile i SaveToFile wymagają jako argumentu kwalifikowanej nazwy pliku (typu AnsiString).
MainMenu, PopupMenu MainMenu (podobnie PopupMenu) to komponent "niewidzialny", jest uporządkowaną kolekcją komponentów MenuItem, także "niewidzialnych". MainMenu zawiera opis struktury menu, natomiast wyświetlanie i obsługa menu należy do Windows API. Aby jakiś komponent wyposażyć w menu kontekstowe, wystarczy we właściwości PopupMenu tego komponentu wskazać (wybrać z listy) utworzony uprzednio komponent PopupMenu. Do projektowania struktury menu służy specjalny edytor (poniżej). MenuItem Caption Enabled, Visible Checked ShortCut Click &Nazwa Nazwa; "-" (minus) separator wyświetlanie symbolu zaznaczenia skrót klawiaturowy (w rodzaju Ctrl-A) symuluje kliknięcie myszką
Panel Panel, na którym można umieszczać inne komponenty. Niektóre właściwości panelu przenoszą się na te komponenty. Enabled, Visible, Font Align BevelInner, BevelOuter BorderStyle m.in. te właściwości wyrównanie komponentu względem "rodzica" ramka 3D wokół panelu SpeedButton Przycisk, który można wykorzystać do budowania pasków narzędzi Visible, Enabled Flat Caption, Glyph Layout, Spacing GroupIndex AllowAllUp Down wyłącza efekt 3D napis i obrazek na przycisku układ i odległość napisu względem obrazka zmienia przyciski w przełączniki/ przyciski radiowe odpowiednik Checked ToolBar Pasek narzędzi, wyposażony w specjalne przyciski (ToolButton) Można na nim umieszczać inne komponenty (np. SpeedButton, Edit) Visible, Enabled Align Images AutoSize Wrapable ButtonHeight Flat ShowCaptions, List komponent ImageList zawierający obrazki automatyczne zawijanie paska wysokość wszystkich elementów na pasku wyłącza efekt 3D wyświetlanie i położenie napisu względem obrazka
ToolButton Przycisk na pasku narzędzi, dostępny jedynie jako element ToolBar. Visible, Enabled Caption, ImageIndex Style Grouped, AllowAllUp Down napis i numer obrazka na przycisku zwykły (tbsbutton) lub przełącznik (tbscheck) zmienia sąsiednie przyciski w przyciski radiowe odpowiednik Checked OpenDialog, SaveDialog Komponent niewidzialny, wyświetlający standardowe okno dialogowe systemu Windows. Title InitialDir DefaultExt Filter FileName Options Execute tytuł okna folder początkowy rozszerzenie domyślne (ważne w przyp. SaveDialog) nazwy typów plików i ich maski kwalifikowana nazwa pliku (proponowana / wskazana) opcje ofallowmultiselect, ofcreateprompt, ofextensiondifferent, offilemustexist, ofhidereadonly, ofnochangedir, ofnodereferencelinks, ofnolongnames, ofnonetworkbutton, ofnoreadonlyreturn, ofnotestfilecreate, ofnovalidate, ofoldstyledialog, ofoverwriteprompt, ofpathmustexist, ofreadonly, ofshareaware, ofshowhelp bool Execute(void); wyświetla okno dialogowe; zwracana true (jeżeli użytkownik kliknie Zapisz / Otwórz) lub false (jeżeli kliknie Anuluj)
Właściwość Font Element składowy (dostępny jako właściwość) wszystkich widzialnych komponentów. Domyślnie komponenty dziedziczą Font, na ogół po Formularzu (decyduje o tym właściwość ParentFont). Name Nazwa czcionki (np. Bookman Old Style ) Size rozmiar w punktach Color kolor (np. clwindowtext albo clred, clblue itd.) Style pogrubienie (fsbold), kursywa (fsitalic) itd. Charset numer zestawu znaków (Polska: 238) Style właściwość typu TFontStyles (Set<TFontStyle>; Set jest szablonem klasy, implementuje zbiór w sensie teoriomnogościowym) operator << (Type el) operator >> (Type el) operator += (Set s) dodaje element usuwa element oblicza sumę logiczną zbiorów Komponent FontDialog Device Font Options Execute urządzenie, z którego pobierane są nazwy czcionek wybrana (proponowana) czcionka opcje: fdansionly, fdapplybutton, fdeffects, fdfixedpitchonly, fdforcefontexist, fdlimitsize, fdnofacesel, fdscalableonly, fdnosimulations, fdnosizesel, fdnostylesel, fdnovectorfonts, fdshowhelp, fdtruetypeonly, fdwysiwyg bool Execute(void); wyświetla okno dialogowe; zwracana true (jeżeli użytkownik kliknie OK) lub false (jeżeli kliknie Anuluj)
Właściwość Color Określa kolor tła komponentu (np. Memo Color) lub czcionki (np. Memo Font Color) Przypisując wartość tej właściwości można użyć stałych oznaczających kolory (np. clred, clyellow, clgreen etc.) lub kolory systemowe (np. clwindowtext, clbuttonface etc.) albo notacji heksadecymalnej RGB (np. &00FF77FF). Można też posłużyć się oknem dialogowym ColorDialog. Komponent ColorDialog Color Options Execute wybrany / proponowany kolor opcje: cdfullopendisplays, cdpreventfullopen, cdshowhelp, cdsolidcolor, cdanycolor bool Execute(void); wyświetla okno dialogowe; zwracana true (jeżeli użytkownik kliknie OK) lub false (jeżeli kliknie Anuluj)
Komponent RichEdit Edytor tekstu, obsługujący format rtf (Rich Text Format). Pozwala na niezależne formatowanie fragmentów edytowanego tekstu. DefAttributes SelAttributes Paragraph PlainText FindText Print Zdarzenia: OnSelectionChange domyślne właściwości czcionki właściwości czcionki dla zaznaczenia właściwości paragrafu dla zaznaczenia (typu bool) zapis do pliku bez formatowania wyszukiwanie tekstu; można użyć w połączeniu z oknami dialogowymi FindDialog i ReplaceDialog wydruk na domyślnej drukarce; można użyć w połączeniu z oknem dialogowym PrintDialog informuje o zmianie zaznaczenia można wykorzystać do sprzężenia zwrotnego Właściwość Paragraph komponentu RichEdit: Alignment Numbering FirstIndent, LeftIndent RightIndent taleftjustify, tacenter, tarightjustify wypunktowanie (nsnone, nsbullet) wcięcie tekstu (LeftIdent liczone od FirstIdent)