Paraméter feladó delphi

Sender paraméter a Delphi-programot jelen minden eseménykezelő az alkatrészeit. Azonban, mivel a használata Sender paraméter gyakran nem szükséges, hogy a kezdők róla „elfelejti”, és gyakran nem is ismeri a célját. Ebben a cikkben szeretnék beszélni, ami a paraméter Sender Delphi és hogyan dolgozzunk ezzel, mint kiderül, egy fontos és kényelmes lehetőség, mint küldő.

Feladó TObject egy típust és egy érték az objektum - a forrása a az eseménykezelő, amelyben használják. Azaz, ha az űrlap több azonos komponensek mellett elvégzi ugyanazt a funkciót, akkor nem szükséges, hogy mindegyik, hogy saját eljárásokat, eseménykezeléshez. Ez csak egy sor rakodók, de hogy megtudja, hogy minden alkatrész kapcsolatos események kezelése most, ez lehetővé teszi, hogy a küldő paramétert.

ha Sender = Button1
majd Caption: = 'gombra kattintva №1'
mást Képaláírás: = 'gombra kattintva №2';

A program megmutatja, hogy milyen gombra kattintás. De tudja ezt, lehetőség van arra, hogy egy újabb reakció a program.

Ez még nem minden! Munkavégzés a Sender paraméter, amit tehetünk nélkül is megtalálja a neve a forrás komponens. Például a probléma a következő: el kell követni a Text tulajdonságát számos összetevőt Edit, és a megjelenése e ezeket a karaktereket „” (vessző), hogy változtassa meg a „” (Dot). Hozzon létre egy felvezető a OnChange esemény egyik Edit'ov, és a többi egyszerűen feltérképezésére, mint az előző esetben:

Először is, tudomásul vesszük, hogy a szó Edit1 írva sokszor, hogy valójában szükségtelen. Segítségével az üzemeltető kapcsolatban megszabadulni kell írni Edit1 belül szereplők:

Mindent! Most, hogy megszabaduljon a vessző minden Edit'ah, ki kell cserélni kapcsolatban Edit1 nyilatkozata (Sender mint tSzerkesztés) - jobb, mint ez, zárójelben.
Az a tény, hogy a szerkezet (Sender mint TObject) lehetővé teszi, hogy működjön együtt a forrása az eseményeket a megfelelő objektum. Különösen akkor, ha utána (Sender mint tSzerkesztés), hogy véget vessen, Delphi ad nekünk egy listát a tulajdonságok és módszerek Edit komponenst. Bár az én személyes logikája helyett (Sender mint tSzerkesztés) lenne egyszerűen Sender. De nem, ez lehetetlen.

Most már értem, hogy miért megszabadultunk belül Edit1 szereplők -, hogy cserélje ki minden Edit1 (Sender mint tSzerkesztés) nehéz lenne!

Végül, néha szükség van, hogy megtudja, nem a neve, és az esemény típusa forrás. Ez a segítség operátor. amellyel a küldő paraméter lehet hasonlítani a Delphi típusa:

ha (Sender TButton)
majd Képaláírás: = „Esemény forrása - TButton a gombot”;

Mellesleg, a helyettesítő módszer pontja felett a helyszínen. Ahelyett, hogy azokat a szöveges mezőben, sokkal könnyebb csinálni „on the fly” segítségével onkeypress eljárás:

eljárás TForm1.Edit1KeyPress (Sender: TObject; var Key: Char);
kezdődik
ha Key = '' majd Key: =; ''
végén;

Miért nem tudom használni ezt a módszert? Mert itt nem használható paraméter Sender! Bár ez a munkafolyamat is lesz az összes komponens, amelyhez hasonlítják. De tanulni látni a különböző lehetőségeket, ha az első módszer alkalmas. És általában, tanulni.

Kapcsolódó cikkek