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  WriteMethod...
 WriteMethod
 
 8/30/2011 8:59:55 AM
User is offlineAlexM
58 posts


WriteMethod
 (Romania)
Buna ziua, In help scrie ca WriteMethod este disponibila doar design time. Nu prea inteleg. Design time pot sa tastez efectiv codul in metoda sau sa fac copy/paste, sau in orice alt fel sa scriu cod in metodele in care am nevoie. Runtime este interesant sa poti scrie/rescrie o metoda. Poate ma ajuta cineva sa inteleg pentru ce a fost creata metoda WriteMethod. Si poate imi dati o sugestie despre cum sa scriu cod intr-o metoda dinamic (runtime). O posibilitate ar fi sa definesc runtime intreaga clasa si sa-i scriu si metoda care ma intereseaza apoi sa creez un obiect al clasei, dar as prefera intr-un obiect existent (instantiat in program) daca pot scrie/rescrie o metoda. Multumesc
 8/30/2011 9:42:15 AM
User is offlinemmarius28
139 posts
5th


Re: WriteMethod
 (N/A) Modified By mmarius28  on 8/30/2011 9:49:51 AM)

Uite o explicatie pentru WriteMethod: http://www.foxite.com/archives/where-in-the-world-is-writemethod-0000000734.htm

Cat despre scriere de cod dinamic (runtime), poti sa faci bindevent la evenimentul care te intereseaza (ex: grid1.column1.header1.click) in care sa apelezi o procedura.

Poate dai mai multe detalii despre ce vrei sa obtii.

P.S.
Ca sa formatezi frumos textul in forum, incearca sa postezi cu Internet Explorer. O sa apara un editor wysiwyg. Sau poti folosi taguri simple <p>,<b>

 8/30/2011 10:17:57 AM
User is offlineAlexM
58 posts


Re: WriteMethod
 (Romania)

M-am conformat (in ceea ce priveste postarea).

Vreau sa creez o clasa AutoFilter care sa se pozitioneze totdeauna deasupra gridului curent, sa-i copieze caracteristicile (coloane, tip date pentru fiecare coloana) si in care sa pot introduce datele de cautare pentru gridul curent.

Am scris codul pentru gridul AutoFilter, am o clasa IncrementalSearch cu metodele i_locate si i_search cu parametrii Tbl, ColoanaInCareCaut, MetodaDeExecutat.

Ideea era sa pun in fiecare camp de tip text din grid-ul AutoFilter in AutoFilter.columni.text1.InteractiveChange executia lui IncrementalSearch.I_locate.

As fi vrut sa folosesc WriteMethod pentru asta.

Pentru teste, am pus in thisform.grid1.column1.header1.dblclick codul care creeaza gridul AutoFilter destinat filtrarii datelor din grid1:

this.Parent.Parent.parent.lockscreen=.t.

SELECT (this.Parent.Parent.recordsource)

FiltruGrid='filtru'+this.Parent.Parent.recordsource

COPY STRUCTURE TO (cale_dbf+FiltruGrid)

IF NOT USED(filtrugrid)

USE (cale_dbf+FiltruGrid) IN 0 ALIAS fg

endif

SELECT fg

APPEND BLANK

frm=this.Parent.Parent.Parent

frm.AddObject('Ofg','grid')

frm.addobject('Cauta','incrementalsearch')

frm.ofg.columncount=this.Parent.Parent.columncount

frm.ofg.scrollbars=1

frm.ofg.height=this.Parent.Parent.rowheight+this.Parent.Parent.headerheight+18

frm.ofg.top=this.Parent.Parent.top-frm.ofg.height

frm.ofg.width=this.Parent.Parent.Width

frm.ofg.left=this.Parent.Parent.Left

frm.ofg.deletemark=.f.

frm.ofg.recordmark=.f.

frm.ofg.recordsourcetype=1

frm.ofg.recordsource='fg'

FOR i=1 TO this.Parent.Parent.columncount

setColumnWidth='frm.ofg.column'+ALLTRIM(STR(i))+'.width=this.Parent.Parent.column'+ALLTRIM(STR(i))+'.width'

&setColumnWidth

setHeaderCaption='frm.ofg.column'+ALLTRIM(STR(i))+'.header1.caption=this.Parent.Parent.column'+ALLTRIM(STR(i))+'.header1.caption'

&setHeaderCaption

setCS='cs=this.Parent.Parent.column'+ALLTRIM(STR(i))+'.controlsource'

&setCS

cs=SUBSTR(cs,AT('.',cs)+1, LEN(cs))

setColumnControlSource='frm.ofg.column'+ALLTRIM(STR(i))+'.controlsource="fg.'+cs+'"'

&setColumnControlSource

setTextControlSource='frm.ofg.column'+ALLTRIM(STR(i))+'.text1.controlsource="fg.'+cs+'"'

&setTextControlSource

setTipCamp='TipCamp=VARTYPE(fg.'+cs+')'

