if s= ''then begin ShowMessage('Edit-də mətn yoxdur!'); Buttonl.Enabled:=False; end else Buttonl.Enabled:=True; end; Bu prosedur Edit komponenti fokusu itirdikdə onun sahəsində mətnin olmasını yoxlayır: əgər sahədə mətn olarsa, heç nə baş verməyəcək (sadəcə Buttonl aktiv olacaq), mətn sahəsi boş olduqda isə bu barədə məlumat veriləcək və Button düyməsi qoşulmayacaqdır (Buttonl. Enabled: = False;). Bu onun üçün edilir ki, siyahıya boş sətir daxil edilməsin. Probel klavişini basdıqda siyahıya boş sətrin daxil edilməsinin qarşısını almaq üçün Trim funksiyasından istifadə edilmişdir. Redaktorun sahəsində dəyişiklərə nəzarət etmək üçün OnChange hadisə emaledicisini yaradaq. Əslində bu hadisəni OnExit hadisəsi ilə əlaqələndirmək olar. Bunun üçün Edit komponentini seçib OnChange hadisəsi qarşısında mausun düyməsini iki dəfə basmaq yox, siyahıdan artıq mövcud olan EditlExit hadisəsini seçmək lazımdır. Bununla da, OnChange hadisəsi baş verdikdə, OnExit hadisə emaledicisində baş verən əməliyyatlar yerinə yetiriləcəkdir. Biz, burada, bir neçə hadisənin bir prosedurla necə yerinə yetirilməsini izah etdik. Adi qaydada isə OnChange hadisə emaledicisini belə yaratmaq olar. Editl komponentini seçib, həmişəki kimi, OnChange hadisəsi qarşısmda mausun düyməsini iki dəfə basaraq koda əlavə edin: procedure TForml.EditlChange(Sender: TObject); begin Edit1.OnExit(Parent); end; Burada, faktiki olaraq bir hadisədə başqa bir hadisə emaledicisi çağrılmışdır. Parametr kimi Parent (əcdad), Self (obyektin özü) və Nil (heç nə) istifadə oluna bilər (layihənin başa çatmasını gözləmədən F9 klavişini basaraq bu iki prosedurun gördüyü işi yoxlaya bilərsiniz). İhdi isə SpinEditl komponentini seçək. Qısaca bu komponentlə tanış olaq. Xarici görünüşü və funksional imkanlarına görə bu komponent özündə UpDown sayğacını və onunla assosiativ əlaqədə olan Edit komponentlərini birləşdirir. Bu komponent üçün əsas xarakterik xassələr Integer tipli Value (qiymət), MinValue (minimal qiymət), MaxValue (maksimal qiymət), Increment (addım), Boolean tipli ReadOnly xassələri və OnChange hadisəsidir. Beləliklə, SpinEdit komponentinin Value xassəsinə 16 qiyməti verin. Bu o deməkdir ki, siyahı tərtib edildikdə əlavə olunan sətirlərin sayı 16 olacaqdır (kodla bunu dəyişmək də olar).