| 1 | Todas las declaraciones que se detallan a continuacio'n, que son las funciones |
|---|
| 2 | que exporta la dll a los usuarios de Visual Basic, se encuentran en el mo'dulo |
|---|
| 3 | Tol.bas que aparece en la carpeta VBasic |
|---|
| 4 | |
|---|
| 5 | |
|---|
| 6 | ------------------------------------------------------------------------------- |
|---|
| 7 | |
|---|
| 8 | Declare Sub TolInit Lib "VBTol.dll" (ByVal addr As Long, ByVal vmode As String, _ |
|---|
| 9 | ByVal initlib As Integer) |
|---|
| 10 | |
|---|
| 11 | |
|---|
| 12 | Esta funcio'n es la que realiza la inicializacio'n de Tol incluyendo entre otras |
|---|
| 13 | cosas la carga de InitLibrary. |
|---|
| 14 | |
|---|
| 15 | Para'metros: |
|---|
| 16 | |
|---|
| 17 | addr - la direccio'n de una funcio'n VB que sera' llamada toda vez que Tol |
|---|
| 18 | requiera la salida de algu'n texto, ya sea la impresio'n de un resultado, |
|---|
| 19 | un mensaje de error, etc., asi' estos mensajes sera'n filtrados por la |
|---|
| 20 | aplicacio'n VB para ser tratados de la manera que desee. |
|---|
| 21 | |
|---|
| 22 | vmode - cadena de texto que especifica cua'les mensajes sera'n emitidos o no, |
|---|
| 23 | su sintaxis se puede expresar asi': |
|---|
| 24 | |
|---|
| 25 | {v/m}[X...X] -> X={A,E,W,S,U,T} |
|---|
| 26 | |
|---|
| 27 | El indicador en minu'sculas 'v' implica habilitacio'n de mensajes y |
|---|
| 28 | 'm' deshabilitacio'n. |
|---|
| 29 | |
|---|
| 30 | El indicador en mayu'sculas X={E,W,S,U,T} especifica el tipo de mensaje |
|---|
| 31 | al que modifica el indicador anterior: |
|---|
| 32 | |
|---|
| 33 | A: Todos los mensajes (All) |
|---|
| 34 | E: Mensajes de Error |
|---|
| 35 | W: Mensajes de aviso (Warning) |
|---|
| 36 | S: Mensajes normales del Sistema como 'Ha sido incluido el fichero ...' |
|---|
| 37 | U: Mensajes de Usuario, es decir, los lanzados por las funciones |
|---|
| 38 | Write/WriteLn/View |
|---|
| 39 | T: Mensajes de Trazado para la depuracio'n de problemas |
|---|
| 40 | |
|---|
| 41 | Por razones de compatibilidad hacia atra's se permiten las siguientes |
|---|
| 42 | formas simplificadas: |
|---|
| 43 | |
|---|
| 44 | v: Habilita todos los mensajes salvo los de trazado. Es lo mismo que mT |
|---|
| 45 | m: Deshabilita todos los mensajes salvo los errores. Es lo mismo que vE |
|---|
| 46 | |
|---|
| 47 | Si no se pasa ningu'n argumento de verbosidad a TOL se usara'n los |
|---|
| 48 | valores por defecto: |
|---|
| 49 | |
|---|
| 50 | vEU: Habilita so'lo los mensajes de error y de usuario y deshabilita |
|---|
| 51 | el resto |
|---|
| 52 | |
|---|
| 53 | initlib - si su valor es diferente de cero se incluira'n las funciones de la |
|---|
| 54 | InitLibrary |
|---|
| 55 | |
|---|
| 56 | |
|---|
| 57 | ------------------------------------------------------------------------------- |
|---|
| 58 | |
|---|
| 59 | Declare Function TolEval Lib "VBTol.dll" (ByVal expr As String, ByRef nerror As Integer, _ |
|---|
| 60 | ByRef nwarning As Integer) As Integer |
|---|
| 61 | |
|---|
| 62 | |
|---|
| 63 | Es la funcio'n que nos permite evaluar expresiones Tol. |
|---|
| 64 | |
|---|
| 65 | Para'metros: |
|---|
| 66 | |
|---|
| 67 | expr - texto que contiene la expresio'n Tol a evaluar. |
|---|
| 68 | |
|---|
| 69 | nerror - nu'mero de errores que hubo durante la evaluacio'n. |
|---|
| 70 | |
|---|
| 71 | nwarning - nu'mero de warnings que hubo durante la evaluacio'n. |
|---|
| 72 | |
|---|
| 73 | Retorna: |
|---|
| 74 | |
|---|
| 75 | 1 o' 0, si se crearon o no, objetos Tol como resultado de la evaluacio'n. |
|---|
| 76 | |
|---|
| 77 | |
|---|
| 78 | ------------------------------------------------------------------------------- |
|---|
| 79 | |
|---|
| 80 | Declare Function TolDecompile Lib "VBTol.dll" (ByVal name As String) As Integer |
|---|
| 81 | |
|---|
| 82 | |
|---|
| 83 | A trave's de esta funcio'n podemos decompilar objectos Tol que hayan sido creados |
|---|
| 84 | con la funcio'n TolEval o con la familia de funciones TolCreateX, liberando asi' |
|---|
| 85 | la memoria asignada a los mismos. |
|---|
| 86 | |
|---|
| 87 | Para'metros: |
|---|
| 88 | |
|---|
| 89 | name - cadena que contiene el nombre del objeto. |
|---|
| 90 | |
|---|
| 91 | Retorna: |
|---|
| 92 | |
|---|
| 93 | 1 si un objeto con ese nombre fue encontrado y decompilado, |
|---|
| 94 | de lo contrario retorna 0. |
|---|
| 95 | |
|---|
| 96 | |
|---|
| 97 | Declare Function TolDecompileAll Lib "VBTol.dll" () As Integer |
|---|
| 98 | |
|---|
| 99 | |
|---|
| 100 | Decompila todos los objectos Tol que hayan sido creados con la funcio'n TolEval |
|---|
| 101 | o con la familia de funciones TolCreateX, es muy u'til sobre todo para la |
|---|
| 102 | decompilacio'n de los objetos que fueron creados sin nombre. |
|---|
| 103 | |
|---|
| 104 | Retorna: |
|---|
| 105 | |
|---|
| 106 | 1 si fue decompilado algu'n objeto, sino retorna 0. |
|---|
| 107 | |
|---|
| 108 | |
|---|
| 109 | ------------------------------------------------------------------------------- |
|---|
| 110 | |
|---|
| 111 | Declare Function TolGetText Lib "VBTol.dll" (ByVal lvalue As String, ByRef retvalue As String) As Integer |
|---|
| 112 | |
|---|
| 113 | Obtiene el valor de un objeto TOL de tipo Text. |
|---|
| 114 | |
|---|
| 115 | Para'metros: |
|---|
| 116 | |
|---|
| 117 | lvalue - Nombre del objeto TOL, como el nombre del para'metro indica no necesariamente |
|---|
| 118 | tiene que ser el nombre de un objeto, sino que puede ser adema's cualquier |
|---|
| 119 | expresio'n de tipo Text que pueda estar en la parte izquierda de una sentencia |
|---|
| 120 | de asignacio'n. |
|---|
| 121 | retvalue - Variable de Visual Basic donde el valor del objeto sera' retornado. |
|---|
| 122 | |
|---|
| 123 | Retorna: |
|---|
| 124 | |
|---|
| 125 | 1 si el objeto fue encontrado y su valor retornado, sino retorna 0. |
|---|
| 126 | |
|---|
| 127 | |
|---|
| 128 | Declare Function TolCreateText Lib "VBTol.dll" (ByVal name As String, ByVal value As String) As Integer |
|---|
| 129 | |
|---|
| 130 | Crea un objeto TOL de tipo Text. |
|---|
| 131 | |
|---|
| 132 | Para'metros: |
|---|
| 133 | |
|---|
| 134 | name - Nombre del objeto TOL. |
|---|
| 135 | value - Valor que contendra' el objeto TOL creado. |
|---|
| 136 | |
|---|
| 137 | Retorna: |
|---|
| 138 | |
|---|
| 139 | 1 si el objeto fue creado, de lo contrario retorna 0. |
|---|
| 140 | |
|---|
| 141 | |
|---|
| 142 | ------------------------------------------------------------------------------- |
|---|
| 143 | |
|---|
| 144 | Const Known As Integer = 0 |
|---|
| 145 | Const Unknown As Integer = 1 |
|---|
| 146 | Const PosInf As Integer = 2 |
|---|
| 147 | Const NegInf As Integer = 3 |
|---|
| 148 | |
|---|
| 149 | Type TolReal |
|---|
| 150 | kind As Integer |
|---|
| 151 | value As Double |
|---|
| 152 | End Type |
|---|
| 153 | |
|---|
| 154 | Estructura para representar un objeto Tol de tipo Real, y Valores que puede tomar el campo 'kind' |
|---|
| 155 | para contemplar los casos especiales como desconocido e infinito. |
|---|
| 156 | |
|---|
| 157 | |
|---|
| 158 | Declare Function TolGetReal Lib "VBTol.dll" (ByVal lvalue As String, ByRef retvalue As TolReal) As Integer |
|---|
| 159 | |
|---|
| 160 | Obtiene el valor de un objeto TOL de tipo Real. |
|---|
| 161 | |
|---|
| 162 | Para'metros: |
|---|
| 163 | |
|---|
| 164 | lvalue - Nombre del objeto TOL. |
|---|
| 165 | retvalue - Variable de Visual Basic donde el valor del objeto sera' retornado. |
|---|
| 166 | |
|---|
| 167 | Retorna: |
|---|
| 168 | |
|---|
| 169 | 1 si el objeto fue encontrado y su valor retornado, sino retorna 0. |
|---|
| 170 | |
|---|
| 171 | |
|---|
| 172 | Declare Function TolCreateReal Lib "VBTol.dll" (ByVal name As String, ByRef retvalue As TolReal) As Integer |
|---|
| 173 | |
|---|
| 174 | Crea un objeto TOL de tipo Real. |
|---|
| 175 | |
|---|
| 176 | Para'metros: |
|---|
| 177 | |
|---|
| 178 | name - Nombre del objeto TOL. |
|---|
| 179 | value - Valor que contendra' el objeto TOL creado, es importante no olvidar valorizar el campo |
|---|
| 180 | 'kind' de la estructura para que el objeto tol sea creado correctamente. |
|---|
| 181 | |
|---|
| 182 | Retorna: |
|---|
| 183 | |
|---|
| 184 | 1 si el objeto fue creado, de lo contrario retorna 0. |
|---|
| 185 | |
|---|
| 186 | |
|---|
| 187 | ------------------------------------------------------------------------------- |
|---|
| 188 | |
|---|
| 189 | Type MaskCell |
|---|
| 190 | row As Long |
|---|
| 191 | col As Long |
|---|
| 192 | kind As Integer |
|---|
| 193 | End Type |
|---|
| 194 | |
|---|
| 195 | Estructura para representar una ma'scara que indique las celdas de la matriz que |
|---|
| 196 | contienen valores especiales, row,col es la posicio'n de la celda y kind indica |
|---|
| 197 | el valor especial usando las mismas constantes que para el tipo Real. |
|---|
| 198 | |
|---|
| 199 | |
|---|
| 200 | Declare Function TolGetMatrix Lib "VBTol.dll" (ByVal lvalue As String, ByRef retvalue() As Double, _ |
|---|
| 201 | ByRef retmask() As MaskCell) As Integer |
|---|
| 202 | |
|---|
| 203 | Obtiene el valor de un objeto TOL de tipo Matrix. |
|---|
| 204 | |
|---|
| 205 | Para'metros: |
|---|
| 206 | |
|---|
| 207 | lvalue - Nombre del objeto TOL. |
|---|
| 208 | retvalue - Variable de Visual Basic donde el valor del objeto sera' retornado. |
|---|
| 209 | retmask - Variable donde la ma'scara para las celdas con valores especiales sera' retornado, |
|---|
| 210 | si la matriz no contiene ningu'n valor especial este arreglo se retornara' vaci'o. |
|---|
| 211 | |
|---|
| 212 | Retorna: |
|---|
| 213 | |
|---|
| 214 | 1 si el objeto fue encontrado y su valor retornado, sino retorna 0, |
|---|
| 215 | adema's retorna -1 si ocurre un error cri'tico como un error de |
|---|
| 216 | reservacio'n de memoria o que se haya declarado el para'metro retmask |
|---|
| 217 | con un tipo incorrecto, consulte el ejemplo para ver la declaracio'n correcta. |
|---|
| 218 | |
|---|
| 219 | |
|---|
| 220 | Declare Function TolCreateMatrix Lib "VBTol.dll" (ByVal name As String, ByRef value() As Double, _ |
|---|
| 221 | ByRef mask() As MaskCell) As Integer |
|---|
| 222 | |
|---|
| 223 | Crea un objeto TOL de tipo Matrix. |
|---|
| 224 | |
|---|
| 225 | Para'metros: |
|---|
| 226 | |
|---|
| 227 | name - Nombre del objeto TOL. |
|---|
| 228 | value - Valor que contendra' el objeto TOL creado, value no es ma's que un arreglo de |
|---|
| 229 | dos dimensiones que contiene los valores de las celdas de la matriz, en caso |
|---|
| 230 | de haber valores especiales como desconocido o infinito, e'stos sera'n |
|---|
| 231 | especificados en el para'metro mask, es bueno aclarar que independientemente del |
|---|
| 232 | rango de los i'ndices del para'metro value, los i'ndices de la matriz de tol |
|---|
| 233 | creada comenzara'n siempre por 1, es buena pra'ctica por tanto comenzar estos i'ndices |
|---|
| 234 | en 1, aunque la funcio'n acepta cualquier rango. |
|---|
| 235 | mask - Arreglo que contiene la ma'scara para las celdas con valores especiales en la matriz, |
|---|
| 236 | mask no es ma's que un arreglo de una dimensio'n del tipo MaskCell que contiene tantos |
|---|
| 237 | elementos como valores especiales tenga el arreglo value, los valores de row y col se |
|---|
| 238 | refieren a las posiciones relativas segu'n los i'ndices del arreglo value y sera'n ajustados |
|---|
| 239 | a los i'ndices correctos en la matriz de Tol en caso necesario, si la matriz no |
|---|
| 240 | contiene ningu'n valor especial este arreglo se declarari'a sin rango alguno. |
|---|
| 241 | |
|---|
| 242 | Retorna: |
|---|
| 243 | |
|---|
| 244 | 1 si el objeto fue creado, de lo contrario retorna 0, |
|---|
| 245 | adema's retorna -1 si ocurre un error cri'tico como |
|---|
| 246 | que se haya declarado algu'n para'metro con un tipo o dimensio'n incorrecta, |
|---|
| 247 | consulte el ejemplo para ver las declaraciones correctas. |
|---|
| 248 | |
|---|
| 249 | |
|---|
| 250 | Declare Function TolGetRange Lib "VBTol.dll" (ByVal lvalue As String, _ |
|---|
| 251 | ByVal frow As Long, ByVal lrow As Long, ByVal fcol As Long, ByVal fcol As Long, _ |
|---|
| 252 | ByRef retvalue() As Double, ByRef retmask() As MaskCell) As Integer |
|---|
| 253 | |
|---|
| 254 | Declare Function TolGetRow Lib "VBTol.dll" (ByVal lvalue As String, ByVal row As Long, _ |
|---|
| 255 | ByRef retvalue() As Double, ByRef retmask() As MaskCell) As Integer |
|---|
| 256 | |
|---|
| 257 | Declare Function TolGetColumn Lib "VBTol.dll" (ByVal lvalue As String, ByVal col As Long, _ |
|---|
| 258 | ByRef retvalue() As Double, ByRef retmask() As MaskCell) As Integer |
|---|
| 259 | |
|---|
| 260 | Declare Function TolGetCell Lib "VBTol.dll" (ByVal lvalue As String, ByVal row As Long, ByVal col As Long, _ |
|---|
| 261 | ByRef retvalue As TolReal) As Integer |
|---|
| 262 | |
|---|
| 263 | Estas funciones obtienen los valores de un rango, una fila, una columna o una celda |
|---|
| 264 | de un objeto TOL de tipo Matrix. |
|---|
| 265 | |
|---|
| 266 | Para'metros: |
|---|
| 267 | |
|---|
| 268 | lvalue - Nombre del objeto TOL. |
|---|
| 269 | retvalue - Variable de Visual Basic donde los valores del rango, fila, columna o celda |
|---|
| 270 | del objeto sera'n retornados. Para la funcio'n TolGetRange() los rangos de la |
|---|
| 271 | variable sera'n las del rango especificado, en el caso de TolGetRow() y TolGetColumn() |
|---|
| 272 | el arreglo devuelto siempre tendra' dos dimensiones aunque el rango de uno de ellos |
|---|
| 273 | sera' 1, y para TolGetCell() este para'metro es simplemente del tipo TolReal. |
|---|
| 274 | retmask - Variable donde la ma'scara para las celdas con valores especiales sera' retornado, |
|---|
| 275 | si la matriz no contiene ningu'n valor especial este arreglo se retornara' vaci'o. |
|---|
| 276 | La funcio'n TolGetCell() como es lo'gico no tendra' este para'metro. |
|---|
| 277 | frow, lrow, fcol, lcol (TolGetRange) - primera y u'ltima filas y columnas que definen el rango. |
|---|
| 278 | row (TolGetRow) - i'ndice de la fila a obtener. |
|---|
| 279 | col (TolGetColumn) - i'ndice de la columna a obtener. |
|---|
| 280 | row, col (TolGetCell) - posicio'n de la celda a obtener. |
|---|
| 281 | |
|---|
| 282 | Retorna: |
|---|
| 283 | |
|---|
| 284 | 1 si el objeto fue encontrado, el rango, fila, columna o celda especificado fue correcto y |
|---|
| 285 | su valor retornado, sino retorna 0; para todas las funciones excepto TolGetCell() tambie'n |
|---|
| 286 | retorna -1 si ocurre un error cri'tico como un error de |
|---|
| 287 | reservacio'n de memoria o que se haya declarado el para'metro retmask |
|---|
| 288 | con un tipo incorrecto, consulte el ejemplo para ver la declaracio'n correcta. |
|---|
| 289 | |
|---|
| 290 | |
|---|
| 291 | Declare Function TolPutRange Lib "VBTol.dll" (ByVal lvalue As String, ByVal row As Long, ByVal col As Long, _ |
|---|
| 292 | ByRef value() As Double, ByRef mask() As MaskCell) As Integer |
|---|
| 293 | |
|---|
| 294 | Declare Function TolPutRow Lib "VBTol.dll" (ByVal lvalue As String, ByVal row As Long, _ |
|---|
| 295 | ByRef value() As Double, ByRef mask() As MaskCell) As Integer |
|---|
| 296 | |
|---|
| 297 | Declare Function TolPutColumn Lib "VBTol.dll" (ByVal lvalue As String, ByVal col As Long, _ |
|---|
| 298 | ByRef value() As Double, ByRef mask() As MaskCell) As Integer |
|---|
| 299 | |
|---|
| 300 | Declare Function TolPutCell Lib "VBTol.dll" (ByVal lvalue As String, ByVal row As Long, ByVal col As Long, _ |
|---|
| 301 | ByRef value As TolReal) As Integer |
|---|
| 302 | |
|---|
| 303 | Estas funciones cambian los valores de un rango, una fila, una columna o una celda |
|---|
| 304 | de un objeto TOL de tipo Matrix. |
|---|
| 305 | |
|---|
| 306 | Para'metros: |
|---|
| 307 | |
|---|
| 308 | lvalue - Nombre del objeto TOL. |
|---|
| 309 | value - Nuevos valores del rango, fila, columna o celda que sera'n cambiados en la matriz de Tol. |
|---|
| 310 | Para las funciones TolPutRange(), TolPutRow() y TolPutColumn() el arreglo que contiene los |
|---|
| 311 | valores debe tener dos dimensiones aunque el rango de alguno de ellos sea 1, |
|---|
| 312 | y para TolPutCell() este para'metro es simplemente del tipo TolReal. |
|---|
| 313 | mask - Arreglo que contiene la ma'scara para las celdas con valores especiales en el rango, fila o |
|---|
| 314 | columna, los valores row y col de cada elemento del arreglo se refieren a las posiciones |
|---|
| 315 | relativas segu'n los i'ndices del arreglo value, si el rango, fila o columna no |
|---|
| 316 | contienen ningu'n valor especial este arreglo se declarari'a sin rango alguno. |
|---|
| 317 | La funcio'n TolPutCell() como es lo'gico no tendra' este para'metro. |
|---|
| 318 | row, row (TolPutRange) - fila y columna donde comienza el rango a cambiar. |
|---|
| 319 | row (TolPutRow) - i'ndice de la fila a cambiar. |
|---|
| 320 | col (TolPutColumn) - i'ndice de la columna a cambiar. |
|---|
| 321 | row, col (TolPutCell) - posicio'n de la celda a cambiar. |
|---|
| 322 | |
|---|
| 323 | Retorna: |
|---|
| 324 | |
|---|
| 325 | 1 si el objeto fue encontrado, el rango, fila, columna o celda especificado fue correcto y |
|---|
| 326 | sus valores cambiados, sino retorna 0; para todas las funciones excepto TolGetCell() tambie'n |
|---|
| 327 | para todas las funciones excepto TolGetCell() tambie'n |
|---|
| 328 | retorna -1 si ocurre un error cri'tico como un error de |
|---|
| 329 | reservacio'n de memoria o que se haya declarado el para'metro retmask |
|---|
| 330 | con un tipo incorrecto, consulte el ejemplo para ver la declaracio'n correcta. |
|---|
| 331 | |
|---|