los 2 al mismo tiempo
![Wink ;-)](./images/smilies/icon_e_wink.gif)
pero si en parte, el funcionamiento de la clase TStringList, que creo
que es muy interesante para manejar listas de cadenas para Xailer.
En tema es que estoy con poco mosca con esto;
Delphi syntax:
property Strings[Index: Integer]: string; default;
C++ syntax:
__property AnsiString Strings[int Index] = {read=Get, write=Put};
Lógicamente, he intentado hacer;
// Use Strings to read or modify the string at a particular position
PROPERTY aStrings READ METHOD GetString WRITE METHOD SetString
METHOD GetString( nIndex ) CLASS TStringList
Local cString := ''
if ::GetCount() >= nIndex
cString := ::faStrings[ nIndex ]
endif
RETURN cString
METHOD SetString(nIndex, cString) CLASS TStringList
if ::GetCount() >= nIndex
::faStrings[ nIndex ] := cString
endif
RETURN NIL
Pero esto no es correcto, por que me obliga a tener que pasarlo como una
funcion, cuando lo que quiero hacer es sobrecargar el []
Pero , claro, el problema es que debería ser sobrecargado el [].
METHOD aStrings() OPERATOR [] // SobreCarga de operador
Pero esto trae consigo que no funciona en Xailer, me casca en tiempo de
ejecucion , diciendo que no existe el method aStrings.
La idea básicamente es;
? objeto:aStrings[1] ---> Salte al method GetString( )
objeto:aStrings[1] := "PEPE" ---> Salte al method SetString()
Es más me gustaría que fuese una PROPERTY con sobrecarga de operadores ,
no se si eso es posible , ya por rizar el rizo.
¿ Alguna idea de como implementar esto ?
Saludos
Rafa Carmona