- ArrayBsearch
- ArrayCopy
- ArrayCompare
- ArrayFree
- ArrayGetAsSeries
- ArrayInitialize
- ArrayFill
- ArrayIsDynamic
- ArrayIsSeries
- ArrayMaximum
- ArrayMinimum
- ArrayPrint
- ArrayRange
- ArrayResize
- ArrayInsert
- ArrayRemove
- ArrayReverse
- ArraySetAsSeries
- ArraySize
- ArraySort
- ArraySwap
- ArrayToFP16
- ArrayToFP8
- ArrayFromFP16
- ArrayFromFP8
ArrayRemove
Belirtilen eleman sayısını, belirtilen indeksten başlayarak diziden kaldırır.
bool ArrayRemove(
|
Parametreler
array[]
[in][out] Dizi.
start
[in] Dizi elemanlarının kaldırılmaya başlandığı indeks.
count=WHOLE_ARRAY
[in] Kaldırılan eleman sayısı. WHOLE_ARRAY değeri, tüm elemanların belirtilen indeksten dizinin sonuna kadar kaldırılması anlamına gelir.
Geri dönüş değeri
Başarılı olursa true, aksi takdirde false olarak geri döner. Hata hakkında bilgi edinmek için, GetLastError() fonksiyonunu çağırın. Olası hatalar:
- 5052 – ERR_SMALL_ARRAY (aşırı büyük start değeri),
- 5056 – ERR_SERIES_ARRAY (dizi değiştirilemez, gösterge tamponu),
- 4003 – ERR_INVALID_PARAMETER (aşırı büyük count değeri),
- 4005 - ERR_STRUCT_WITHOBJECTS_ORCLASS (yıkıcıya sahip karmaşık nesneler içeren sabit boyutlu dizi),
- 4006 - ERR_INVALID_ARRAY (Bir yıkıcıya sahip yapı veya sınıf nesneleri içeren sabit boyutlu dizi).
Not
Fonksiyon sabit boyutlu bir dizi için kullanılıyorsa, dizi boyutu değişmez: kalan "kuyruk" fiziksel olarak start konumuna kopyalanır. Fonksiyonun nasıl çalıştığını doğru bir şekilde anlamak için aşağıdaki örneğe bakın. "Fiziksel" kopyalama, kopyalanan nesnelerin yapıcı veya kopyalama operatörü çağırarak oluşturulmadığı anlamına gelir. Bunun yerine, bir nesnenin ikili gösterimi kopyalanır. Bu nedenle, ArrayRemove() fonksiyonunu, yıkıcıya sahip nesneleri içeren sabit boyutlu diziye uygulayamazsınız (ERR_INVALID_ARRAY veya ERR_STRUCT_WITHOBJECTS_ORCLASS hatası etkinleştirilir). Böyle bir nesneyi kaldırırken, yıkıcı iki kere çağrılmalıdır - orijinal nesne ve kopyası için.
Elemanları, SetIndexBuffer() fonksiyonu aracılığıyla gösterge tamponları olarak belirtilen dinamik dizilerden kaldıramazsınız. Bu ERR_SERIES_ARRAY hatasına neden olur. Gösterge tamponları için, tüm boyut değiştirme operasyonları terminalin yürütücü alt sistemi tarafından gerçekleştirilir.
Örnek:
//+------------------------------------------------------------------+
|
Ayrıca bakınız
ArrayInsert, ArrayCopy, ArrayResize, ArrayFree