*----------------------------------------------- Function existacamp Param numef,numec Sele &numef For i=1 To Fcount() If Upper(Allt(Field(i)))=Upper(Allt(numec)) Return .T. Endif Next Return .F. *----------------------------------------------- Function existacimp Param numef,numec Sele &numef For i=1 To Fcount() If Upper(Allt(Field(i)))=Upper(Allt(numec)) Return .T. Endif Next Return .F. ***----------------------------------------------------------------------------------------------------------------- Procedure CAUT_ALF Parameters NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM Local MC0,MC1,MC2 Set Safety Off MC0='SELE '+NUMEBAZA MC1='VARMEM=M.'+NUMECIMP MC2='SET order TO TAG '+NUMECIMP &MC0 Go Top If Eof() Appe Blank Endif &MC2 OCA=Createobject("CAUTALF") OCA.Caption=CAPTEXT OCA.GRID1.RecordSource=NUMEBAZA OCA.GRID1.COLUMN1.ControlSource=NUMECIMP OCA.Show(1) Scatter Memvar &MC1 Return ***----------------------------------------------------------------------------------------------------------------- Procedure CAUT_ALFa Parameters NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM Local MC0,MC1,MC2 Set Safety Off MC0='SELE '+NUMEBAZA MC1='VARMEM=M.'+NUMECIMP MC2='SET order TO TAG '+NUMECIMP &MC0 Go Top If Eof() Appe Blank Endif &MC2 OCA=Createobject("CAUTALFa") OCA.Caption=CAPTEXT OCA.GRID1.RecordSource=NUMEBAZA OCA.GRID1.COLUMN1.ControlSource=NUMECIMP OCA.cmdrenunt1.Visible=.T. OCA.Show(1) Scatter Memvar &MC1 Return ***----------------------------------------------------------------------------------------------------------------- Procedure mesaj Parameters m1,m2 ot=Create('text') ot.label2.Caption=m1 ot.label3.Caption=m2 ot.Show(1) Return ***----------------------------------------------------------------------------------------------------------------- Procedure mesajval Parameters m1,m2 ot=Create('textval') ot.label2.Caption=m1 ot.valoare=m2 ot.Show(1) Return ***----------------------------------------------------------------------------------------------------------------- Procedure mesajatent Parameters m1,m2 ot=Create('atentie') ot.label2.Caption=m1 ot.label3.Caption=m2 ot.Show(1) Return ***----------------------------------------------------------------------------------------------------------------- Procedure mesajrosu Parameters m1,m2 ot=Create('atentierosu') ot.label2.Caption=m1 ot.label3.Caption=m2 ot.Show(1) Return ***----------------------------------------------------------------------------------------------------------------- Procedure alfabeta Parameters clasa,e5,b5,C5,e6,b6,C6,e7,b7,c7,expl m.explicatia=expl clasaact='actverif' oc=Create(clasa) With oc .eti5=e5 .eti6=e6 .eti7=e7 .baza5=b5 .baza6=b6 .baza7=b7 .cimp5=C5 .cimp6=C6 .cimp7=c7 .num=C5 .num2=C6 .expl=c7 Endwith If expl='do curs.spr' oc.expl=expl Endif If txt2=.F. m.FDOC="FACTURA" oc.text2.Enabled=.F. * oc.text2.controlsource="FACTURA" Endif oc.Show(1) Return ***----------------------------------------------------------------------------------------------------------------- Procedure alfabetaper Parameters clasa,e5,b5,C5,e6,b6,C6,e7,b7,c7,expl,cumpvanz m.explicatia=expl clasaact='actverif' oc=Create(clasa) With oc .eti5=e5 .eti6=e6 .eti7=e7 .baza5=b5 .baza6=b6 .baza7=b7 .cimp5=C5 .cimp6=C6 .cimp7=c7 .num=C5 .num2=C6 .expl=c7 .cv=cumpvanz Endwith oc.Show(1) Return ***----------------------------------------------------------------------------------------------------------------- *!* Procedure IESIRE *!* *close tables *!* *close database *!* *set defa to &dirgen *!* *erase actactan.* *!* *erase ?temp.* *!* Quit *!* Return ***----------------------------------------------------------------------------------------------------------------- Procedure mesajm Param txt,i Local T,p p=Iif(i<10,Str(i,1),Str(i,2)) T='orm.label'+p+'.caption="'+txt+'"' &T If i<20 i=i+1 Endif p=Iif(i<10,Str(i,1),Str(i,2)) T='orm.IMAGE'+p+'.VISIBLE=.T.' &T Return ***----------------------------------------------------------------------------------------------------------------- Func ULTIMAZIL Param LLL,AAA Local N Do Case Case Inlist(LLL,1,3,5,7,8,10,12) N=31 Case Inlist(LLL,4,6,9,11) N=30 Case Inlist(LLL,2) N=28 If Mod(AAA,2)=0 N=29 Endif Endcase Return N ***----------------------------------------------------------------------------------------------------------------- Function SERIA_LUNARA_E_CORECTA Local TIPAR,LOC,L L=Val(M.NL) LOC=L+Floor((L-1)/2) TIPAR='VOICUIONEMIL' Sele cul Go Top &&ESTE CORECTA ULTIMA SERIE? If Substr(TIPAR,L,1)=Substr(GREEN,LOC,1); AND Substr(red,1,1)=Substr(GREEN,3,1); AND Substr(red,2,1)=Substr(GREEN,6,1); AND Substr(red,3,1)=Substr(GREEN,9,1); AND Substr(red,4,1)=Substr(GREEN,12,1); AND Substr(red,5,1)=Substr(GREEN,15,1) Return .T. Else Return .F. Endif ***----------------------------------------------------------------------------------------------------------------- Function e_ultima_luna Sele calendar Loca For m.NL=NL And m.an=an Skip If Eof() ultima_luna=.T. Return .T. Else ultima_luna=.F. Return .F. Endif ***----------------------------------------------------------------------------------------------------------------- Procedure danu Parameters m1 od=Create('danu') od.label1.Caption=m1 od.Show(1) Return ***----------------------------------------------------------------------------------------------------------------- Procedure danuquit Parameters m1 od=Create('danu') od.label1.Caption=m1 od.Show(1) If buton=2 Quit Endif Return ***----------------------------------------------------------------------------------------------------------------- Proc pr Param j If j>M OP.Release OP=Crea('progresbar') j=0 OP.Show() Endif OP.PRBAR.Value=j OP.p=Round(100*OP.PRBAR.Value/OP.PRBAR.Max,2) OP.Refresh j=j+1 Return ***----------------------------------------------------------------------------------------------------------------- Proc MESAJT Param M.denumire OTEXT.oleTreeview.NODES.Add(,,,M.denumire,) STARE=STARE+1 Return ***----------------------------------------------------------------------------------------------------------------- Procedure nrord Parameters ALI Sele &ALI A=Reccount() If A=0 Return Endif If A>65000 Return 0 Endif Declare NROR(A) K=0 Scan K=K+1 NROR(K)=Recno() Endscan Return Function NRCRT NR=Ascan(NROR,Recno()) Return NR ***----------------------------------------------------------------------------------------------------------------- Procedure inchidprog Local CC,M.NUMESTATIE,UU Return UU=utilizator If !Used('OPTIUNI') Return Endif Sele OPTIUNI Loca For OPTIUNE='RETEA' If !Found() Or (Found() And !DA) Sele OPTIUNI Use Return Endif Sele OPTIUNI Use If !File('C:\CONTAFIN\TEMP\RETEA.DBF') Return Endif Sele 0 Use C:\CONTAFIN\TEMP\RETEA Shar Alias RETEA m.NUMESTATIE=Allt(NUMESTATIE) CC=DIRGEN Use If File('&DIRGEN\Dateretea\istoric.DBF') Sele 0 Use &DIRGEN\Dateretea\istoric Share Alias istoric Else Sele 0 Use &CC\START2000\Data\istoric Share Alias istoric Endif Sele istoric Set Order To DATAORAINT Loca For Empty(dataoraies) And Allt(statie)=m.NUMESTATIE And Allt(utilizator)=Allt(UU) If Found() If Flock() Repl dataoraies With Datetime() Unlock Endif Endif Sele istoric Use If File('&DIRGEN\Dateretea\activ.DBF') Sele 0 Use &DIRGEN\Dateretea\Activ Share Alias Activ Else Sele 0 Use &CC\START2000\Data\Activ Share Alias Activ Endif Sele Activ Loca For Allt(statie)=m.NUMESTATIE If !Found() Wait Wind 'Aceasta statie nu este inregistrata in server!' Else Sele Activ If Flock() Repl DEVIZE With .F. Endif Unlock Endif Sele Activ Use Return ***----------------------------------------------------------------------------------------------------------------- Proc gendinante Sele ORDante Set Filter To Sele CLIE Set Filter To Sele ORDante.*,CLIE.* From ORDante,CLIE Where ORDante.codc=CLIE.codc Into Cursor cliord Order By DATAI ovs=Crea('selante') ovs.Show(1) Return ***----------------------------------------------------------------------------------------------------------------- Procedure AFISNOTEPAD Param NUMEFIS Do Case Case File('C:\WINDOWS\NOTEPAD.EXE') Run /N C:\Windows\NOTEPAD.Exe &NUMEFIS Case File('C:\WINnt\system32\NOTEPAD.EXE') Run /N C:\WINnt\system32\NOTEPAD.Exe &NUMEFIS Otherwise Do mesajatent With 'Nu se poate vizualiza textul','pe acest sistem!' Endcase ***----------------------------------------------------------------------------------------------------------------- Procedure SCRIETEXT Param NUMEFIS,TEXTUL Set Textmerge To &NUMEFIS Additive Noshow TEXT <> ENDTEXT Return Endproc && SCRIETEXT ***----------------------------------------------------------------------------------------------------------------- Procedure INITTEXT Param NUMEFIS Set Textmerge To &NUMEFIS Set Textmerge On Noshow Return ***----------------------------------------------------------------------------------------------------------------- Procedure SFTEXT Set Textmerge To Set Textmerge Off Return ***----------------------------------------------------------------------------------------------------------------- Procedure adaugtext Param fisierul,TEXTUL Wait Wind TEXTUL Nowait Set Textmerge On Set Textmerge Noshow Set Textmerge To &fisierul Additive \<> Set Textmerge To Return ***----------------------------------------------------------------------------------------------------------------- Procedure errq Do mesaj With 'Pentru moment accesul nu este posibil','Incercati mai tarziu.' errq=.T. Return ***----------------------------------------------------------------------------------------------------------------- *!* Function SUMA_IN_VORBE *!* Param suma *!* Local i,lit,numar1 *!* Store 0 To i *!* Store '' To lit,numar1 *!* numar1=Space(12) *!* numar1=Str(suma,12) *!* Dimension A(12) *!* A(1)=Subs(numar1,12,1) *!* A(2)=Subs(numar1,11,1) *!* A(3)=Subs(numar1,10,1) *!* A(4)=Subs(numar1,9,1) *!* A(5)=Subs(numar1,8,1) *!* A(6)=Subs(numar1,7,1) *!* A(7)=Subs(numar1,6,1) *!* A(8)=Subs(numar1,5,1) *!* A(9)=Subs(numar1,4,1) *!* A(10)=Subs(numar1,3,1) *!* A(11)=Subs(numar1,2,1) *!* A(12)=Subs(numar1,1,1) *!* Sele mila1 *!* ********************* *!* Loca For NR=Val(A(12)) *!* lit=lit+Alltri(cr1) *!* If Val(A(11))=1 *!* If Val(A(10))=0 *!* Loca For NR=Val(A(11)) *!* lit=lit+Alltri(cr5) *!* Else *!* Loca For NR=Val(A(10)) *!* lit=lit+Alltri(cr4) *!* Endif *!* Else *!* If Val(A(10))=0 *!* Loca For NR=Val(A(11)) *!* lit=lit+Alltrim(cr5) *!* Else *!* Loca For NR=Val(A(11)) *!* lit=lit+Alltrim(cr2) *!* Loca For NR=Val(A(10)) *!* lit=lit+Alltrim(cr3) *!* Endif *!* Endif *!* Do Case *!* Case Val(A(12)) # 0 *!* lit=lit+' miliarde' *!* Case Val(A(11)) # 0 *!* lit=lit+' miliarde' *!* Case Val(A(10)) # 0 *!* lit=lit+' miliarde' *!* Endcase *!* *********************** *!* Loca For NR=Val(A(9)) *!* lit=lit+Alltri(cr1) *!* If Val(A(8))=1 *!* If Val(A(7))=0 *!* Loca For NR=Val(A(8)) *!* lit=lit+Alltri(cr5) *!* Else *!* Loca For NR=Val(A(7)) *!* lit=lit+Alltri(cr4) *!* Endif *!* Else *!* If Val(A(7))=0 *!* Loca For NR=Val(A(8)) *!* lit=lit+Alltrim(cr5) *!* Else *!* Loca For NR=Val(A(8)) *!* lit=lit+Alltrim(cr2) *!* Loca For NR=Val(A(7)) *!* lit=lit+Alltrim(cr3) *!* Endif *!* Endif *!* Do Case *!* Case Val(A(9)) # 0 *!* lit=lit+' milioane' *!* Case Val(A(8)) # 0 *!* lit=lit+' milioane' *!* Case Val(A(7)) # 0 *!* lit=lit+' milioane' *!* Endcase *!* *********************** *!* Loca For NR=Val(A(6)) *!* lit=lit+Alltri(cr1) *!* If Val(A(5))=1 *!* If Val(A(4))=0 *!* Loca For NR=Val(A(5)) *!* lit=lit+Alltri(cr5) *!* Else *!* Loca For NR=Val(A(4)) *!* lit=lit+Alltri(cr4) *!* Endif *!* Else *!* If Val(A(4))=0 *!* Loca For NR=Val(A(5)) *!* lit=lit+Alltrim(cr5) *!* Else *!* Loca For NR=Val(A(5)) *!* lit=lit+Alltrim(cr2) *!* Loca For NR=Val(A(4)) *!* lit=lit+Alltrim(cr3) *!* Endif *!* Endif *!* Do Case *!* Case Val(A(6)) # 0 *!* lit=lit+' mii' *!* Case Val(A(5)) # 0 *!* lit=lit+' mii' *!* Case Val(A(4)) # 0 *!* lit=lit+' mii' *!* Endcase *!* ********************* *!* Loca For NR=Val(A(3)) *!* lit=lit+Alltri(cr1) *!* If Val(A(2))=1 *!* If Val(A(1))=0 *!* Loca For NR=Val(A(2)) *!* lit=lit+Alltri(cr5) *!* Else *!* Loca For NR=Val(A(1)) *!* lit=lit+Alltri(cr4) *!* Endif *!* Else *!* If Val(A(1))=0 *!* Loca For NR=Val(A(2)) *!* lit=lit+Alltrim(cr5) *!* Else *!* Loca For NR=Val(A(2)) *!* lit=lit+Alltrim(cr2) *!* Loca For NR=Val(A(1)) *!* lit=lit+Alltrim(cr3) *!* Endif *!* Endif *!* Do Case *!* Case Val(A(3)) # 0 *!* lit=lit+' lei' *!* Case Val(A(2)) # 0 *!* lit=lit+' lei' *!* Case Val(A(1)) # 0 *!* lit=lit+' lei' *!* Endcase *!* Sele mila1 *!* *!* use *!* lit=Strtran(lit,' ','') *!* Return lit ***----------------------------------------------------------------------------------------------------------------- Procedure LIST_EXCEL Param TTABEL,TTITLU,TAHEADER External Array TAHEADER LCFIS=Allt(LOC)+"\"+Allt(NFSCURT)+"\TEMPO\LIST_"+Sys(2)+".XLS" LCFIS=Strtran(LCFIS,'\\','\') Set Textmerge On To (LCFIS) Noshow LCANTET=Uppe(Allt(TTITLU))+crlf \ \\<> \ If Parameters()<3 LCHEADER="" Sele (TTABEL) For i=1 To Fcount() LCHEADER=LCHEADER+Upper(Allt(Field(i)))+Tab Endfor LCHEADER=LCHEADER+crlf \\<> Sele (TTABEL) Scan LDATE="" For i=1 To Fcount() F=Field(i) T=&F LDATE=LDATE+Transform(T,"")+Tab Endfor LDATE=LDATE+crlf \\<> Endscan Set Textmerge To Else LCHEADER="" NRCOL=Alen(TAHEADER,1) Sele (TTABEL) For i=1 To NRCOL If Empty(TAHEADER[I,1]) LCHEADER=LCHEADER+Upper(Allt(TAHEADER[I,2]))+Tab Else LCHEADER=LCHEADER+Upper(Allt(TAHEADER[I,1]))+Tab Endif Endfor LCHEADER=LCHEADER+crlf \\<> Sele (TTABEL) Scan LDATE="" For i=1 To NRCOL * F=Field(TAHEADER[I,2]) F=TAHEADER[I,2] * IF EXISTACAMP(,F) T=&F LDATE=LDATE+Alltrim(Transform(T,""))+Tab * ELSE * LDATE=LDATE+" "+Tab * ENDIF Endfor LDATE=LDATE+crlf \\<> Endscan Set Textmerge To Endif * WAIT WINDOW "Se deschide Excel..." NOWAIT OEXCEL = Createobject("Excel.Application") OEXCEL.WorkBooks.Open(LCFIS) OEXCEL.Visible=1 *!* IF TYPE(OEXCEL)='0' *!* OEXCEL="" *!* ENDIF Endproc && list_excel *__________________________________________________________ && Folosesc un tabel (tabel,id) cu cate o linie pt fiecare tabel && aflu id-ul urmator si il scriu in tabela && returnez id-ul && EX1: LNEW_ID=NEW_ID("GRILA_SAL") --> urmatorul id din fara cautare in tabela originala && EX2: LNEW_ID=NEW_ID("GRILA_SAL","ID") --> urmatorul id din cu cautare in tabela originala dupa campul && ex3: LNEW_ID=NEW_ID("GRILA_SAL","ID",.T.) --> .T. INSEAMNA CA TABELUL ORIGINAL ESTE INDEXAT DUPA FAC SEEK IN LOC DE LOCATE Procedure NEW_ID Parameters TALIAS,TFIELD,TTAG&&,tTipField *WAIT WINDOW TALIAS *ON error Errorh(ERROR(),PROGRAM(),LINENO()) LLLOOKUP=Iif(Type("tfield")="C",.T.,.F.) LLChar = Iif(Type(TFIELD) = "C",.T.,.F.) LLTAG=Iif(Type("TTAG")="C",.T.,.F.) TALIAS=Upper(Alltrim(TALIAS)) *** Save Stats LCOLDALIAS = Alias() && keep current work area LNOLDRECNO = Iif(!Eof(),Recno(),0) && save record number LCSETDEL=Set("deleted") && lnmaxval = (10^pcidsize)-1 && wrap around after this val *** && PUN ORDINEA PE ID If LLLOOKUP And LLTAG Sele (TALIAS) Set Order To &TTAG Endif *** LCNEWID = 0 && our return result - NULL if failed Select IDS Locate For Upper(Alltrim(TABEL))=TALIAS If !Found() If Flock() Append Blank Replace TABEL With TALIAS Unlock Endif Endif Set Deleted Off && acum sunt pe inregistrarea corecta *** lock counter table and update counter Select IDS If Rlock() *** Avoid use of Macros - Convert to mem var & update it LNCOUNTERVAL = NEW_ID *** VERIFY ID NUMBER - search 'til no match Do While .T. *** increase the counter - update field and var LNCOUNTERVAL = LNCOUNTERVAL+1 *!* *** check for wraparound *!* IF lncounterval > lnmaxval *!* lncounterval = 1 *!* ENDIF Select (TALIAS) If LLLOOKUP If LLTAG LCAUT="SEEK "+Allt(Str(LNCOUNTERVAL)) Else If LLChar LCAUT="LOCATE FOR "+Allt(TFIELD)+"='"+Allt(Str(LNCOUNTERVAL))+"'" Else LCAUT="LOCATE FOR "+Allt(TFIELD)+"="+Allt(Str(LNCOUNTERVAL)) Endif *** now see if it exists &LCAUT * LOCATE FOR &TFIELD=LNCOUNTERVAL If !Found() *** No match - DONE Exit Endif && !found() Endif && lltag Else Exit Endif && lllokup Enddo && done Sele IDS Replace NEW_ID With LNCOUNTERVAL LCNEWID=LNCOUNTERVAL Unlock In IDS Endif && rlock() *** Reset record number on original file If !Empty(LCOLDALIAS) Sele (LCOLDALIAS) If LNOLDRECNO#0 Goto LNOLDRECNO Endif Endif Set Deleted &LCSETDEL Return LCNEWID Endproc && NEW_ID ***------------------------------------------------------------------------------------------------------- *------------------------------------------------------------------------------------------- *** returneaza un obiect cu proprietatile an si nl (de fapt cu toate coloanele din calendar) Function ret_luna Parameters tcTitlu Private loLuna Select calendar *!* USE DBF('calendar') IN 0 AGAIN ALIAS tsel_luna share Select * From calendar Into Cursor tsel_luna Order By an Desc ,NL Desc Select tsel_luna loLuna=myscatter('blank') Ol=Createobject("frm_sel_luna") With Ol .lblTitlu.Caption=tcTitlu If Empty(.cboLuna.RowSource) .cboLuna.RowSource="tsel_luna.nl,an" Endif .oLuna=loLuna If Empty(.cAlias) .cAlias=Left(.cboLuna.RowSource,At(".",.cboLuna.RowSource)-1) Endif Endwith Ol.Show(1) Use In tsel_luna Return loLuna Endfunc && ret_oluna ***----------------------------------------------------------------------------------------------------------------- *!* SET CLASSLIB TO d:\contafin\contab\clase\caut.vcx ADDITIVE *!* oo=ret_luna("Luna de inceput") *** scattered = MYSCATTER() && This is instead of SCATTER NAME... Procedure myscatter Parameters tcBlank Local llBlank, loScatter llBlank=.F. If Type('tcBlank')='C' If 'BLANK'$Upper(tcBlank) llBlank=.T. Endif Endif myScatterObject = Createobject("myScatterObject") If !Empty(Alias()) If llBlank Scatter Name loScatter Memo Blank Else Scatter Name loScatter Memo Endif lnFields = Fcount(Alias()) For N =1 To lnFields lcField=Field(N) lcvalue=loScatter.&lcField myScatterObject.AddProperty(lcField, lcvalue) Endfor Release loScatter Endif Return myScatterObject && Always return an object, so GATHER command could not choke. Endproc Define Class myScatterObject As Session * You may use any VFP class directly like myScatterObject = CREATEOBJECT("Session") * But you may optionally use this DEFINE CLASS * and declare the native PEMs here as HIDDEN if you want, so they are not exposed * in case you are using class other than Session or work with VFP version prior to VFP 7.0 Enddefine ***----------------------------------------------------------------------------------------------------------------- Procedure caut_alfa_cursor Parameters NUMEBAZA,NUMECIMP,CAPTEXT,VARMEM Local MC0,MC1,MC2, llVizibil Set Safety Off llVizibil = .T. MC0='SELE '+NUMEBAZA MC1='VARMEM=M.'+NUMECIMP *MC2='SET order TO TAG '+NUMECIMP MC2 = [INDEX ON ] +NUMECIMP+ [ TAG nume OF &loc\&nfscurt\tempo\xindex.idx COMPACT ASCENDING ] *!* &MC0 *!* &MC2 *!* GO TOP Local lcNumeCol2 Store '' To lcNumeCol2 LcCol = Alltrim(NUMEBAZA) + '.cod_fiscal' If Type(LcCol) # 'U' lcNumeCol2 = 'cod_fiscal' Endif LcCol = Alltrim(NUMEBAZA) + '.gest' If Type(LcCol) # 'U' lcNumeCol2 = 'gest' Endif LcCol = Alltrim(NUMEBAZA) + '.id_sectie' If Type(LcCol) # 'U' lcNumeCol2 = 'id_sectie' Endif If Empty(lcNumeCol2) lcNumeCol2 = 'space(4)' llVizibil = .F. Endif LcCol = Alltrim(NUMEBAZA) + '.id' If Type(LcCol) # 'U' lcNumeCol3 = 'id' Else lcNumeCol3 = 'space(4)' Endif Select Distinct &NUMECIMP, &lcNumeCol2, &lcNumeCol3 From (NUMEBAZA) Into Cursor tnomenclator Readwrite Order By &NUMECIMP OCA=Createobject("CAUTALFa") OCA.Caption=CAPTEXT OCA.GRID1.RecordSource='tnomenclator' OCA.GRID1.COLUMN1.ControlSource = NUMECIMP OCA.GRID1.COLUMN2.ControlSource = lcNumeCol2 OCA.GRID1.COLUMN2.Visible = llVizibil OCA.cmdrenunt1.Visible=.T. OCA.command1.Visible=.F. OCA.command2.Visible=.F. OCA.command3.Visible=.F. OCA.Show(1) *!* &MC0 *!* SCATTER MEMVAR *!* SET FILTER TO If buton=2 Use In tnomenclator Return Endif lcFile = Addbs(gcTempPath) + 'xindex.idx' If File(lcFile) Set Index To Delete File &lcFile Endif *!* &MC1 Select tnomenclator Scatter Memvar &MC1 Use In tnomenclator Return ***-----------------------------------------------------------------------------------------------------------------