Initial: flux text FoxBin2Prg (git urmareste .??2 in-arbore, binarele VFP git-ignored)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
707
Programe/Vechi/reindexare.prg
Normal file
707
Programe/Vechi/reindexare.prg
Normal file
@@ -0,0 +1,707 @@
|
||||
Parameters tcConditie
|
||||
&& conditia suplimentara && ex: gcAppPath$calealfa
|
||||
|
||||
If !Empty(tcConditie)
|
||||
lcConditie=Alltrim(tcConditie)
|
||||
Else
|
||||
lcConditie = []
|
||||
Endif
|
||||
*!* DIRFIRM=loc+'\'+NFSCURT
|
||||
*!* *CALEFIRMA=ALLTRIM(M.CALEFIRM)
|
||||
*!* SET DELETED OFF
|
||||
|
||||
|
||||
*!* IF !DIRECTORY('&CALEFIRMA')
|
||||
*!* DO MESAJrosu WITH 'Calea '+CALEFIRMA+' este incorecta!','Sugeram iesirea din program.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* ENDIF
|
||||
|
||||
*!* DATE=CALEFIRMA+'\AN'+m.an+'\DATE'+M.nl
|
||||
*!* DATEAN=CALEFIRMA+'\DATEAN'
|
||||
*!* CALET=DIRFIRM+'\TEMPO'
|
||||
*!* m.ANTET='S.C. '+M.FLUNG
|
||||
*!* WAIT ' ' TIMEOUT 0.01
|
||||
*!* CLOSE DATABASE
|
||||
*!* LOCAL ll,aa
|
||||
*!* ll=m.nl
|
||||
*!* aa=m.an
|
||||
|
||||
*!* DO deschidf WITH '&dirgen\Imob2003\date\','&dirgen\Imob2003\date\','fistotvmf','fistotv','CALE',''
|
||||
|
||||
*!* *do deschidprog in totv.prg
|
||||
*!* *-----------------
|
||||
*!* BUTON=2
|
||||
*!* DO dasaunu WITH 'Se reindexeaza fisierele lunare?'
|
||||
*!* IF BUTON=1
|
||||
*!* SET DELETED ON
|
||||
*!* SELE 0
|
||||
*!* USE &CALEFIRMA\DATEAN\calendar ALIAS calendar &&?????????????????????????????????
|
||||
*!* SELECT DISTINCT an AS anan FroM calendar INTO CURSOR TANCAL
|
||||
*!* SELECT TANCAL
|
||||
*!* SCAN
|
||||
*!* DO dasaunu WITH 'Se reindexeaza fisierele din anul '+anan+' ?'
|
||||
*!* IF BUTON=1
|
||||
*!* lc_an=anan
|
||||
*!* SELE calendar
|
||||
*!* SCAN FOR !DELETED() AND an=lc_an
|
||||
*!* SCATTER MEMVAR
|
||||
*!* DATE=CALEFIRMA+'\AN'+m.an+'\DATE'+M.nl
|
||||
*!* BUTON=2
|
||||
*!* DO dasaunu WITH 'Se reindexeaza fisierele din luna '+m.nl+' '+m.an+' ?'
|
||||
*!* IF BUTON=1
|
||||
*!* SELE fistotv
|
||||
*!* Maxs=RECCOUNT()
|
||||
*!* j=0
|
||||
*!* OP=CREA('PROGRESBAR')
|
||||
*!* OP.titlu.CAPTION='Se reindexeaza fisierele lunii '+m.nl+' '+m.an
|
||||
*!* OP.SHOW()
|
||||
*!* SELE fistotv
|
||||
*!* SET FILTER TO
|
||||
*!* *scan for inlist(allt(lower(cale)),'&date','&date\')
|
||||
*!* SCAN FOR 'DATE'$UPPER(cale) AND !('DATEAN'$UPPER(cale)) AND 'IMOB2003'$allt(UPPER(calealfa))
|
||||
*!* SCAT MEMV
|
||||
*!* WAIT WIND m.numef NOWAIT
|
||||
*!* DO reindf WITH m.calealfa,m.cale,m.numef,m.alias,m.ordine,m.exc
|
||||
*!* DO PR WITH j
|
||||
*!* ENDSCAN
|
||||
*!* OP.RELEASE
|
||||
*!* WAIT CLEAR
|
||||
*!* ENDIF
|
||||
*!* ENDSCAN
|
||||
*!* ENDIF
|
||||
*!* SELECT TANCAL
|
||||
*!* ENDSCAN
|
||||
*!* USE IN calendar
|
||||
*!* ENDIF
|
||||
|
||||
*!* BUTON=2
|
||||
*!* DO dasaunu WITH 'Se reindexeaza fisierele generale din DATEAN?'
|
||||
*!* IF BUTON=1
|
||||
*!* SELE fistotv
|
||||
*!* Maxs=RECCOUNT()
|
||||
*!* j=0
|
||||
*!* OP=CREA('PROGRESBAR')
|
||||
*!* OP.titlu.CAPTION='Se reindexeaza fisierele generale. Asteptati...'
|
||||
*!* OP.SHOW()
|
||||
*!* SELE fistotv
|
||||
*!* SET FILTER TO !DELETED()
|
||||
*!* *scan for inlist(allt(lower(cale)),'&calefirma\datean','&calefirma\datean\')
|
||||
*!* SCAN FOR 'DATEAN'$ALLT(UPPER(cale)) AND 'IMOB2003'$allt(UPPER(calealfa))
|
||||
*!* SCAT MEMV
|
||||
*!* WAIT WIND m.numef NOWAIT
|
||||
*!* DO reindf WITH m.calealfa,m.cale,m.numef,m.alias,m.ordine,m.exc
|
||||
*!* DO PR WITH j
|
||||
*!* ENDSCAN
|
||||
*!* OP.RELEASE
|
||||
*!* WAIT CLEAR
|
||||
*!* ENDIF
|
||||
|
||||
*!* BUTON=2
|
||||
*!* DO dasaunu WITH 'Se reindexeaza fisierele locale?'
|
||||
*!* IF BUTON=1
|
||||
*!* SELE fistotv
|
||||
*!* Maxs=RECCOUNT()
|
||||
*!* j=0
|
||||
*!* OP=CREA('PROGRESBAR')
|
||||
*!* OP.titlu.CAPTION='Se reindexeaza fisierele locale'
|
||||
*!* OP.SHOW()
|
||||
*!* SELE fistotv
|
||||
*!* *set filter to inlist(allt(UPPER(cale)),'&LOC\&NFSCURT\TEMPO','&LOC\&NFSCURT\TEMPO\')
|
||||
*!* SET FILTER TO 'LOC'$ALLT(UPPER(cale))
|
||||
*!* *brow
|
||||
*!* SCAN
|
||||
*!* SCAT MEMV
|
||||
*!* WAIT WIND m.numef NOWAIT
|
||||
*!* DO reindf WITH m.calealfa,m.cale,m.numef,m.alias,m.ordine,m.exc
|
||||
*!* DO PR WITH j
|
||||
*!* ENDSCAN
|
||||
*!* OP.RELEASE
|
||||
*!* WAIT CLEAR
|
||||
*!* ENDIF
|
||||
|
||||
*!* SET DELETED ON
|
||||
|
||||
*!* *---------------
|
||||
*!* m.nl=ll
|
||||
*!* m.an=aa
|
||||
*!* DO totv
|
||||
*!* RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
*!* *__________________________________________
|
||||
*!* PROCEDURE reindf
|
||||
*!* PARAM calealfa,cale,numef,ALIAS,ordine,exc
|
||||
*!* LOCAL calea,calea1,CALEAL,CALEAL1,T,fisa,fisv,fisa1,fisv1,aliasa
|
||||
|
||||
*!* calea=ALLT(cale)+'\'+ALLT(numef)+'.dbf'
|
||||
*!* calea1=ALLT(cale)+'\'+ALLT(numef)+'.*'
|
||||
*!* CALEAL=ALLT(calealfa)+'\'+ALLT(numef)+'.dbf'
|
||||
*!* CALEAL1=ALLT(calealfa)+'\'+ALLT(numef)+'.*'
|
||||
*!* fisa=ALLT(cale)+'\'+ALLT(numef)+'a.dbf'
|
||||
*!* fisa1=ALLT(cale)+'\'+ALLT(numef)+'a.*'
|
||||
*!* fisv=ALLT(cale)+'\_%'+ALLT(numef)+'.dbf'
|
||||
*!* fisv1=ALLT(cale)+'\_%'+ALLT(numef)+'.*'
|
||||
*!* aliasa=ALLT(ALIAS)+'a'
|
||||
|
||||
*!* IF FILE('&calea')
|
||||
*!* *wait wind calea
|
||||
*!* DELE FILE &fisa1
|
||||
*!* DELE FILE &fisv1
|
||||
*!* COPY FILE &CALEAL1 TO &fisa1
|
||||
*!* SELE 0
|
||||
*!* T='use '+fisa+' AGAIN ALIAS '+aliasa+' exclusive '
|
||||
*!* &T
|
||||
*!* *wait wind t
|
||||
*!* SELE &aliasa
|
||||
*!* ZAP
|
||||
*!* SELE &aliasa
|
||||
*!* APPEND FROM &calea
|
||||
*!* SELE &aliasa
|
||||
*!* *!* WAIT WINDOW "reindex"
|
||||
*!* *!* SELECT &aliasa
|
||||
*!* REINDEX
|
||||
*!* USE
|
||||
*!* RENAME &calea1 TO &fisv1
|
||||
*!* RENAME &fisa1 TO &calea1
|
||||
*!* ENDIF
|
||||
|
||||
*!* RETURN
|
||||
|
||||
|
||||
|
||||
*!* *______________________
|
||||
*!* PROC errdeschid
|
||||
*!* PARAM calealfa,cale,numef,ALIAS,ordine
|
||||
*!* LOCAL calea,calea2,CALEAL,CALEAL2
|
||||
*!* calea=ALLT(cale)+'\'+ALLT(numef)+'.dbf'
|
||||
*!* calea2=ALLT(cale)+'\'+ALLT(numef)+'.cdx'
|
||||
*!* CALEAL=ALLT(calealfa)+'\'+ALLT(numef)+'.dbf'
|
||||
*!* CALEAL2=ALLT(calealfa)+'\'+ALLT(numef)+'.cdx'
|
||||
*!* DO CASE
|
||||
*!* CASE ERROR()=24 &&Alias name is already in use
|
||||
*!* RETURN
|
||||
*!* CASE ERROR()=19 OR ERROR()=26 OR ERROR()=114 &&Index file does not match table. sau Table has no index order set.
|
||||
*!* DO mesajatent WITH 'Se reindexeaza fisierul "'+ALLT(numef)+'"',''
|
||||
*!* IF FILE('&caleal2') AND cale#calealfa
|
||||
*!* COPY FILE &CALEAL2 TO &calea2
|
||||
*!* USE &calea AGAIN ALIAS &ALIAS
|
||||
*!* SET INDEX TO &calea2
|
||||
*!* REINDEX
|
||||
*!* ELSE
|
||||
*!* DO MESAJrosu WITH 'Nu se poate reindexa fisierul "'+ALLT(numef)+'".','Sugeram iesirea din program.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* ENDIF
|
||||
|
||||
*!* CASE ERROR()=15 &&Not a table.
|
||||
*!* DO danuquit WITH 'Fisierul "'+ALLT(numef)+'" este defect. Il inlocuim cu o structura vida?'
|
||||
*!* IF FILE('&caleal')
|
||||
*!* COPY FILE &CALEAL1 TO &calea1
|
||||
*!* RETRY
|
||||
*!* ELSE
|
||||
*!* DO MESAJrosu WITH 'Nu se poate inlocui fisierul "'+ALLT(numef)+'".','Sugeram iesirea din program.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* ENDIF
|
||||
|
||||
*!* CASE ERROR()=3 OR ERROR()=1705 &&File is in use. or File access is denied.
|
||||
*!* DO MESAJrosu WITH 'Fisierul "'+ALLT(numef)+'" este deschis de alt program.','Inchideti fisierul si apoi redeschideti programul.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* OTHERWISE
|
||||
*!* DO MESAJrosu WITH 'Eroare necunoscuta (Nr.'+ALLT(STR(ERROR()))+')', 'Sugeram iesirea din program.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* ENDCASE
|
||||
|
||||
*!* RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*!* *____________________
|
||||
*!* PROC errgen
|
||||
*!* DO MESAJrosu WITH 'Eroare necunoscuta (Nr.'+ALLT(STR(ERROR()))+')', 'Sugeram iesirea din program.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* RETURN
|
||||
|
||||
|
||||
|
||||
*!* *___ PROCEDURA DE DESCHIDERE DIN AFARA LUI TOTV_________________________________________________
|
||||
*!* PROC DES
|
||||
*!* PARAM ALIASF
|
||||
*!* IF !DIRECTORY('&CALEFIRMA')
|
||||
*!* DO MESAJrosu WITH 'Calea '+CALEFIRMA+' este incorecta!','Sugeram iesirea din program.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* ENDIF
|
||||
*!* DATE=CALEFIRMA+'\AN'+M.an+'\DATE'+M.nl
|
||||
*!* IF !USED('FISTOTV')
|
||||
*!* DO deschidf WITH '&dirgen\Imob2003\date\','&dirgen\Imob2003\date\','fistotvmf','fistotv','CALE',''
|
||||
*!* ENDIF
|
||||
*!* SELE fistotv
|
||||
*!* LOCA FOR ALLT(UPPER(ALIAS))=ALLT(UPPER(ALIASF))
|
||||
*!* IF !FOUND()
|
||||
*!* DO MESAJrosu WITH 'Alias '+ALIASF+' inexistent!','Sugeram iesirea din program.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* ELSE
|
||||
*!* SCAT MEMV
|
||||
*!* DO deschidf WITH m.calealfa,m.cale,m.numef,m.alias,m.ordine,m.exc
|
||||
*!* ENDIF
|
||||
*!* RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*!* *______________________________
|
||||
*!* PROCEDURE reindexaretempo
|
||||
*!* DIRFIRM=loc+'\'+NFSCURT
|
||||
*!* *CALEFIRMA=ALLTRIM(M.CALEFIRM)
|
||||
|
||||
*!* IF !DIRECTORY('&CALEFIRMA')
|
||||
*!* DO MESAJrosu WITH 'Calea '+CALEFIRMA+' este incorecta!','Sugeram iesirea din program.'
|
||||
*!* QUIT
|
||||
*!* RETRY
|
||||
*!* ENDIF
|
||||
|
||||
*!* DATE=CALEFIRMA+'\AN'+m.an+'\DATE'+M.nl
|
||||
*!* DATEAN=CALEFIRMA+'\DATEAN'
|
||||
*!* CALET=DIRFIRM+'\TEMPO'
|
||||
*!* m.ANTET='S.C. '+M.FLUNG
|
||||
*!* WAIT ' ' TIMEOUT 0.01
|
||||
*!* CLOSE DATABASE
|
||||
*!* LOCAL ll,aa
|
||||
*!* ll=m.nl
|
||||
*!* aa=m.an
|
||||
|
||||
*!* DO deschidf WITH '&dirgen\Imob2003\date\','&dirgen\Imob2003\date\','fistotvmf','fistotv','CALE',''
|
||||
|
||||
|
||||
*!* SELE fistotv
|
||||
*!* Maxs=RECCOUNT()
|
||||
*!* j=0
|
||||
*!* OP=CREA('PROGRESBAR')
|
||||
*!* OP.titlu.CAPTION='Se reindexeaza fisierele locale'
|
||||
*!* OP.SHOW()
|
||||
*!* SELE fistotv
|
||||
*!* *set filter to inlist(allt(UPPER(cale)),'&LOC\&NFSCURT\TEMPO','&LOC\&NFSCURT\TEMPO\')
|
||||
*!* SET FILTER TO 'LOC'$ALLT(UPPER(cale))
|
||||
*!* *brow
|
||||
*!* SCAN
|
||||
*!* SCAT MEMV
|
||||
*!* WAIT WIND m.numef NOWAIT
|
||||
*!* DO reindf WITH m.calealfa,m.cale,m.numef,m.alias,m.ordine,m.exc
|
||||
*!* DO PR WITH j
|
||||
*!* ENDSCAN
|
||||
*!* OP.RELEASE
|
||||
*!* WAIT CLEAR
|
||||
*!* m.nl=ll
|
||||
*!* m.an=aa
|
||||
*!* DO totv
|
||||
*!* RETURN
|
||||
|
||||
**** sfarsit reindexare imobilizari
|
||||
|
||||
Wait ' ' Timeout 0.01
|
||||
Close Database
|
||||
Local ll,aa
|
||||
ll=m.nl
|
||||
aa=m.an
|
||||
|
||||
|
||||
Do deschidprog In totv.prg
|
||||
|
||||
*-----------------
|
||||
Local man
|
||||
man=''
|
||||
BUTON=2
|
||||
*Do DANU With 'Se reindexeaza fisierele lunare?'
|
||||
*If BUTON=1
|
||||
Sele 0
|
||||
Use &CALEFIRMA\DATEAN\calendar Alias calendar
|
||||
Select Distinct an From calendar Into Cursor jan Order By an
|
||||
Select jan
|
||||
Scan
|
||||
man=an
|
||||
Do dasaunu With 'Se reindexeaza fisierele lunare din anul '+man+'?'
|
||||
If BUTON=1
|
||||
Set Deleted Off && pentru mf
|
||||
Sele calendar
|
||||
Scan For !Deleted() And an=man
|
||||
Scatter Memvar
|
||||
Date=CALEFIRMA+'\AN'+m.an+'\DATE'+M.nl
|
||||
BUTON=2
|
||||
Do dasaunu With 'Se reindexeaza fisierele din luna '+m.nl+' '+m.an+' ?'
|
||||
If BUTON=1
|
||||
Sele fistotv
|
||||
MAXS=Reccount()
|
||||
j=0
|
||||
OP=Crea('PROGRESBAR')
|
||||
OP.titlu.Caption='Se reindexeaza fisierele lunii '+m.nl+' '+m.an
|
||||
OP.Show()
|
||||
|
||||
|
||||
Sele fistotv
|
||||
Set Filter To
|
||||
*scan for inlist(allt(lower(cale)),'&date','&date\')
|
||||
lcFiltru = ['DATE'$UPPER(cale) AND !('DATEAN'$UPPER(cale)) AND !('_ALFA'$ALLT(UPPER(cale)))]
|
||||
lcFiltru = lcFiltru + Iif(!Empty(lcConditie),[ and ]+lcConditie,"")
|
||||
|
||||
Scan For &lcFiltru
|
||||
Scat Name loFis
|
||||
Wait Wind loFis.numef Nowait
|
||||
Do reindf With loFis.calealfa,loFis.cale,loFis.numef,loFis.Alias,loFis.ordine,loFis.exc
|
||||
Do PR With j
|
||||
Endscan
|
||||
OP.Release
|
||||
Release loFis
|
||||
Wait Clear
|
||||
Endif
|
||||
Endscan
|
||||
Set Deleted On
|
||||
Endif
|
||||
Select jan
|
||||
Endscan
|
||||
Use In calendar
|
||||
*Endif
|
||||
|
||||
BUTON=2
|
||||
Do dasaunu With 'Se reindexeaza fisierele generale din DATEAN?'
|
||||
If BUTON=1
|
||||
Sele fistotv
|
||||
MAXS=Reccount()
|
||||
j=0
|
||||
OP=Crea('PROGRESBAR')
|
||||
OP.titlu.Caption='Se reindexeaza fisierele generale. Asteptati...'
|
||||
OP.Show()
|
||||
Sele fistotv
|
||||
Set Filter To
|
||||
*scan for inlist(allt(lower(cale)),'&calefirma\datean','&calefirma\datean\')
|
||||
lcFiltru = ['DATEAN'$ALLT(UPPER(cale)) AND !('_ALFA'$ALLT(UPPER(cale)))]
|
||||
lcFiltru = lcFiltru + Iif(!Empty(lcConditie),[ and ]+lcConditie,"")
|
||||
Scan For &lcFiltru
|
||||
Scat Name loFis
|
||||
Wait Wind loFis.numef Nowait
|
||||
Do reindf With loFis.calealfa,loFis.cale,loFis.numef,loFis.Alias,loFis.ordine,loFis.exc
|
||||
Do PR With j
|
||||
Endscan
|
||||
OP.Release
|
||||
Wait Clear
|
||||
Endif
|
||||
|
||||
BUTON=2
|
||||
Do dasaunu With 'Se reindexeaza fisierele locale?'
|
||||
If BUTON=1
|
||||
Sele fistotv
|
||||
MAXS=Reccount()
|
||||
j=0
|
||||
OP=Crea('PROGRESBAR')
|
||||
OP.titlu.Caption='Se reindexeaza fisierele locale'
|
||||
OP.Show()
|
||||
Sele fistotv
|
||||
*set filter to inlist(allt(UPPER(cale)),'&LOC\&NFSCURT\TEMPO','&LOC\&NFSCURT\TEMPO\')
|
||||
Set Filter To 'LOC'$Allt(Upper(cale))
|
||||
*brow
|
||||
Scan
|
||||
Scat Name loFis
|
||||
Wait Wind loFis.numef Nowait
|
||||
Do reindf With loFis.calealfa,loFis.cale,loFis.numef,loFis.Alias,loFis.ordine,loFis.exc
|
||||
Do PR With j
|
||||
Endscan
|
||||
OP.Release
|
||||
Release loFis
|
||||
Wait Clear
|
||||
Endif
|
||||
|
||||
*---------------
|
||||
m.nl=ll
|
||||
m.an=aa
|
||||
Do totv
|
||||
|
||||
Return
|
||||
|
||||
*__________________________________________
|
||||
Procedure reindf
|
||||
Param calealfa,cale,numef,Alias,ordine,exc
|
||||
Local calea,calea1,CALEAL,CALEAL1,T,fisa,fisv,fisa1,fisv1,aliasa
|
||||
|
||||
calea=Allt(cale)+'\'+Allt(numef)+'.dbf'
|
||||
calea1=Allt(cale)+'\'+Allt(numef)+'.*'
|
||||
CALEAL=Allt(calealfa)+'\'+Allt(numef)+'.dbf'
|
||||
CALEAL1=Allt(calealfa)+'\'+Allt(numef)+'.*'
|
||||
fisa=Allt(cale)+'\'+Allt(numef)+'_a.dbf'
|
||||
fisa1=Allt(cale)+'\'+Allt(numef)+'_a.*'
|
||||
fisv=Allt(cale)+'\_%'+Allt(numef)+'.dbf'
|
||||
fisv1=Allt(cale)+'\_%'+Allt(numef)+'.*'
|
||||
aliasa=Allt(numef)+'_a'
|
||||
|
||||
lcFisierFirma=calea
|
||||
lcAlias=Alltrim(Alias)
|
||||
llUsed=.F.
|
||||
If Used(lcAlias)
|
||||
llUsed=.T.
|
||||
lcFis=Juststem(Dbf(lcAlias))
|
||||
Use In (lcAlias)
|
||||
Endif
|
||||
|
||||
x=Fopen('&lcFisierFirma',12)
|
||||
If x < 0
|
||||
Do mesaj With "Fisierul "+lcFisierFirma," Este deschis de alt program. Nu se poate reindexa"
|
||||
If llUsed
|
||||
Do des With lcAlias
|
||||
Endif
|
||||
Return
|
||||
Endif
|
||||
Fclose(x)
|
||||
|
||||
|
||||
|
||||
If File('&calea')
|
||||
Wait Window lcAlias+[ ]+"Se sterg fisierele temporare..." Nowait
|
||||
|
||||
Dele File &fisa1
|
||||
Dele File &fisv1
|
||||
|
||||
Wait Window lcAlias+[ ]+"Se copiaza structurile vide..." Nowait
|
||||
Copy File &CALEAL1 To &fisa1
|
||||
Sele 0
|
||||
T='use '+fisa+' AGAIN ALIAS '+aliasa+' exclusive '
|
||||
&T
|
||||
*wait wind t
|
||||
Sele &aliasa
|
||||
Zap
|
||||
|
||||
Wait Window lcAlias+[ ]+"Se copiaza datele originale..." Nowait
|
||||
*!* SELE &aliasa
|
||||
*!* APPEND FROM &calea
|
||||
reindf_append(lcAlias,aliasa,calea)
|
||||
|
||||
Wait Window lcAlias+[ ]+"Se reindexeaza fisierul..." Nowait
|
||||
Sele &aliasa
|
||||
Reindex
|
||||
Use
|
||||
|
||||
Rename &calea1 To &fisv1
|
||||
Rename &fisa1 To &calea1
|
||||
|
||||
Wait Window lcAlias+[ ]+"Operatiune incheiata cu succes..." Nowait
|
||||
Endif
|
||||
|
||||
Endproc && reindf
|
||||
|
||||
***----------------------------------------------------------------------------------
|
||||
*** copie indexul din structurile vide, deschide exclusiv fisierul si da reindex
|
||||
*** fisierul trebuie sa fie inchis
|
||||
Procedure REINDFCDX
|
||||
Parameters tcCaleAlfa,tcCale,tcNumef
|
||||
*** calea structurii vide, calea fisierului, numele fisierului
|
||||
|
||||
Private lcCDXd,lcDBF,lcCDXs
|
||||
|
||||
lcCDXd=Allt(tcCale)+'\'+Allt(tcNumef)+'.cdx'
|
||||
lcDBF=Allt(tcCale)+'\'+Allt(tcNumef)+'.dbf'
|
||||
lcCDXs=Allt(tcCaleAlfa)+'\'+Allt(tcNumef)+'.cdx'
|
||||
|
||||
Wait Window "Se copiaza structurile vide..." Nowait
|
||||
|
||||
Copy File('&lcCDXs') To ('&lcCDXd')
|
||||
Use ('&lcDBF') In 0 Excl Alias FisierR
|
||||
Set Index To ('&lcCDXd')
|
||||
|
||||
Wait Window "Se reindexeaza fisierul..." Nowait
|
||||
Select FisierR
|
||||
Reindex
|
||||
Use In FisierR
|
||||
|
||||
Wait Window "Operatiune incheiata cu succes..." Nowait
|
||||
|
||||
Endproc && REINDFCDX
|
||||
|
||||
|
||||
*______________________
|
||||
Proc errdeschid_r
|
||||
Param calealfa,cale,numef,Alias,ordine
|
||||
Local calea,calea2,CALEAL,CALEAL2
|
||||
calea=Allt(cale)+'\'+Allt(numef)+'.dbf'
|
||||
calea2=Allt(cale)+'\'+Allt(numef)+'.cdx'
|
||||
CALEAL=Allt(calealfa)+'\'+Allt(numef)+'.dbf'
|
||||
CALEAL2=Allt(calealfa)+'\'+Allt(numef)+'.cdx'
|
||||
Do Case
|
||||
Case Error()=24 &&Alias name is already in use
|
||||
Return
|
||||
Case Error()=19 Or Error()=26 Or Error()=114 &&Index file does not match table. sau Table has no index order set.
|
||||
Do mesajatent With 'Se reindexeaza fisierul "'+Allt(numef)+'"',''
|
||||
If File('&caleal2') And cale#calealfa
|
||||
Copy File &CALEAL2 To &calea2
|
||||
Use &calea Again Alias &Alias
|
||||
Set Index To &calea2
|
||||
Reindex
|
||||
Else
|
||||
Do MESAJrosu With 'Nu se poate reindexa fisierul "'+Allt(numef)+'".','Sugeram iesirea din program.'
|
||||
Quit
|
||||
Retry
|
||||
Endif
|
||||
|
||||
Case Error()=15 &&Not a table.
|
||||
Do danuquit With 'Fisierul "'+Allt(numef)+'" este defect. Il inlocuim cu o structura vida?'
|
||||
If File('&caleal')
|
||||
Copy File &CALEAL1 To &calea1
|
||||
Retry
|
||||
Else
|
||||
Do MESAJrosu With 'Nu se poate inlocui fisierul "'+Allt(numef)+'".','Sugeram iesirea din program.'
|
||||
Quit
|
||||
Retry
|
||||
Endif
|
||||
|
||||
Case Error()=1683 &&index tag is not found
|
||||
Do MESAJrosu With "Structura vida a fisierului "+Alltrim(numef)+" este stricata!",""
|
||||
*!* Do MESAJrosu With 'Fisierul "'+Allt(numef)+'" este deschis de alt program.','Inchideti fisierul si apoi redeschideti programul.'
|
||||
Quit
|
||||
Retry
|
||||
Case Error()=3 Or Error()=1705 &&File is in use. or File access is denied.
|
||||
Do MESAJrosu With 'Fisierul "'+Allt(numef)+'" este deschis de alt program.','Inchideti fisierul si apoi redeschideti programul.'
|
||||
Quit
|
||||
Retry
|
||||
Otherwise
|
||||
Do MESAJrosu With 'Eroare necunoscuta (Nr.'+Allt(Str(Error()))+')', 'Sugeram iesirea din program.'
|
||||
Quit
|
||||
Retry
|
||||
Endcase
|
||||
|
||||
Endproc && errdeschid_r
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*____________________
|
||||
Proc errgen
|
||||
Do MESAJrosu With 'Eroare necunoscuta (Nr.'+Allt(Str(Error()))+')', 'Sugeram iesirea din program.'
|
||||
Quit
|
||||
Retry
|
||||
Return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*______________________________
|
||||
Procedure reindexaretempo
|
||||
DIRFIRM=loc+'\'+NFSCURT
|
||||
*CALEFIRMA=ALLTRIM(M.CALEFIRM)
|
||||
|
||||
If !Directory('&CALEFIRMA')
|
||||
Do MESAJrosu With 'Calea '+CALEFIRMA+' este incorecta!','Sugeram iesirea din program.'
|
||||
Quit
|
||||
Retry
|
||||
Endif
|
||||
Date=CALEFIRMA+'\AN'+m.an+'\DATE'+M.nl
|
||||
DATEAN=CALEFIRMA+'\DATEAN'
|
||||
CALET=DIRFIRM+'\TEMPO'
|
||||
m.ANTET='S.C. '+M.FLUNG
|
||||
Wait ' ' Timeout 0.01
|
||||
Close Database
|
||||
Local ll,aa
|
||||
ll=m.nl
|
||||
aa=m.an
|
||||
|
||||
*!* DO deschidf WITH '&dirgen\gestiuni\date\datean\','&dirgen\gestiuni\date\datean\','fistotvgest','fistotv','CALE',''
|
||||
Do deschidprog In totv.prg
|
||||
|
||||
Sele fistotv
|
||||
M=Reccount()
|
||||
j=0
|
||||
OP=Crea('PROGRESBAR')
|
||||
OP.titlu.Caption='Se reindexeaza fisierele locale'
|
||||
OP.Show()
|
||||
Sele fistotv
|
||||
*set filter to inlist(allt(UPPER(cale)),'&LOC\&NFSCURT\TEMPO','&LOC\&NFSCURT\TEMPO\')
|
||||
Set Filter To 'LOC'$Allt(Upper(cale))
|
||||
*brow
|
||||
Scan
|
||||
Scat Name loFis
|
||||
Wait Wind loFis.numef Nowait
|
||||
Do reindf With loFis.calealfa,loFis.cale,loFis.numef,loFis.Alias,loFis.ordine,loFis.exc
|
||||
Do PR With j
|
||||
Endscan
|
||||
OP.Release
|
||||
|
||||
Release loFis
|
||||
|
||||
Wait Clear
|
||||
m.nl=ll
|
||||
m.an=aa
|
||||
Do totv
|
||||
|
||||
|
||||
Endproc && reindexaretempo
|
||||
|
||||
|
||||
|
||||
*** INCEPUT PROCEDURA reindf_append
|
||||
Procedure reindf_append
|
||||
Parameters tcAlias,tcAlias_A,tcFisOriginal
|
||||
|
||||
&& tcAlias: aliasul tabelului
|
||||
&& tcAlias_A: aliasul tabelului vid+"_A"
|
||||
&& tcFisOriginal: calea catre fisierul care se reindexeaza cu datE
|
||||
|
||||
Private lcAlias,lcAlias_A,lcFisOriginal,llUsed
|
||||
|
||||
|
||||
lcAlias=Alltrim(Upper(tcAlias))
|
||||
lcAlias_A=Alltrim(Upper(tcAlias_A))
|
||||
lcFisOriginal=Alltrim(Upper(tcFisOriginal))
|
||||
|
||||
Do Case
|
||||
Case Inlist(lcAlias,"DEBITOR","CREDITOR","ACHIT542")
|
||||
|
||||
|
||||
If !EXISTACAMP(lcAlias_A,"LUAT") && daca in fisierul structura vida nu am campul <luat>
|
||||
lcFisTemp=Alltrim(loc)+"\"+Alltrim(NFSCURT)+"\tempo\T"+lcAlias+".dbf"
|
||||
lcFisTemp=Strtran(lcFisTemp,"\\","\")
|
||||
|
||||
&& deschid fisierul original
|
||||
llUsed=.T.
|
||||
If !Used(lcAlias)
|
||||
llUsed=.F.
|
||||
Use ('&lcFisOriginal') In 0 Shared Alias &lcAlias
|
||||
Endif
|
||||
|
||||
Select(lcAlias)
|
||||
If !EXISTACAMP(lcAlias,"LUAT") && DACA IN FISIERUL ORIGINAL NU EXISTA CAMPUL <LUAT> NU FAC NIMIC
|
||||
If !llUsed
|
||||
Use In (lcAlias)
|
||||
Endif
|
||||
Else
|
||||
If Inlist(lcAlias,"DEBITOR","ACHIT542")
|
||||
Select *,luat As debit,dat As credit From &lcAlias Into Cursor tt
|
||||
Else
|
||||
Select *,dat As debit,luat As credit From &lcAlias Into Cursor tt
|
||||
Endif
|
||||
If !llUsed
|
||||
Use In (lcAlias)
|
||||
Endif
|
||||
Select (lcAlias_A)
|
||||
Append From Dbf('tt')
|
||||
Use In tt
|
||||
Endif
|
||||
Endif
|
||||
Otherwise
|
||||
Select (lcAlias_A)
|
||||
Append From &lcFisOriginal
|
||||
|
||||
Endcase
|
||||
|
||||
|
||||
Endproc
|
||||
*** SFARSIT PROCEDURA reindf_append
|
||||
Reference in New Issue
Block a user