source: tol/vbtol/doc/vb_programmer.txt

devel
Last change on this file was 6d7779d, checked in by Jorge Pérez <josp.jorge@…>, 18 years ago

initial import

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@1 be4846ae-f051-483a-831f-b64e7d08527f

  • Property mode set to 100644
File size: 13.4 KB
Line 
1Todas las declaraciones que se detallan a continuacio'n, que son las funciones
2que exporta la dll a los usuarios de Visual Basic, se encuentran en el mo'dulo
3Tol.bas que aparece en la carpeta VBasic
4
5
6-------------------------------------------------------------------------------
7
8Declare Sub TolInit Lib "VBTol.dll" (ByVal addr As Long, ByVal vmode As String, _
9                                     ByVal initlib As Integer)
10
11
12Esta funcio'n es la que realiza la inicializacio'n de Tol incluyendo entre otras
13cosas la carga de InitLibrary.
14
15Para'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
59Declare Function TolEval Lib "VBTol.dll" (ByVal expr As String, ByRef nerror As Integer, _
60                                          ByRef nwarning As Integer) As Integer
61
62
63Es la funcio'n que nos permite evaluar expresiones Tol.
64
65Para'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
73Retorna:
74
75 1 o' 0, si se crearon o no, objetos Tol como resultado de la evaluacio'n.
76
77
78-------------------------------------------------------------------------------
79
80Declare Function TolDecompile Lib "VBTol.dll" (ByVal name As String) As Integer
81
82
83A trave's de esta funcio'n podemos decompilar objectos Tol que hayan sido creados
84con la funcio'n TolEval o con la familia de funciones TolCreateX, liberando asi'
85la memoria asignada a los mismos.
86
87Para'metros:
88
89 name - cadena que contiene el nombre del objeto.
90
91Retorna:
92
93 1 si un objeto con ese nombre fue encontrado y decompilado,
94 de lo contrario retorna 0.
95
96
97Declare Function TolDecompileAll Lib "VBTol.dll" () As Integer
98
99
100Decompila todos los objectos Tol que hayan sido creados con la funcio'n TolEval
101o con la familia de funciones TolCreateX, es muy u'til sobre todo para la
102decompilacio'n de los objetos que fueron creados sin nombre.
103
104Retorna:
105
106 1 si fue decompilado algu'n objeto, sino retorna 0.
107
108
109-------------------------------------------------------------------------------
110
111Declare Function TolGetText Lib "VBTol.dll" (ByVal lvalue As String, ByRef retvalue As String) As Integer
112
113Obtiene el valor de un objeto TOL de tipo Text.
114
115Para'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
123Retorna:
124
125 1 si el objeto fue encontrado y su valor retornado, sino retorna 0.
126
127
128Declare Function TolCreateText Lib "VBTol.dll" (ByVal name As String, ByVal value As String) As Integer
129
130Crea un objeto TOL de tipo Text.
131
132Para'metros:
133
134 name - Nombre del objeto TOL.
135 value - Valor que contendra' el objeto TOL creado.
136
137Retorna:
138
139 1 si el objeto fue creado, de lo contrario retorna 0.
140
141
142-------------------------------------------------------------------------------
143
144Const Known As Integer = 0
145Const Unknown As Integer = 1
146Const PosInf As Integer = 2
147Const NegInf As Integer = 3
148
149Type TolReal
150  kind As Integer
151  value As Double
152End Type
153
154Estructura para representar un objeto Tol de tipo Real, y Valores que puede tomar el campo 'kind'
155para contemplar los casos especiales como desconocido e infinito.
156
157
158Declare Function TolGetReal Lib "VBTol.dll" (ByVal lvalue As String, ByRef retvalue As TolReal) As Integer
159
160Obtiene el valor de un objeto TOL de tipo Real.
161
162Para'metros:
163
164 lvalue - Nombre del objeto TOL.
165 retvalue - Variable de Visual Basic donde el valor del objeto sera' retornado.
166
167Retorna:
168
169 1 si el objeto fue encontrado y su valor retornado, sino retorna 0.
170
171
172Declare Function TolCreateReal Lib "VBTol.dll" (ByVal name As String, ByRef retvalue As TolReal) As Integer
173
174Crea un objeto TOL de tipo Real.
175
176Para'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
182Retorna:
183
184 1 si el objeto fue creado, de lo contrario retorna 0.
185
186
187-------------------------------------------------------------------------------
188
189Type MaskCell
190  row As Long
191  col As Long
192  kind As Integer
193End Type
194
195Estructura para representar una ma'scara que indique las celdas de la matriz que
196contienen valores especiales, row,col es la posicio'n de la celda y kind indica
197el valor especial usando las mismas constantes que para el tipo Real.
198
199
200Declare Function TolGetMatrix Lib "VBTol.dll" (ByVal lvalue As String, ByRef retvalue() As Double, _
201                                               ByRef retmask() As MaskCell) As Integer
202
203Obtiene el valor de un objeto TOL de tipo Matrix.
204
205Para'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
212Retorna:
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
220Declare Function TolCreateMatrix Lib "VBTol.dll" (ByVal name As String, ByRef value() As Double, _
221                                                  ByRef mask() As MaskCell) As Integer
222
223Crea un objeto TOL de tipo Matrix.
224
225Para'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         
242Retorna:
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
250Declare 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
254Declare 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
257Declare 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
260Declare 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
263Estas funciones obtienen los valores de un rango, una fila, una columna o una celda
264 de un objeto TOL de tipo Matrix.
265
266Para'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
282Retorna:
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
291Declare 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
294Declare 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
297Declare 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
300Declare 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
303Estas funciones cambian los valores de un rango, una fila, una columna o una celda
304 de un objeto TOL de tipo Matrix.
305
306Para'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
323Retorna:
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
Note: See TracBrowser for help on using the repository browser.