Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Clase - VCX si PRG  Clasa agent...
 Clasa agent
 
 8/8/2011 10:49:29 AM
User is offlineRomeo
529 posts
1st


Clasa agent
 (N/A) Modified By Romeo  on 8/8/2011 10:51:45 AM)
Grig,

La cursul din dec 2007 ai recomandat ca atunci cand se construieste o clasa agent sa fie folosita clasa empty.
Eu am construit o clasa agent pornind de la clasa customer. Mi s-a parut ca am niste avantaje concrete:
este vizuala, o pun pe un form in clasa de baza (b_base.vcx) si o am disponibila in toate formurile, pot scrie proprietati + cod predefinit (in clasa agent parinte in b_base.vcx) si il mostenesc.

Care este avantajul clasei Empty pe care l-ai avut in vedere cand ai facut recomandarea ? In mod cert este ceva care imi scapa.

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 8/10/2011 10:46:35 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Clasa agent
 (N/A)
Romeo, ma tem ca nu ai inteles ce-am vrut sa zic. Clasa Agent nu inseamna customer, agent de vanzari sau mai stiu eu ce drac. Inseamna un container in care stochezi valorile pe care le trimiti SPRE/DINSPRE formurile apelate. N-are nici o treaba cu customerul. Intr-un form trimiti id de inregistrare, in altul returnezi numele butonului pe care s-a facut click, in altul trimiti valorile cu care vrei sa populezi niste controale, etc, etc etc. Cand ai nevoie sa trimiti/receptionezi date creezi o clasa Agent. Motivul principal este ca dintr-un form nu poti sa returnezi decat O SINGURA VALOARE. Si daca ai nevoie sa returnezi mai multe valori, esti mancat. De-aia faci o clasa (o SINGURA valoare) pe care o returnezi, dar in ea poti sa stochezi jdemii de valori, in proprietati. Subliniez cuvantul "valori". N-ai treaba cu codul.
Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/16/2011 9:31:03 PM
User is offlineRomeo
529 posts
1st


Re: Clasa agent
 (N/A) Modified By Romeo  on 8/17/2011 8:51:07 AM)
Salut Grig,

Am venit dintr-un scurt concediu. O inexactitate scrisa la repezeala a stricat sensul intrebarii. Revin cu detalii.

Printr-o clasa agent (din clasa de baza custom nu customer cum gresit am scris la repezeala) vreau sa transmit ca parametru o matrice de dimensiune 8x8 si sa mi se returneze o matrice 5x5 sa zicem; dar dimensiunile sunt variabile in functie de context: pot avea 4x4 cu 3x3.
Clasa agent primeste 2 parametri: 8 si 5. pe metoda Init imi adauga prin cod proprietatile param11, param12 ... param88, ret11, ret55 de exemplu.
In programul apelant o instantiez (cu parametii 8 si 5) si apoi completez prin 2 cicluri for proprietatile, dupa care folosesc clasa agent.

Instantiind aceasta clasa dintr-o clasa vizuala de tip custom, am doua avantaje: este vizuala si am cod.

Reformulez intrebarea: eu construind clasa pe baza lui custom am avantajele certe enumerate mai sus. Ce pierd in principiu daca nu folosesc Empty ca si clasa de baza. Nu-mi sunt clare avantajele lui Empty. La curs n-am reusit sa scriu asta.

PS: Scuza-ma; uneori sunt grabit si ma exprim defectos. Ma voi stradui sa remediez problema. Am cauta pe internet detalii legate de clasele agent dar n-am gasit nimic care sa ma dumireasca in aceasta privinta. Pe de alta parte am vazut de mult ceva intr-o carte legat de asta dar nu mai stiu in care.

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 8/17/2011 3:29:00 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Clasa agent
 (N/A)
Ma tem ca nu ai inteles principiul, dar in fine - nu pot sa scriu aici un ditamai articolul (am clavicula rupta si mi-e greu) si nici nu prea am chef, ca sa-ti spun sincer.

Foloseste-o cum doresti si asta e.

Eu as fi trimis valorile, indiferent daca fac parte dintr-o matrice sau nu. Azi ai 8x8 si presupui ca INTOTDEAUNA va fi patrata. Poate maine nu e, si atunci codul ala care populeaza s-a dus naibii.

Repet: rolul clasei agent este SA TRANSFERE VALORI DINTR-UN LOC IN ALTUL. ATAT.

Tu poti sa faci ce doresti.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/18/2011 7:55:37 AM
User is offlineRomeo
529 posts
1st


Re: Clasa agent
 (N/A) Modified By Romeo  on 8/18/2011 8:00:26 AM)
>Repet: rolul clasei agent este SA TRANSFERE VALORI DINTR-UN LOC IN ALTUL. ATAT

Intru totul de acord cu tine; numai ca daca am de trimis/returnat datele unei matrici patrate (pt a nu complica inutil discutia am evitat matrice m x n) este de dorit ca proprietatile respectivei clase sa FIE CREATE AUTOMAT, CAND SE CREEAZA CLASA AGENT, in functie de dimensiunile matricei, pe metoda Init a clasei custom. E o pierdere de timp de programare inutil sa scriu cod in afara clasei pt a creea proprietati, ori de cate ori o folosesc. Asta o fac pe Initul clasei custom. Daca insa folosesc o clasa agent de tip Empty nu am metoda Init.

Intre timp am gasit o resursa pe internet: clasa agent din Visual Studio 2010 ( agent Class = A class intended to be used as a base class for all independent agents. It is used to hide state from other agents and interact via message-passing. http://msdn.microsoft.com/en-us/library/dd470484.aspx ). Am sa studiez cu atentie materialul.

Se poate vedea foarte clar ca pe langa constructor/distructor exista multe alte metode, ceea ce imi confirma faptul ca la nivelul tehnologiilor .net din 2010 o clasa agent trebuie sa aiba si metode chiar daca scopul ei este 'SA TRANSFERE VALORI DINTR-UN LOC IN ALTUL.'.
Multumesc pentru informatiile care mi le-ai dat si care mi-au folosit.

Consider discutia incheiata.

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 8/18/2011 9:14:42 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Clasa agent
 (N/A)
Clasa aia se numeste agent dintr-o coincidenta nefericita - n-are nici o legatura cu ce discutam noi aici.

Sunt curios sa stiu: daca populezi matricea cu valori din codul clasei, in INIT, cum modifici valorile, daca e cazul? faci subclase care contin valorile? daca da, atunci de ce mai folosesti clase? la fel de bine ai putea sa-ti faci o functie care iti intoarce matricea aia.

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/18/2011 11:00:20 AM
User is offlineRomeo
529 posts
1st


Re: Clasa agent
 (N/A)
Pe metoda Init folosesc AddProerty doar pt a crea dinamic proprietatile celor 2 matrice m1 x n1 + m2 x n2 si eventual pt eventual niste initializari.
Cand folosesc ceva de genul NewOject(  ...[de tip clasa agent]..,m1,n1,m2,n2 ) am garantia ca proprietatile au fost create / eventual initializate dinamic fara a mai scrie cod in program ori de cate ori folosesc obiectul.
Atribuirea valorilor efective o fac evident prin cod in program (cicluri imbricate for de exemplu) pt ca de ficare data lucrez teoretic cu alte seturi de date.

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
  Visual FoxPro  Clase - VCX si PRG  Clasa agent...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement