PRZYDATNE KODY DO DELPHI
- plik znajduje się na krążku Eksperta nazwa pliku
Na CD-ROM
Kompletne kody źródłowe
[Di
-plik w całości znajduje się na krążku, pokaza- _ nytu jest tylko jego fragment aj:
Czasem wystarczy jedno polecenie, aby rozszerzyć aplikację o ciekawą funkcję. Ekspert pokaże, jak zmusić program do mówienia
Wiele tworzonych przez nas w Delphi aplikacji wyświetla użytkownikowi okna z różnymi komunikatami - na przykład raport o swojej pracy. Możemy jednak łatwo sprawić, aby program zamiast pokazywania okna „przemówił" do użytkownika. Ekspert pokaże, jak do tego celu wykorzystać wbudowany w Windows XP syntetyzer mowy. Stworzymy prostą aplikację, która będzie wypowiadała wpisany przez użytkownika tekst. Dzięki temu dowiemy się, jakich poleceń użyć do obsługi syntetyzera z poziomu programu napisanego w Delphi.
Uwaga!
Wbudowany w Windows XP syntetyzer mowy dobrze radzi sobie tylko z językiem angielskim. 0 tym. jak skorzystać z innych, obsługujących język polski syntetyzatorów mowy, przeczytamy na stronie O-
Na początek stworzymy interfejs prostego programu, na przykładzie którego dowiemy się, jak obsługiwać syntetyzer mowy.
2005 Personal, jak również Turbo Delphi Explorer). Aby stworzyć nową aplikację, z menu @5) wybieramy podmenu i New!, a następnie 1^ VCl Fornis AppBcaHon - Delphi for Wln32|.
2 Zmieniamy właściwość Caption formy na przykład na Gadacz, a właściwość Name na fOkno. Własności BorderStyle nadajemy wartość bsToolWindow, a cesze Position wartość poScreenCenter.
3 Umieszczamy na formie jeden komponent TLabel (etykieta), jeden TEdit (pole tekstowe) i jeden TButton (przycisk). Rozmieszczamy je, zmieniamy właściwość Caption i dostosowujemy wielkość formy, tak jak na rysunku •r-......
Przeczyta):
Czytaj
Do czego wykorzystać
Prosty program, który stworzyliśmy razem z Ekspertem, pokazuje jedynie sposób komunikacji z syntetyzerem mowy. Ekspert zachęca do tworzenia ciekawszych aplikacji wykorzystujących syntetyzer mowy - na przykład wymawiających wybierane z menu opcje czy czytających napisy do filmów.
Interfejs naszej aplikacji jest już gotowy. Zajmiemy się teraz jego oprogramowaniem i sprawimy, aby wpisany w pole tekst został przeczytany po kliknięciu na przycisk; czytaj I.
1 Przełączamy się do edytora kodu (wciskamy klawisz £0 lub wybieramy zakładkę Icodej). Odszukujemy sekq'ę uses i dopisujemy do niej deklarację modułu Comobj <0, w którym zawarte są procedury obsługi syntetyzatora mowy. Następnie w sekcji public deklarujemy zmienną voice typu OLEVariant d.
unit Unitl;
intorfaco
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Comobj; type
TfOkno = claas(TForm) v eTekst: TEdit;
Laboll: TLabel; btnCzytaj: TButton;
procedurę FormCreate(Bender: TObject); procedurę btnCzytajClick(Bender: TObject); private
{ Private declarations } public
voice: OLBVariant; €1 end;
procedurę TfOkno.FormCreate(Sender: TObject) bogiń
voice := CreateOLEObject(\SAPI.SpVoice end;
procedurę TfOkno.btnCzytajClick(Sender: TObject); bogiń
voice.Speak(eTekst.Text, 0); €»
ond(____1 n GadaaNmOfcnojs
1
Uruchamiamy środowisko Delphi (możemy skorzystać zarówno z Delphi
70 LUTY 2007
ekspert
4 Na koniec zmieniamy właściwość Name pola tekstowego (komponentu TEdit) na eTekst, a przycisku (komponentu TButton) na btnCzytaj.
2 Powracamy na zakładkę iDesignl i dwukfot-nie klikamy na puste pole formularza.
W edytorze kodu pojawia się procedura obsługująca zdarzenie onCreate dla formularza (utworzenie okna programu). Wewnątrz niej wywołujemy polecenie d- Jego zadaniem jest utworzenie obiektu wykorzystującego wbudowany w Windows XP syntetyzer.
3 Powracamy na zakładkę fDesłgnl i dwukrotnie klikamy na przycisk ICzytali. W automatycznie wygenerowanej procedurze obsługi zdarzenia OnClick (kliknięcie na przycisk) wywołujemy polecenie Cl. Jego zadaniem jest wywołanie metody Speak przekazującej do syntetyzera tekst z pola eTekst).
4 Zapisujemy nasz projekt, wybierając z menu O! opcję IĆH SaveAl| (moduł zapisujemy pod nazwą mOkno.pas, natomiast projekt pod nazwą Cadacz.bdsproj.
5 Aby przetestować działanie programu, wciskamy klawisz y. Po uruchomieniu się programu w po-
le f.wp.i^iF.Ty i0.:..*. pZS
wolny tekst i klikamy ( na przycisk I czytaj I. _