Schimbarea culorii

Luați în considerare cel mai obișnuit caz, când trebuie să modificați culoarea unui obiect atunci când modificați valoarea variabilei asociate cu acesta. Pentru a face acest lucru:

1. În proprietatea Variabilă a obiectului, selectați variabila dorită.







Schimbarea culorii

2. În Object Inspector du-te la tab-ul „Evenimente“ și apoi faceți dublu clic pe evenimentul „OnDataChange“ (schimba valoarea asociată cu obiectul).

Schimbarea culorii

Scriem un scenariu. Dacă există o condiție, puteți utiliza construcția "if. Then". De exemplu, pentru a schimba culoarea unui câmp:

Un script normal, dacă condiția este una:

începe
dacă Field1.AsInt = 1 atunci // dacă valoarea variabilei câmpului este 1, atunci
Field1.Color: = clGreen // modificați culoarea câmpului în verde
altfel // diferit
Field1.Color: = clRed; // modificați culoarea câmpului în roșu
end.

Compilam scenariul prin meniul "Script -> Compile" sau apăsând tasta "F9". Dacă compilația a avut succes, puteți să porniți clientul Simple-Client și să verificați rezultatul.

Dacă este necesar ca setul acelorași obiecte să schimbe culoarea în aceleași condiții, este recomandat să scrieți un script universal utilizând obiectul universal "Expeditor". "Expeditor" este un obiect necunoscut care a numit scriptul; poate fi o imagine, un text sau o figură sau un câmp etc.

Un script universal, dacă condiția este una (puteți aplica la orice obiect).

începe
dacă Expeditorul este TM_Object, apoi verificați că Sender este un obiect






cu Sender ca TM_Object do // returnează Sender pentru a tasta "TM_Object"
dacă AsInt = 1 atunci // dacă valoarea variabilei obiect este 1, atunci
Culoare: = clGreen // schimba culoarea obiectului în verde
altfel // diferit
Culoare: = clRed; // modificați culoarea obiectului în roșu
end.

Dacă există mai multe condiții, se recomandă utilizarea construcției.

Un script comun dacă există mai multe condiții:

începe
caz Câmp1.În caz de // dacă valoarea variabilei câmpului este:
1. 3. Field1.Color: = clRed; // de la 1 la 3 - modificați culoarea câmpului în roșu
4. Field1.BorderColor: = clGreen; // 4 - modificați culoarea cadrului câmpului în verde
5. Field1.FontColor: = $ FFFF00; // 5 - modificați culoarea fontului câmpului în galben
6. Field1.Color: = RGB (0. 0. 255); // 6 - modificați culoarea câmpului în albastru
se încheie;
end.

Un script universal dacă există mai multe condiții (puteți aplica oricăror obiecte).

începe
// Expeditorul este obiectul numit script (de exemplu, un câmp, o imagine etc.)
dacă Expeditorul este TM_Object, apoi verificați că Sender este un obiect
cu Sender ca TM_Object do // returnează Sender pentru a tasta "TM_Object"
caz În cazul // în cazul în care valoarea variabilei asociate obiectului este:
1. 5. Culoare: = clRed; // de la 1 la 5 - modificați culoarea în roșu
6. 7. Culoare: = clGreen; // 6 sau 7 - modificați culoarea verde
8. Culoare: = clYellow; // 8 - modificați culoarea în galben
se încheie;
end.

Scripturile universale considerate pot fi instalate pe orice obiect, pentru aceasta:

1. Selectați obiectul necesar și accesați fila "Evenimente" prin intermediul inspectorului de obiecte.

2. În proprietatea "OnDataChange", selectați scriptul creat din listă.

3. Nu uitați să legați obiectul la variabila dorită.

Acum, toate obiectele care au un script universal selectat în evenimentul "OnDataChange" își vor schimba culoarea în funcție de condițiile scenariului.

Cu parametrul "Expeditor", puteți accesa numai proprietățile clasei "TM_Control". Pentru a accesa restul proprietăților, trebuie să aduceți "Expeditorul" la tipul corect. De exemplu, dacă trebuie să schimbați proprietatea "Culoare câmp cadru" în scriptul universal, trebuie să aduceți "Expeditorul" la tipul "TM_Field":

Un script universal pentru obiectul Field.

începe
dacă Sender este TM_Field, atunci verificați că Sender este un câmp
cu Expeditorul ca TM_Field do / a aduce Sender-ului la tipul "TM_Field"
caz În cazul // în cazul în care valoarea variabilei asociate câmpului este:
1. BorderColor: = clGreen; // modificați culoarea verde
2. BorderColor: = clRed; // modificați culoarea în roșu
3. BorderColor: = clYellow; // modificați culoarea în galben
4. BorderColor: = clGray; // modificați culoarea în gri
se încheie;
end.







Articole similare

Trimiteți-le prietenilor: