1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
/*
Copyright 1990-2008 Light Infocon Tecnologia S/A
Este arquivo é parte do programa LightBase - Banco de Dados Textual Documental
O LightBase é um software livre; você pode redistribui-lo e/ou modifica-lo dentro
dos termos da Licença Pública Geral GNU como publicada pela Fundação do Software
Livre (FSF); na versão 2 da Licença.
Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO
EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral GNU versao 2, sob o
título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do
Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
//
// extern "C" hALArchive newALArchive( char *name )
//
// ARGUMENTS:
//
// name : This constructor automatically creates an ALFile object
// for the archive. This is the name of the ALFile object.
//
// RETURNS
//
// A handle for (pointer to) a newly created ALArchive, or 0 if
// the constructor failed for some reason.
//
// DESCRIPTION
//
// This is the C/VB translation function for the C++ constructor
// ALArchive::ALArchive(char *). See ARCHIVE.CPP for details on what
// happens in the constructor.
//
// Unlike most translation functions, this constructor doesn't have to check
// or cast any arguments before calling its C++ code. It does however have
// to cast the result to the correct type before giving it back to the
// C or VB calling module.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" hALArchive AL_FUNCTION
//
// extern "C" hALArchive newALArchiveFromStorage( hALStorage storage )
//
// ARGUMENTS:
//
// storage : A handle for (pointer to) a preconstructed storage object.
// This storage object will be where the archive keeps all of
// its stuff. Note that you have to create and destroy this
// storage object yourself, unlike the previous constructor.
//
// RETURNS
//
// A handle for (pointer to) a newly created ALArchive, or 0 if
// the constructor failed for some reason.
//
// DESCRIPTION
//
// This is the C/VB translation function for the C++ constructor
// ALArchive::ALArchive(ALStorage&). See ARCHIVE.CPP for details on what
// happens in the constructor.
//
// Like most translation functions, this one checks the type off its single
// argument (in debug mode), before casting and calling the C++ function.
// It takes the result from the C++ constructor and casts it back to
// correct type before giving it back to the C or VB calling module.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" hALArchive AL_FUNCTION
// OBSOLETE FUNCTION
//
// extern "C" int ALArchiveAddFilesToList( hALArchive this_object,
// hALEntryList list,
// char *pattern,
// int traverse )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) a valid ALArchive object.
// It isn't used since we are calling a static function.
//
// list : A handle for (pointer to) an ALEntryList. This list
// is going to get a bunch of new entries, like it or not.
//
// pattern : A list of wild-card file specs, separated by spaces,
// commas, or semicolons.
//
// traverse : A flag to indicate whether the search engine should
// traverse subdirectories when expanding file specs.
//
// RETURNS
//
// An integer indicating how many entries were added to the list.
//
// DESCRIPTION
//
// This function has been replaced by the more appropriately named
// ALEntryListAddWildCardFiles().
//
// This function is the C/VB translation function to access the C++
// member function ALArchive::AddWildCardFiles(). For details on how
// the AddWildCardFiles() function actually works, please check out
// ARCHIVE.CPP, cuz that is where the real code is.
//
// Like all the other translation routines, this guy just has to
// check the arguments to see if they are the correct type (in debug
// mode only), then cast and call the C++ member function. The
// return value from the function is shot directly back to the C or
// VB calling routine.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" int AL_FUNCTION
//
// extern "C" int ALEntryListAddFromDialog( hALEntryList this_object,
// HWND hDlg,
// int id )
//
// ARGUMENTS:
//
// this_object : Handle for (pointer to) an ALEntryList object.
//
// hDlg : Windows handle for a dialog box containing the
// target list box.
//
// id : The id of the list box found in the dialog box.
//
// RETURNS
//
// The number of entries added to the list box.
//
// DESCRIPTION
//
// This is C translation function that provides access to the C++
// member function ALArchive::MakeEntriesFromListBox(). Like most of the
// translation functions, you don't get to see much here. For detailed
// information on what happens in the constructor, check ARCHIVE.CPP.
//
// You might think that this function looks like a member of ALEntryList,
// not ALArchive. Yes, it looks like it, but in fact it is a static
// member of ALArchive.
//
// This routine first performs type checking on the passed object
// handle (in debug mode), then calls the member function. It
// returns the integer unchanged to the calling procedure.
//
// You might think that this function looks like a member of ALEntryList,
// not ALArchive. Yes, it looks like it, but in fact it is a static
// member of ALArchive. The fact that it is static explains why there
// is no ALArchive object in the argument list.
//
// You can't use this dude with VB because VB doesn't use Dialog boxes,
// at least I don't think so.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" int AL_FUNCTION
//
// extern "C" int ALEntryListAddFromWindow( hALEntryList this_object,
// HWND hwnd )
//
// ARGUMENTS:
//
// this_object : Handle for (pointer to) an ALEntryList object.
//
// hwnd : Windows handle for a the list box control.
//
// RETURNS
//
// The number of entries added to the list box.
//
// DESCRIPTION
//
// This is C translation function that provides access to the C++
// member function ALArchive::MakeEntriesFromListBox(). Like most of the
// translation functions, you don't get to see much here. For detailed
// information on what happens in the constructor, check ARCHIVE.CPP.
//
// You might think that this function looks like a member of ALEntryList,
// not ALArchive. Yes, it looks like it, but in fact it is a static
// member of ALArchive. The fact that it is static explains why there
// is no ALArchive argument in the picture.
//
// This routine first performs type checking on the passed object
// handle (in debug mode), then calls the member function. It
// returns the integer unchanged to the calling procedure.
//
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" int AL_FUNCTION
//
// extern "C" int ALEntryListAddWildCardFiles( hALEntryList this_object,
// char *pattern,
// int traverse )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALEntryList. This list
// is going to get a bunch of new entries, like it or not.
//
// pattern : A list of wild-card file specs, separated by spaces,
// commas, or semicolons.
//
// traverse : A flag to indicate whether the search engine should
// traverse subdirectories when expanding file specs.
//
// RETURNS
//
// An integer indicating how many entries were added to the list.
//
// DESCRIPTION
//
// This function is the C/VB translation function to access the C++
// member function ALArchive::AddWildCardFiles(). For details on how
// the AddWildCardFiles() function actually works, please check out
// ARCHIVE.CPP, cuz that is where the real code is. You might notice
// that there is no ALArchive object passed to this function. That
// is because this function is a static member function of ALArchive,
// we just need its ability to create ALFile objects.
//
// Like all the other translation routines, this guy just has to
// check the arguments to see if they are the correct type (in debug
// mode only), then cast and call the C++ member function. The
// return value from the function is shot directly back to the C or
// VB calling routine.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" int AL_FUNCTION