&setTimpCamp

DoInteractiveChange='this.parent.parent.parent.Cauta.i_locate("'+this.Parent.Parent.recordsource+'","'+cs+'")'

setWriteMethod='frm.ofg.column'+ALLTRIM(STR(i))+'.text1.WriteMethod("InteractiveChange",DoInteractiveChange)'

&SetWriteMethod

ENDFOR

 

frm.ofg.visible=.t.

frm.ofg.enabled=.t.

frm.ofg.readonly=.f.

this.Parent.Parent.parent.lockscreen=.f.

frm.ofg.setfocus

 8/30/2011 10:20:53 AM
User is offlineAlexM
58 posts


Re: WriteMethod
 (Romania)

Cat priveste bindevent, ai putea sa-mi dai mai multe detalii sau un link catre un exemplu?

Multumesc

 8/30/2011 10:59:09 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: WriteMethod
 (N/A)
 mmarius28 wrote

Uite o explicatie pentru WriteMethod: http://www.foxite.com/archives/where-in-the-world-is-writemethod-0000000734.htm



LOL :) nu credeam ca cineva o sa gaseasca vreodata postul ala al meu pe foxite, hahaha

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/30/2011 11:42:44 AM
User is offlineAlexM
58 posts


Re: WriteMethod
 (Romania)

Am rezolvat-o :

1. intr-o functie am definit o clasa Textboxsearch de tip textbox

2. in Textboxsearch.init am preluat parametrii pentru metoda i_locate si referinta la obiectul IncrementalSearch

3. in Textboxsearch.InteractiveChange am apelat IncremetalSearch.i_locate(....parametrii)

4. in clasa unde creez si setez gridul AutoFilter apelez functia care defineste clasa Textboxsearch

5. Setez pentru fiecare coloana a gridului AutoFilter     .currentcontrol=Textboxsearch

Varianta cu bindevent ar fi fost mai directa?

 

 

 8/30/2011 12:05:54 PM
User is offlinemmarius28
139 posts
5th


Re: WriteMethod
 (N/A)

Daca ai nevoie de autofilter la grid, poti sa folosesti clasa gridextras a lui Craig Boyd.

http://www.sweetpotatosoftware.com/spsblog/2008/11/25/VisualFoxProGridEnhancements.aspx

Arata ca autofilter-ul din Excel. In plus se pot ordona coloanele prin dublu click pe header, salveaza ordinea coloanelor din grid pe calculatorul utilizatorului, poate salva filtre si sortari, exporta datele filtrate din grid in format xls.

 8/30/2011 12:07:12 PM
User is offlinemmarius28
139 posts
5th


Re: WriteMethod
 (N/A)

 Grigore Dolghin wrote
LOL :) nu credeam ca cineva o sa gaseasca vreodata postul ala al meu pe foxite, hahaha

Esti peste tot :)

 8/31/2011 7:52:11 AM
User is offlineRomeo
529 posts
1st


Re: WriteMethod
 (N/A) Modified By Romeo  on 8/31/2011 7:53:00 AM)
 mmarius28 wrote

 Grigore Dolghin wrote
LOL :) nu credeam ca cineva o sa gaseasca vreodata postul ala al meu pe foxite, hahaha

Esti peste tot :)



Grig este un tip de fenomen -in domeniul pedagogic- pe care nu stiu daca-l intalnesti de doua ori in viata !
Am un prieten care a fost olimpic international de matematica, a predat la o univesitate di SUA, un CV care te striveste. Insa mi-a spus asa: cand eram elev in clasa a VIII a, am obtinut un rezultat foare bun la olimpiada de matematica si am fost selectat in lotul olimpic. In fiecare an faceam un trimestru in Bucuresti pregatire pt olimpiadele internationale - era din Constanta, si se muta la un liceu cu internat avand regim special doar de matematica - era pe vremea lui Ceausescu. Daca nu ar fi avut acest regim de invatamant, nu ar fi fost olimpicul stralucit, ci doar un elev foarte bun.

Ei bine, Grig a devenit stralucitor fara asemenea pregatiri speciale, cu toate ca s-a apucat foarte tarziu de informatica ! E ceva ce multi oameni super-profesionisti nu pot sa creada ca este posibil !

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 8/31/2011 11:41:16 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: WriteMethod
 (N/A)
Ei, Romeo, hai sa nu exageram, totusi...

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/31/2011 1:00:32 PM
User is offlineRomeo
529 posts
1st


Re: WriteMethod
 (N/A)
 Grigore Dolghin wrote
Ei, Romeo, hai sa nu exageram, totusi...


 Grigore Dolghin wrote
Ei, Romeo, hai sa nu exageram, totusi...

