Konu: ADIR() komutu sonucu çıkan attributes::xarray[xi,5] sonuçları
kendimce bilgisayarımda çift dosyaları bulan bir program yazarken:
xarray[xi,5] = "....." ne anlama geliyor ?
başka özellikli file attribute veya başka koşul var mı ?
bu dosyaları windows explorer ile kontrol ettim, aslında .tif gibi normal dosyalar
aşağıda programın commanbutton kodu, grdizin, grdosya diye 2 gride ve textdosyasay ve textdizinsay diye 2 textboxcontrole bağlamak gerekiyor...
peşinen teşekkürler
LOCAL xi,xDir
WITH ThisForm
.grdosyalar.RecordSource=""
.grdizin.RecordSource=""
CREATE CURSOR acaipler (ad C(200), soyad C(10), atribut C(10), boyut N(15), tarih D, dizin C(200))
INDEX ON dizin TAG dizin
INDEX ON boyut TAG boyut
INDEX ON soyad TAG soyad
INDEX ON tarih TAG tarih
INDEX ON ad TAG ad
CREATE CURSOR dizinler (dizin C(200), tamam L)
CREATE CURSOR dosyalar (ad C(200), soyad C(10), atribut C(10), boyut N(15), tarih D, dizin C(200))
INDEX ON dizin TAG dizin
INDEX ON boyut TAG boyut
INDEX ON soyad TAG soyad
INDEX ON tarih TAG tarih
INDEX ON ad TAG ad
.grdosyalar.RecordSource="dosyalar"
.grdizin.RecordSource="dizinler"
STORE 0 TO .textdizinsay.value,.textdosyasay.value
*-----------------------
m.xdir=GETDIR()
INSERT INTO dizinler VALUES (m.xdir, .f.)
SELECT dizinler
DO WHIL .t.
GO TOP
LOCATE FOR !dizinler.tamam
IF ! FOUND()
EXIT
ENDIF
REPLACE dizinler.tamam WITH .t. IN dizinler
m.Xdir=dizinler.dizin
SET DIRE TO (m.xdir)
=ADIR(.arraydizin,"*.*","D")
FOR m.Xi=1 TO ALEN(.arraydizin,1)
DO CASE
CASE .arraydizin[m.Xi,1]="." OR .arraydizin[m.Xi,1]=".."
CASE "D" $ .arraydizin[m.Xi,5]
INSERT INTO dizinler VALUES (ADDBS(ALLTRIM(m.xdir))+ALLTRIM(.arraydizin[m.Xi,1]), .f.)
.textdizinsay.value=.textdizinsay.value+1
CASE "A" $ .arraydizin[m.Xi,5]
INSERT INTO dosyalar VALUES (JUSTSTEM(.arraydizin[m.Xi,1]),;
JUSTEXT(.arraydizin[m.Xi,1]),;
.arraydizin[m.Xi,5],;
.arraydizin[m.Xi,2],;
.arraydizin[m.Xi,3], m.xdir )
.textdosyasay.value=.textdosyasay.value+1
* CASE "R" $ .arraydizin[m.Xi,5]
OTHERWISE
INSERT INTO acaipler VALUES (JUSTSTEM(.arraydizin[m.Xi,1]),;
JUSTEXT(.arraydizin[m.Xi,1]),;
.arraydizin[m.Xi,5],;
.arraydizin[m.Xi,2],;
.arraydizin[m.Xi,3], m.xdir )
ENDC
ENDF
.grdizin.Refresh
ENDD
.grdosyalar.Refresh
.grdosyalar.AutoFit
ENDW