1

Konu: Dizin Eleman Sayısını Belirleme

Clipperde Asize() adında bir fonksiyon var. Mevcut dizinin eleman sayısını arttırıp azaltabiliyordu. Foxpro da buna uygun bir fonksiyon var mı acaba?

2

Re: Dizin Eleman Sayısını Belirleme

Visual Fox Pro
AINS()

ADEL()
ASCAN()
ACOPY()
ASORT()


Komutlarını incele..
Array a ekleme yapma

Visual Fox Pro
CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer     && Open customer table
SELECT company FROM customer ;
   WHERE country = 'Germany' ;
   INTO ARRAY gaCompanies
gnCount = _TALLY
gcName = 'Seven Seas Imports'
CLEAR
DISPLAY MEMORY LIKE gaCompanies
IF ASCAN(gaCompanies, gcName) = 0  && Search for company
*** Company not found-add it ***
   DIMENSION gaCompanies[gnCount+1,1]
   = AINS(gaCompanies, gnCount-1)
   gaCompanies[gnCount-1] = gcName
ENDIF
DISPLAY MEMORY LIKE gaCompanies


Array dan Kayıt Silme

Visual Fox Pro
CLOSE DATABASES

OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer     && Open customer table
SELECT company FROM customer ;
   WHERE country = 'UK' ;
   INTO ARRAY gaCompanies
gnCount = _TALLY
gcName = 'Seven Seas Imports'
CLEAR
DISPLAY MEMORY LIKE gaCompanies
gnPos = ASCAN(gaCompanies, gcName)   && Search for company
IF gnPos != 0
   * Company found, remove it from the array
   = ADEL(gaCompanies, gnPos)
   gnCount = gnCount - 1
ENDIF
DISPLAY MEMORY LIKE gaCompanies

3

Re: Dizin Eleman Sayısını Belirleme

dimension aDizi[ nYeniSatirSayisi, nYeniKolonSayisi ]
Bunun disindakiler anlayana kadar cildirtici olabilir. Clipperdaki kadar esnek bir array yonetimi yok ne yazik ki (ancak bazi acilardan da daha iyi sayilabilir).