Should the function ADEL() change the LEN of the array?
AADD does but ADEL doesn't:
Code: Select all
#include <hmg.ch>
#include <Dbstruct.ch>
SET PRINTER TO debug.TXT
SET PRINTER ON
SET CONSOLE OFF
aDbf := {}
FOR A = 1 TO 10
cF = 'F' + ALLTRIM(STR(A))
AADD(aDbf, { cF, "C", 5, 0 })
NEXT A
DBCREATE("TESTARR", aDbf)
USE TESTARR NEW
aStruct := TESTARR->(DBSTRUCT())
FOR j := 1 To len(aStruct)
? STR(j) + ' ' + aStruct [j] [1] + ' ' + aStruct [j] [2] + ' ' + STR(aStruct [j] [3]) + ' ' + STR(aStruct [j] [4])
NEXT j
? STR(LEN(aStruct)) + ' Before AADD ->LEN(aStruct)'
AADD(aStruct,{'XX','C',5, 0})
? STR(LEN(aStruct)) + ' After AADD ->LEN(aStruct)'
? '----------------------------------------'
? STR(LEN(aStruct)) + ' Before ADEL ->LEN(aStruct)'
nPOS = 3
ADEL(aStruct, nPOS)
ADEL(aStruct, nPOS)
ADEL(aStruct, nPOS)
? STR(LEN(aStruct)) + ' After ADEL ->LEN(aStruct)'
FOR j := 1 To len(aStruct) // gives Error BASE/1068 Argument error: array access
? STR(j) + ' ' + aStruct [j] [1] + ' ' + aStruct [j] [2] + ' ' + STR(aStruct [j] [3]) + ' ' + STR(aStruct [j] [4])
NEXT j
SET PRINTER TO
SET PRINTER Off
SET CONSOLE On
Thx, Serge
[u]Moderator Notes[/u] (Pablo César) wrote:Topic moved from Forum Help.
Please note this issue is a Harbour matter and the section of "Forum Help" is used to let suggestions and claims, not for techinicals proposes of HMG or Harbour.