Un elev care ajungea la faza republicana a olimpiadei de matematica avea un parinte profesor de matematica bun - desigur au existat si exceptii pe vremea lui ceausescu.
Un elev care lua premii la olimpiada internationala de matematica era produsul exclusiv al unei echipe de profesori universitari, care aveau multa experinta in spate. Desigur in matematica lucrurile sunt mult mai sistematizate, mai abstrace si nu se modifica la 4-5 ani; echipa care te pregateste, face ca Octavian Belu aceleasi lucruri de 30 de ani.

Daca iei un om din asta, si-l pui sa faca informatica de la 0, cu forte proprii - cu toate ca are o diciplina si un mod superior de invatare, se simte lipsa unei echipe care sa-l pregateasca, si nu mai este la fel de uluitor in ceea ce face. Am vazut cu ochii mei.

La tine Grig, performanta provine din faptul ca cu forte proprii si avand la dispozitie doar internetul ai patruns adanc in programarea it de varf. Desigur nu te compari cu aia care fac numai pattern-uri din adolescenta...


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






Re: WriteMethod
 (N/A)
Adica exact ce spuneai mai sus: se vede lipsa unei echipe care sa ma pregateasca. Altfel, as fi devenit "uluitor", hahaha ;)

Just kidding, ok? ;)

Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 8/31/2011 11:33:59 PM
User is offlineRomeo
529 posts
1st


Re: WriteMethod
 (N/A)
 Grigore Dolghin wrote
Adica exact ce spuneai mai sus: se vede lipsa unei echipe care sa ma pregateasca. Altfel, as fi devenit "uluitor", hahaha ;)

Just kidding, ok? ;)

Imi pare rau, dar ai rasturnat sensul cuvintelor mele. Tu ai reusit prin munca multa si de calitate sa realizezi tocmai ce realizeaza o echipa intreaga in domeniul in care dezvolti aplicatiile. Si ai probat asta si-n America. Dar sa fii sigur ca exista si 'sihastri ai informaticii' pregatiti in conditii speciale, cu care nu ai cum sa te pui.

Imi povestea prietenul meu, ca multi din olimpicii internationali se duc la universitati americane unde fac cercetare: publica periodic articole; 95 % sunt inutile, dar statul american ii plateste pe toti (incepand cu 3000$ le luna la angajare) pt ca doreste sa aiba pe cat posibil un monopol in tot ce se creaza nou- (dupa 1991 o mare parte a scolii de matematica rusesti, a emigrat in sua). In fizica de exemplu ti se dau niste teme (despre care lumea de rand crede ca sunt noi) si se urmareste cum te descurci. Unele teme sunt deja rezolvate si se stiu solutiile. Daca esti foarte bun, si indeplinesti anumite conditii,i te preia un alt colectiv (sa zicem de cercetari militare). Esti pus la punct cu stadiul real al cercetarilor si incepi intr-adevar sa cauti ceva nou. Prin anii 80, cei care lucrau in increst spuneau ca dupa ce termini facultatea, ai nevoie de 10-15 ani de cercetare pt a ajunge la frontiera cunoasterii intr-un domeniu restrans. Abia dupa aia te apucai efectiv de cercetare adevarata-normal or fi existat si exceptii. In orice domeniu de varf important, trebuie sa fii sigur ca exista tehnologii nefacute publice, ca iti trebuie un timp asimilezi munca altora.

PS: Sprtivii romani au obtinut de-a lungul timpului unele rezultate de exceptie in sport: Ilie Nastase, Nadia Comaneci, Hagi - dar cu muschii si cu talentul. Dar in sah Romania nu a dat nici un campion mondial de seniori si nici nu va da curand. Desi unii juniori au obtinut rezultate remarcabile, totusi nimeni nu s-a apropiat de titlul de campion mondial: in spatele unui campion mondial, sta o echipa de superi-specialisti, ori in Romania nu au existat in sah o asemenea echipa. Juniorii - Florin Gheorghiu prin anii 60 a fost de 2 ori campion mondial de junori - au ramas sperante.

Slava Tatalui si Fiului si Sfantului Duh si acum si pururea si-n vecii vecilor. Amin.
 9/1/2011 3:12:17 PM
User is offlineLAU
240 posts
www.zof.ro
4th


Re: WriteMethod
 (N/A) Modified By LAU  on 9/1/2011 3:19:21 PM)
 Romeo wrote



Grig este un tip de fenomen -in domeniul pedagogic- pe care nu stiu daca-l intalnesti de doua ori in viata !



Sunt intru totul de acord cu tine si cred ca toti cei care au avut "parte" de Grig, ar spune acelas lucru.
Eu am avut sansa sa discut cu Grig despre client-server, o ora sau pate ceva mai mult si dupa o saptamana de munca(nopti albe, teste, etc.) nu ma recunosteam. Saltul a fost spectaculos(pentru mine si pentru nivelul la care ma aflam atunci).
In alta ordine de idei, sa nu uitam ca pe langa alte "drepturi", avem si dreptul la munca :), hmm... si parca tot nu ar fi de ajuns :)
  Visual FoxPro  Clase - VCX si PRG  WriteMethod...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement