Crearea dinamică a elementelor din forma blogului programării extreme, un blog al extremelor

Crearea dinamică a elementelor de formă, de exemplu, o pagină de imagine actualizată (formulare gestionate).

Una dintre trăsăturile convenabile de programare a formelor este crearea de software a elementelor de formă fără a recurge la proiectantul de formular. Și o caracteristică importantă a acestui lucru este modificarea software-ului tipurilor tipice, facilitând astfel actualizarea configurațiilor tipice.







Creați o configurație goală.

Creați un nou director

În fila "Date" adăugăm o nouă secțiune tabelă a "Imaginilor suplimentare", iar în coloana "FileName", tipul de date este un șir de lungime nelimitată.

În fila "Formulare", adăugați un nou formular "Form Element".

Crearea dinamică a elementelor din forma blogului programării extreme, un blog al extremelor

În formular, adăugați un nou grup "Pagini". Butonul Adăugare (verde. +), Selectați tipul elementului "Grup-Pagini".

Crearea dinamică a elementelor din forma blogului programării extreme, un blog al extremelor

Numele grupului (pagina) este lăsat apoi ca "Grupul1"

Adăugați două pagini în acest grup (grupa 1).
Group2 și Group3, în câmpul de antet pentru grupul 2 - introduceți "Imagini", pentru
group3 - «Catalog»

Crearea dinamică a elementelor din forma blogului programării extreme, un blog al extremelor

Acum transferăm secțiunea de tabelă a "Imaginilor suplimentare" în "Grup 2"
și pentru vizibilitatea celei de-a doua pagini adăugate la pagina 2 - "Decorare - Subtitrare". Ar trebui să arate imaginea:

Crearea dinamică a elementelor din forma blogului programării extreme, un blog al extremelor

Proprietățile tabelelor „DopolnitelnyeIzobrazheniyaImyaFaylaIzobrazheniya“ control al acestui set de „KnopkaVybora“ la „DA“.

Crearea dinamică a elementelor din forma blogului programării extreme, un blog al extremelor

De asemenea, în proprietățile acestui câmp, setați evenimentul "Start Selecție" pentru butonul de selectare

Crearea dinamică a elementelor din forma blogului programării extreme, un blog al extremelor

Aceasta completează proiectul formularului și continuă să scrie codul. Pe butonul de selecție, când adăugăm o linie nouă cu imagini, vom deschide fereastra de dialog pentru selectarea fișierelor și vom înregistra în numele fișierului - calea către imaginea selectată.







procedură
Imagini suplimentare Image NameSize ImageSetting Start (Element.Selection Data.SpecialDevelopment)


// Lipiți conținutul dispozitivului de manipulare.

Mod = Mod FileListDialogue. deschiderea;

Dialogul de deschidere a fișierelor = Dialogul dialogului nou de fișier (Mod);

Dialogul fișierului deschis. FullFileName = "";

Dialogul fișierului deschis. Filtru = Filtru;

Dialogul fișierului deschis. Mai multe opțiuni = Lies;

Dialogul fișierului deschis. Titlu = "Alegeți un fișier";

Dacă dialogul de deschidere a fișierelor. Selectați () Apoi

FileName = fișier Deschidere dialog. PolnoeImyaFayla;

TekStroka = Elemente. Imagini suplimentare. Datele curente;

TekStroka. FileNameImages = Numele fișierului;

În acest caz, definim comportamentul butonului de selecție - deschideți dialogul de deschidere a fișierului în care utilizatorul selectează imaginea. Dacă utilizatorul a ales imaginea - apoi adăugați calea completă și numele fișierului din dialog în linia curentă a secțiunii tabelului.

Acum trebuie să facem următoarele: în cazul în care utilizatorul selectează tab-ul „Group3“, cu titlul „Catalog“ - eliminăm toate elementele create de software anterioare și pe baza tabelului din „Mai multe imagini“ adăugarea de noi controale care afișează o imagine.

Procedați astfel: Selectați "Group1", faceți clic pe butonul din dreapta al mouse-ului pentru a apela "Properties". În proprietățile grupului, creați o nouă procedură predefinită pentru evenimentul "Modificați pagina" făcând clic pe pictograma "Lupă".

Crearea dinamică a elementelor din forma blogului programării extreme, un blog al extremelor

Să scriem următorul cod pentru această procedură predefinită:

Grupul de proceduri1Selectarea paginilor (Element.
TekuschayaStranitsa)

În cazul în care pagina curentă. Name = "Group3" Apoi

// Reîncarcă lista de imagini

Dacă pagina curentă este "Group3", mai întâi ștergeți elementele din fila "Group3" și creați detalii noi, să vedem compoziția procedurii

"Delete RequisitesServer ()" și "Add RequisitesServer ()".

Șterse Requisites = New Array ();

Colvo = Requisites. Cantitate ();

Pentru n = 0 în ciclul Kolvo - 1

TeCelement = Obligații. Primiți (n);

Dacă mijloacele (TeCelement, nume, 1. 3) = "Rec" Apoi

Șterse necesități. Adăugați (numele TeCelement);

Adăugat Requisites = Array nou;

Pentru fiecare șir al obiectului. Imagini suplimentare
Contorul ciclului K = Contorul K + 1;

Props = Nou
Formulare necesare ("Requisite" + Line (CounterK), New Type Description ("Linie"). "" Adevăr);

Cerințe adăugate. Adăugați (elemente de recuzită);

// Adăugați câmpul de introducere nou în formular


Pentru fiecare șir al obiectului. Imagini suplimentareCiclu

Contorul K = contorul K + 1;

Element = Acest formular. Elemente. Adăugați ("Props" + Linie (CounterK), Tip ("Formulare de câmp"), Acest formular, Elemente, Grup 3);

Element. View = Câmpurile formularului. PoleKartinki;

Element. PathChannel = "Props" + Linie (CounterK);

Element. Header = "Imagine" + Din piesa (CounterK) + "(" + Derulați FileName + Imagini) ";

Imagine = Date binare noi (String.Filename);

Acest formular ["Props" + Line (Counter)] = Puneți pictograma "TimedHand" (Imagine: nou identificator unic);

Deci, ce avem?

Luați în considerare mai întâi procedura "Ștergeți creditele". În primul rând, pentru a elimina elementele necesare procedurii "Requisites Change" - trebuie să pregătim o matrice în care să fie listate toate detaliile care vor fi șterse.

Obținem toate rechizitele de formular (deși putem obține detaliile paginii "Catalog") și să le proclamăm. Dacă numele recuzelor începe cu "Rivers", atunci adăugăm această recuzită la matrice și trebuie șters.

În cazul procedurii de DobavitDopolnitelnyeRekvizityServer () face următoarele: În funcție de numărul de adăugat fișiere cu imaginile pe care le crea o serie de detalii pentru a adăuga, și este de remarcat faptul că imaginea de ieșire - vom folosi un element de formular, care elemente de recuzită va avea tipul de valoare - un șir de caractere. Nume primit astfel de detalii sunt „Rekvizit1, Rekvizit2“ ... „Recuzita N».


Apoi, procedura Change Requisites) în care primul parametru este detaliile adăugate, cele două detalii șterse) - adaugă noi detalii.

Mai departe în ciclu, adăugăm noi elemente în formular. Nu uitați să specificați parametrul important de afișare a liniei noastre - forma câmpului Formularului. PoleKartinki. Calea spre date - prescrieam detaliile pe care tocmai le-am creat.


Și rămâne, de asemenea, să descărcați din fișier și să afișăm fotografiile pe ecran. În exemplul curent, nu le adăugăm în baza noastră de date - le citim de fiecare dată din fișiere. În primul rând, am citit fișierul imagine ca date binare, apoi am pus datele în depozitare temporară prin procedura procedurii AddTimeMaintenance. obținând astfel un șir.

Ca rezultat, obținem crearea dinamică a elementelor de formă și a rechizitelor și, în funcție de compoziția părții de masă, afișăm imaginea în fila "Catalog".







Trimiteți-le prietenilor: