Przykłady

Spakowane kody programów

  • Dwa okna i atrapa bazy. Wyminan danych pomiędzy dwoma oknami za pośrednictwem obiektu-atrapy bazy, realizacja wzorca View-Subject. (»ściągnij spakowany przykład, C++ Builder 6).
  • Przeliczanie odległości wyrażonej w milach na kilometry. Najprostszy program, pokazuje wykorzystanie obiektów klas TEdit, TLabel oraz obsługę zdarzenia OnClick dla obiektów klasy TButton (»ściągnij spakowany przykład, C++ Builder 6). Druga wersja programu prezentuje możliwość wykorzystania kolorów, pozycjonowania tzw. „fokusa”, czyszczenie zawartości elementów sterujących, obsługę zdarzenia OnChange obiektu klasy TEdit (»ściągnij spakowany przykład, C++ Builder 6).
    Ćwiczenie: Proszę napisać program, przeliczający odległość wyrażoną w kilometrach na: mile, cale, stopy, jardy, wiorsty i pacierze. Po wprowadzeniu odległości w kilometrach i naciśnięciu przycisku „Przelicz”, mają się pojawić informację o odległości wyrażonej w każdej z powyższych jednostek.
  • Udawacz „Listy zadań” — obsługa komponentu klasy TListBox. Przykład pokazuje wykorzystanie obiektu klasy TListBox: programowe dodawanie elementów do listy, usuwanie, modyfikację, zmianę kolejności el6ementów na liście (»ściągnij spakowany przykład, C++ Builder 6).
    Ćwiczenie: Proszę spróbować rozszerzyć program o możliwość ustawiania, czy zadanie zostało zrealizowane. Może się to np. odbywać poprzez dopisanie na początku opisu zadania wybranego znacznika (np. [ ] == do zrobienia, [x] == zrobione), można również spróbować wykorzystać komponent klasy TCheckListBox.
  • Gra w „za dużo, za mało” — odgadywanie liczby wylosowanej przez komputer. Przykład pokazuje wykorzystanie obiektów klas TEdit, TLabel oraz obsługę zdarzenia OnClick dla obiektów klasy TButton (»ściągnij spakowany przykład, C++ Builder 6). W programie wykorzystano parametr Sender procedury obsługi OnClick w celu identyfikacji naciśniętego przycisku. Dzięki temu obsługę „klawiatury numerycznej” programu realizuje pojedyncza funkcja. Program pokazuje również jak można dodać do klasy okna swoje dodatkowe pola, gdzie i w jaki sposób je inicjować. Program usiłuje być „user friendly” — np. pierwsze użycie „klawiatury numerycznej”, po poprzedniej nieudanej próbie odgadywania, czyści linie edycyjną; kontynuowanie odgadywania po odgadnięciu liczby powoduje wznowienie gry z nowymi danymi.

    Ćwiczenie: Proszę spróbować rozszerzyć program o ustalanie zakresu losowanej liczby, np. 1..10, 1..50, 1..100. Można wykorzystać komponenty typy RadioButton lub ComboBox.

  • Kalkulator dwuargumentowy. Prosty program, prezentuje wykorzystanie obiektów klas TLabeledEdit, TRadioGroup, TStaticText, obsługę wyjątków związanych z konwersją napis->liczba, dzieleniem przez zero i błędnymi operacjami matematycznymi (»ściągnij spakowany przykład, C++ Builder 6). Druga wersja kalkulatora prezentuje w jaki sposób zmieniać format wyprowadzanego wyniku (notacja wykładnicza i notacja z przecinkiem), prezentuje wykorzystanie obiektów klasy TCheckBox, TComboBox, ukrywanie/pokazywanie elementów interfejsu, wykorzystanie obsługi zdarzenia FormCreate i inicjowanie elementów interfejsu z poziomu kodu programu, kopiowanie tekstu do schowka (»ściągnij spakowany przykład, C++ Builder 6).
    Ćwiczenie: Proszę napisać program rozszerzający funkcjonalność kalkulatora o: wyliczanie wartości funkcji sin, cos, tg, ctg, wyznaczanie kwadratu i pierwiastka kwadratowego, wyznaczanie odwrotności liczby, potęgowanie. Wszędzie tam, gdzie operacja dotyczy jednego argumentu, należy brać pod uwagę argument pierwszy. Proszę przemyśleć możliwość blokowania/ukrywania argumentu drugiego podczas operacji jednorgumentowych.
  • Średnie spalanie ze „skórką”. Program pokazuje przykład wykorzystania okna bez obramowania, z tłem w postaci pliku graficznego. Oprogramowano operacje przeciągania okna, która przy oknach bez obramowania niekoniecznie działa.
    » Ściągnij spakowany przykład, (C++ Builder 6).
  • Średnie spalanie ze „skórką” i oknem startowym. Jak wyżej + okno powitania pokazujące się na 2 sekundy.
    » Ściągnij spakowany przykład, (C++ Builder 6).
  • Średnie spalanie ze „skórką” i modalnym oknem startowym. Jak wyżej, tylko okno powitalne należy zamknąć.
    » Ściągnij spakowany przykład, (C++ Builder 6).
  • Wykorzystanie obiektów TListBox. Program pokazuje przykład wykorzystania dwóch obiektów klasy TListBox, pierwszy wyświetla marki samochodów, drugi odpowiadające im modele. Jeżeli w katalogu programu istnieje plik graficzny o nazwie „markamodel.jpg”, to jego podgląd jest wyświetlany. Informacje o marce i modelach wczytywane są z pliku tekstowego marki.txt, każda linia pliku to jedna marka, jej nazwa jest na początku wiersza, potem następują nazwy modeli rozdzielone spacjami. Musi być określony przynajmniej jeden model.
    » Ściągnij spakowany przykład, (C++ Builder 6).
  • Podstawowe operacje graficzne. Program prezentuje sposób wykonywania podstawowych operacji graficznych z wykorzystaniem klasy
    TCanvas. Wykorzystywana jest właściwość Canvas obiektu klasy TImage. Prezentowane operacje obejmują ustalanie koloru, grubości i stylu pióra, koloru oraz stylu wypełnienia. Przedstawiono operacje rysowania linii, prostokąta, elipsy, prostokąta, prostokąta o zaokrąglonych wierzchołkach, wycinka elipsy. Dodatkowo przedstawiono operacje wykorzystujące okno klasy TColorDialog, obiekty klasy TShape, menu klasy TPopoupMenu oraz opcje menu zachowujące się jak przyciski radiowe. » Ściągnij spakowany przykład, (C++ Builder 6).
  • Wykorzystanie obiektów TListView. Program pokazuje przykład wykorzystania obiektu klasy TListView. Program wczytuje z pliku lipną listę komputerów, ich numerów ID oraz informacji o statusie. Na tej podstawie wyświetla niby-listę komputerów w sieci. Prawdziwym celem programu jest oczywiście prezentacja wybranych możliwości klasy TListView — m.in. trybów wyświetlania, przypisawania elementom listy ikon, korzystania z tzw. hintów, włączanie trybu tylko do odczytu itp.
    » Ściągnij spakowany przykład, (C++ Builder 6).
  • Wykorzystanie obiektów TTreeView jako listy katalogów. Program pokazuje przykład wykorzystania obiektu klasy TTreeView, buduje on drzewo katalogów dysku C. Algorytm rekurencyjnie przeszukuje wszystkie podkatalogi — trawa to długo. Ale zadaniem programu nie jest prezentacja błyskawicznego przeszukiwania katalogów a prezentacja podstawowych operacji na obiekcie klasy TTreeView. Ponieważ ten komponent jest bardzo użyteczny, będą następne przykłady jego wykorzystania.
    » Ściągnij spakowany przykład, (C++ Builder 6).
  • Lista plików z wykorzystaniem obiektu klasy TListView. Program pokazuje przykład wykorzystania obiektu klasy TListView do zbudowania listy plików zawartych w katalogu bieżącym. Przykład zawiera odwołania do funkcji WinAPI — pobieranie ikony i typu pliku.
    » Ściągnij spakowany przykład, (C++ Builder 6).