Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/ExternalThreadItem.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.22 - (show annotations) (download) (as text)
Mon Jul 2 15:01:47 2007 UTC (16 years, 9 months ago) by h677
Branch: MAIN
CVS Tags: v1_59_0_771, v1_59_0_770, v1_59_0_773, v1_59_0_772, v1_59_0_775, v1_59_0_774, v1_59_0_777, v1_59_0_776, v1_56_0_715, v1_59_0_778, v1_63_1_819, v1_57_0_737, v1_62_0_812, v1_57_0_735, v1_57_0_734, v1_57_0_733, v1_57_0_732, v1_57_0_731, v1_57_0_730, v1_57_0_739, v1_57_0_738, v1_59_1_765, v1_60_0_788, v1_60_0_789, v1_58_0_748, v1_58_0_745, v1_60_0_781, v1_60_0_782, v1_58_0_746, v1_60_0_784, v1_60_0_786, v1_60_0_787, v1_59_0_767, v1_59_1_778, v1_57_0_723, v1_59_0_768, v1_59_0_769, v1_57_0_725, v1_57_0_726, v1_57_0_727, v1_57_0_720, v1_57_0_722, v1_57_1_744, v1_57_0_728, v1_57_0_729, v1_57_0_736, v1_58_0_752, v1_58_0_750, v1_58_0_751, v1_58_0_756, v1_58_0_757, v1_58_0_754, v1_58_0_755, v1_58_0_759, v1_57_0_719, v1_57_0_718, v1_56_0_716, v1_56_1_717, v1_56_1_716, v1_61_0_796, v1_61_0_797, v1_61_0_795, v1_61_0_798, v1_61_0_799, v1_56_2_724, v1_56_2_722, v1_63_0_818, v1_63_0_817, v1_63_0_816, v1_63_0_815, v1_62_0_805, v1_62_0_804, v1_62_0_807, v1_62_0_806, v1_62_0_803, v1_62_0_802, v1_62_0_809, v1_56_0_721, v1_60_0_780, v1_60_0_779, v1_62_0_810, v1_62_0_811, v1_58_0_747, v1_60_0_783, v1_59_2_785, v1_60_1_793, v1_58_0_763, v1_58_0_762, v1_58_0_761, v1_58_0_760, v1_62_1_813, v1_57_2_749, v1_57_0_742, v1_57_0_743, v1_57_0_740, v1_57_0_741, v1_57_0_744, v1_61_0_800, v1_60_0_793, v1_60_0_792, v1_60_0_791, v1_60_0_790, v1_60_2_794, v1_61_1_801, HEAD
Branch point for: Bb57, Bb56, Bb62, Bb63, Bb60, Bb61, Bb59, Bb58
Changes since 1.21: +4 -4 lines
File MIME type: text/x-pascal
ファイルパス関連の整理中

1 unit ExternalThreadItem;
2
3 interface
4
5 uses
6 Windows, Classes, SysUtils,
7 IdComponent,
8 ExternalBoardPlugInMain;
9
10 type
11 // TThreadItem ???????????h┃絎?鐚??緇? ID
12 TThreadItemProperty = (
13 tipContext, // : DWORD // ???宴??┃絎???????????/span>
14 tipNo, // : Integer // ???/span>
15 tipFileName, // : string // ?鴻?????????<?ゃ????
16 tipTitle, // : string // ?鴻???????帥?ゃ????/span>
17 tipRoundDate, // : TDateTime // ?鴻??????????緇??????ユ??鐚?綏≦???ユ??鐚?
18 tipLastModified, // : TDateTime // ?鴻?????????贋?違???????????ユ??鐚??泣?若???贋?ユ??鐚?
19 tipCount, // : Integer // ?鴻???????????潟??鐚????若?????
20 tipAllResCount, // : Integer // ?鴻???????????潟??鐚??泣?若??鐚?
21 tipNewResCount, // : Integer // ?鴻???????亥????/span>
22 tipSize, // : Integer // ?鴻???????泣?ゃ??/span>
23 tipRound, // : Boolean // 綏≦????????/span>
24 tipRoundName, // : string // 綏≦????
25 tipIsLogFile, // : Boolean // ???医?????????/span>
26 tipKokomade, // : Integer // ?潟?潟?障?ц????????/span>
27 tipNewReceive, // : Integer // ?潟?潟?????域???篆?/span>
28 tipNewArrival, // : Boolean // ?亥??
29 tipUnRead, // : Boolean // ?????????/span>
30 tipScrollTop, // : Integer // ?鴻?????若???臀?/span>
31 tipDownloadHost, // : string // 篁??????鴻?????????翫???????鴻??
32 tipAgeSage, // : TThreadAgeSage // ?≪?ゃ?????????筝???
33 tipURL, // : string // ?鴻???????????????吟?ц;腓冴??????? URL
34 tipFilePath, // : string // ?????鴻????篆?絖???????????????/span>
35 tipJumpAddress // : Integer // JUMP?????合???/span>
36 );
37
38 // *************************************************************************
39 // TThreadItem ????????????
40 // *************************************************************************
41 TThreadItemCreate = procedure(
42 inInstance : DWORD
43 ); stdcall;
44
45 // *************************************************************************
46 // TThreadItem ???贋???????
47 // *************************************************************************
48 TThreadItemDispose = procedure(
49 inInstance : DWORD
50 ); stdcall;
51
52 // *************************************************************************
53 // ?????潟???若??????腓?/span>
54 // *************************************************************************
55 TThreadItemOnDownload = function(
56 inInstance : DWORD // ?ゃ?潟?鴻?帥?潟??/span>
57 ) : TDownloadState; stdcall; // ?????潟???若????????????????????
58
59 // *************************************************************************
60 // ?吾??莨若?帥????腓?/span>
61 // *************************************************************************
62 TThreadItemOnWrite = function(
63 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
64 inName : PChar; // ????(??潟????
65 inMail : PChar; // ?<?若???≪??????/span>
66 inMessage : PChar // ????
67 ) : TDownloadState; stdcall; // ?吾??莨若?帥??????????????????
68
69 // *************************************************************************
70 // ???合?? n ??????? html ??荀?羆?
71 // *************************************************************************
72 TThreadItemOnGetRes = function(
73 inInstance : DWORD; // ?ゃ?潟?鴻?帥?潟??/span>
74 inNo : DWORD // 茵?ず???????合???/span>
75 ) : PChar; stdcall; // 茵?ず???? HTML
76
77 // *************************************************************************
78 // ???合?? n ??????? Dat ??荀?羆?
79 // *************************************************************************
80 TThreadItemOnGetDat = function(
81 inInstance : DWORD; // ?ゃ?潟?鴻?帥?潟??/span>
82 inNo : DWORD // 茵?ず???????合???/span>
83 ) : PChar; stdcall; // 鐚??<????????綵√???at
84
85 // *************************************************************************
86 // ?鴻?????????????? html ??荀?羆?
87 // *************************************************************************
88 TThreadItemOnGetHeader = function(
89 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
90 inOptionalHeader : PChar // 菴遵??????????
91 ) : PChar; stdcall; // ?翫就?????? HTML
92
93 // *************************************************************************
94 // ?鴻????????????? html ??荀?羆?
95 // *************************************************************************
96 TThreadItemOnGetFooter = function(
97 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
98 inOptionalFooter : PChar // 菴遵??????????/span>
99 ) : PChar; stdcall; // ?翫就?????? HTML
100
101 // *************************************************************************
102 // ??? ThreadItem ??絮??????帥? URL ??荀?羆?
103 // *************************************************************************
104 TThreadItemOnGetBoardURL = function(
105 inInstance : DWORD // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
106 ) : PChar; stdcall; // ?帥? URL
107
108 function ThreadItemDat2HTML(
109 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
110 inDatRes : PChar; // ????<>?<?若??lt;>?ヤ?ID<>????<> ?ф??????????????鴻??
111 inResNo : DWORD; // ???合???/span>
112 inIsNew : Boolean // ?亥?????鴻???? True
113 ) : PChar; stdcall; // ?翫就?????? HTML
114
115 implementation
116
117 uses ExternalBoardManager, GikoSystem, BoardGroup, HTMLCreate, MojuUtils;
118
119 // *************************************************************************
120 // TThreadItem ?????鴻???????????c????緇?????
121 // *************************************************************************
122 function ThreadItemGetLong(
123 instance : DWORD;
124 propertyID : TThreadItemProperty
125 ) : DWORD; stdcall;
126 var
127 threadItem : TThreadItem;
128 begin
129
130 threadItem := TThreadItem( instance );
131 case propertyID of
132 tipContext: // : DWORD // ???宴??┃絎???????????/span>
133 Result := threadItem.Context;
134 tipNo: // : Integer // ???/span>
135 Result := threadItem.No;
136 tipFileName: // : string // ?鴻?????????<?ゃ????
137 Result := DWORD( CreateResultString( threadItem.FileName ) );
138 tipTitle: // : string // ?鴻???????帥?ゃ????/span>
139 Result := DWORD( CreateResultString( threadItem.Title ) );
140 tipCount: // : Integer // ?鴻???????????潟??鐚????若?????
141 Result := threadItem.Count;
142 tipAllResCount: // : Integer // ?鴻???????????潟??鐚??泣?若??鐚?
143 Result := threadItem.AllResCount;
144 tipNewResCount: // : Integer // ?鴻???????亥????/span>
145 Result := threadItem.NewResCount;
146 tipSize: // : Integer // ?鴻???????泣?ゃ??/span>
147 Result := threadItem.Size;
148 tipRound: // : Boolean // 綏≦????????/span>
149 Result := DWORD( threadItem.Round );
150 tipRoundName: // : string // 綏≦????
151 Result := DWORD( CreateResultString( threadItem.RoundName ) );
152 tipIsLogFile: // : Boolean // ???医?????????/span>
153 Result := DWORD( threadItem.IsLogFile );
154 tipKokomade: // : Integer // ?潟?潟?障?ц????????/span>
155 Result := threadItem.Kokomade;
156 tipNewReceive: // : Integer // ?潟?潟?????域???篆?/span>
157 Result := threadItem.NewReceive;
158 tipNewArrival: // : Boolean // ?亥??
159 Result := DWORD( threadItem.NewArrival );
160 tipUnRead: // : Boolean // ?????????/span>
161 Result := DWORD( threadItem.UnRead );
162 tipScrollTop: // : Integer // ?鴻?????若???臀?/span>
163 Result := threadItem.ScrollTop;
164 tipDownloadHost: // : string // 篁??????鴻?????????翫???????鴻??
165 Result := DWORD( CreateResultString( threadItem.DownloadHost ) );
166 tipAgeSage: // : TThreadAgeSage // ?≪?ゃ?????????筝???
167 Result := DWORD( threadItem.AgeSage );
168 tipURL: // : string // ?鴻???????????????吟?ц;腓冴??????? URL
169 Result := DWORD( CreateResultString( threadItem.URL ) );
170 tipFilePath: // ?????鴻????篆?絖???????????????/span>
171 Result := DWORD( CreateResultString( threadItem.FilePath ) );
172 tipJumpAddress:
173 Result := threadItem.JumpAddress;
174 else
175 Result := 0;
176 end;
177 end;
178
179 // *************************************************************************
180 // TThreadItem ?????鴻???????????c??荐??????
181 // *************************************************************************
182 procedure ThreadItemSetLong(
183 instance : DWORD;
184 propertyID : TThreadItemProperty;
185 param : DWORD
186 ); stdcall;
187 var
188 threadItem : TThreadItem;
189 begin
190
191 threadItem := TThreadItem( instance );
192 case propertyID of
193 tipContext: // : DWORD // ???宴??┃絎???????????/span>
194 threadItem.Context := param;
195 tipNo: // : Integer // ???/span>
196 threadItem.No := param;
197 tipFileName: // : string // ?鴻?????????<?ゃ????
198 threadItem.FileName := string( PChar( param ) );
199 tipTitle: // : string // ?鴻???????帥?ゃ????/span>
200 threadItem.Title := string( PChar( param ) );
201 tipCount: // : Integer // ?鴻???????????潟??鐚????若?????
202 threadItem.Count := param;
203 tipAllResCount: // : Integer // ?鴻???????????潟??鐚??泣?若??鐚?
204 threadItem.AllResCount := param;
205 tipNewResCount: // : Integer // ?鴻???????亥????/span>
206 threadItem.NewResCount := param;
207 tipSize: // : Integer // ?鴻???????泣?ゃ??/span>
208 threadItem.Size := param;
209 tipRound: // : Boolean // 綏≦????????/span>
210 threadItem.Round := Boolean( param );
211 tipRoundName: // : string // 綏≦????
212 //threadItem.RoundName := string( PChar( param ) );
213 threadItem.RoundName := PChar( param );
214 tipIsLogFile: // : Boolean // ???医?????????/span>
215 threadItem.IsLogFile := Boolean( param );
216 tipKokomade: // : Integer // ?潟?潟?障?ц????????/span>
217 threadItem.Kokomade := param;
218 tipNewReceive: // : Integer // ?潟?潟?????域???篆?/span>
219 threadItem.NewReceive := param;
220 tipNewArrival: // : Boolean // ?亥??
221 threadItem.NewArrival := Boolean( param );
222 tipUnRead: // : Boolean // ?????????/span>
223 threadItem.UnRead := Boolean( param );
224 tipScrollTop: // : Integer // ?鴻?????若???臀?/span>
225 threadItem.ScrollTop := param;
226 tipDownloadHost: // : string // 篁??????鴻?????????翫???????鴻??
227 threadItem.DownloadHost := string( PChar( param ) );
228 tipAgeSage: // : TThreadAgeSage // ?≪?ゃ?????????筝???
229 threadItem.AgeSage := TGikoAgeSage( param );
230 tipURL: // : string // ?鴻???????????????吟?ц;腓冴??????? URL
231 threadItem.URL := string( PChar( param ) );
232 //tipFilePath: // : string // ?????鴻????篆?絖???????????????/span>
233 // threadItem.FilePath := string( PChar( param ) );
234 tipJumpAddress:
235 threadItem.JumpAddress := param;
236 end;
237
238 end;
239
240 // *************************************************************************
241 // TThreadItem ?????鴻???????????c????緇?????
242 // *************************************************************************
243 function ThreadItemGetDouble(
244 instance : DWORD;
245 propertyID : TThreadItemProperty
246 ) : Double; stdcall;
247 var
248 threadItem : TThreadItem;
249 begin
250
251 threadItem := TThreadItem( instance );
252 case propertyID of
253 tipRoundDate: // : TDateTime // ?鴻??????????緇??????ユ??鐚?綏≦???ユ??鐚?
254 Result := threadItem.RoundDate;
255 tipLastModified: // : TDateTime // ?鴻?????????贋?違???????????ユ??鐚??泣?若???贋?ユ??鐚?
256 Result := threadItem.LastModified;
257 else
258 Result := 0;
259 end;
260
261 end;
262
263 // *************************************************************************
264 // TThreadItem ?????鴻???????????c??荐??????
265 // *************************************************************************
266 procedure ThreadItemSetDouble(
267 instance : DWORD;
268 propertyID : TThreadItemProperty;
269 param : Double
270 ); stdcall;
271 var
272 threadItem : TThreadItem;
273 begin
274
275 threadItem := TThreadItem( instance );
276 case propertyID of
277 tipRoundDate: // : TDateTime // ?鴻??????????緇??????ユ??鐚?綏≦???ユ??鐚?
278 threadItem.RoundDate := param;
279 tipLastModified: // : TDateTime // ?鴻?????????贋?違???????????ユ??鐚??泣?若???贋?ユ??鐚?
280 threadItem.LastModified := param;
281 end;
282
283 end;
284
285 // *************************************************************************
286 // TThreadItem ?????鴻????????<????????? dat 綵√? 1 茵??? HTML ?????????
287 // *************************************************************************
288 function ThreadItemDat2HTML(
289 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
290 inDatRes : PChar; // ????<>?<?若??lt;>?ヤ?ID<>????<> ?ф??????????????鴻??
291 inResNo : DWORD; // ???合???/span>
292 inIsNew : Boolean // ?亥?????鴻???? True
293 ) : PChar; stdcall; // ?翫就?????? HTML
294 var
295 threadItem : TThreadItem;
296 res : TResRec;
297 no : string;
298 resLink : TResLinkRec;
299 begin
300
301 threadItem := TThreadItem( inInstance );
302 // 綣??違????茹?/span>
303 THTMLCreate.DivideStrLine( string( inDatRes ) , @res);
304 if AnsiCompareStr( string( inDatRes ) , '' ) <> 0 then begin
305 res.FBody := THTMLCreate.DeleteLink(res.FBody);
306 resLink.FBbs := threadItem.ParentBoard.BBSID;
307 resLink.FKey := ChangeFileExt( threadItem.FileName, '' );
308 HTMLCreater.AddAnchorTag( @res );
309 HTMLCreater.ConvRes( @res, @resLink );
310
311 no := IntToStr( inResNo );
312
313 try
314 if GikoSys.Setting.UseSkin then begin
315 // ?鴻????/span>
316 if inIsNew then
317 Result := CreateResultString( HTMLCreater.SkinedRes(
318 HTMLCreater.LoadFromSkin(
319 GikoSys.GetSkinNewResFileName, threadItem, threadItem.Size
320 ), @res, no
321 ) )
322 else
323 Result := CreateResultString( HTMLCreater.SkinedRes(
324 HTMLCreater.LoadFromSkin(
325 GikoSys.GetSkinResFileName, threadItem, threadItem.Size
326 ), @res, no
327 ) );
328 end else if GikoSys.Setting.UseCSS then begin
329 // CSS
330 if res.FName = '' then
331 res.FName := '&nbsp;';
332 if res.FMailTo = '' then
333 Result := CreateResultString( '<a name="' + no + '"></a>'
334 + '<div class="header"><span class="no"><a href="menu:' + No + '">' + no + '</a></span> '
335 + '<span class="name_label">????鐚?</span> '
336 + '<span class="name"><b>' + res.FName + '</b></span> '
337 + '<span class="date_label">??腮炊?ワ?</span> '
338 + '<span class="date">' + res.FDateTime+ '</span></div>'
339 + '<div class="mes">' + res.FBody + ' </div>' )
340 else if GikoSys.Setting.ShowMail then
341 Result := CreateResultString( '<a name="' + no + '"></a>'
342 + '<div class="header"><span class="no"><a href="menu:' + no + '">' + no + '</a></span>'
343 + '<span class="name_label"> ????鐚? </span>'
344 + '<a class="name_mail" href="mailto:' + res.FMailTo + '">'
345 + '<b>' + res.FName + '</b></a><span class="mail"> [' + res.FMailTo + ']</span>'
346 + '<span class="date_label"> ??腮炊?ワ?</span>'
347 + '<span class="date"> ' + res.FDateTime+ '</span></div>'
348 + '<div class="mes">' + res.FBody + ' </div>' )
349 else
350 Result := CreateResultString( '<a name="' + no + '"></a>'
351 + '<div class="header"><span class="no"><a href="menu:' + no + '">' + no + '</a></span>'
352 + '<span class="name_label"> ????鐚? </span>'
353 + '<a class="name_mail" href="mailto:' + res.FMailTo + '">'
354 + '<b>' + res.FName + '</b></a>'
355 + '<span class="date_label"> ??腮炊?ワ?</span>'
356 + '<span class="date"> ' + res.FDateTime+ '</span></div>'
357 + '<div class="mes">' + res.FBody + ' </div>' );
358 end else begin
359 // ??????????
360 if res.FMailTo = '' then
361 Result := CreateResultString( '<a name="' + no + '"></a><dt><a href="menu:' + no + '">' + no + '</a> ????鐚?<font color="forestgreen"><b> ' + res.FName + ' </b></font> ??腮炊?ワ? ' + res.FDateTime+ '<br><dd>' + res.Fbody + ' <br><br><br>' )
362 else if GikoSys.Setting.ShowMail then
363 Result := CreateResultString( '<a name="' + no + '"></a><dt><a href="menu:' + no + '">' + no + '</a> ????鐚?<a href="mailto:' + res.FMailTo + '"><b> ' + res.FName + ' </B></a> [' + res.FMailTo + '] ??腮炊?ワ? ' + res.FDateTime+ '<br><dd>' + res.Fbody + ' <br><br><br>' )
364 else
365 Result := CreateResultString( '<a name="' + no + '"></a><dt><a href="menu:' + no + '">' + no + '</a> ????鐚?<a href="mailto:' + res.FMailTo + '"><b> ' + res.FName + ' </B></a> ??腮炊?ワ? ' + res.FDateTime+ '<br><dd>' + res.Fbody + ' <br><br><br>' );
366 end;
367 except
368 Result := nil;
369 end;
370 end else begin
371 Result := nil;
372 end;
373
374 end;
375
376 // *************************************************************************
377 // TThreadItem ?????鴻???????鴻??????????????????緇?????
378 // *************************************************************************
379 function ThreadItemGetHeader(
380 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
381 inOptionalHeader : PChar // 菴遵??????????
382 ) : PChar; stdcall; // ?翫就?????? HTML
383 var
384 threadItem : TThreadItem;
385 skinHeader : string;
386 optionalHeader : string;
387 begin
388
389 {$IFDEF DEBUG}
390 Writeln('ExternalBoardManager.ThreadItemGetHeader');
391 {$ENDIF}
392 threadItem := TThreadItem( inInstance );
393 optionalHeader := string( inOptionalHeader );
394
395 try
396 if GikoSys.Setting.UseSkin then begin
397 // ?鴻????/span>
398 skinHeader := HTMLCreater.LoadFromSkin( GikoSys.GetSkinHeaderFileName, threadItem, threadItem.Size );
399 if Length( optionalHeader ) > 0 then
400 skinHeader :=
401 StringReplace( skinHeader, '</head>', optionalHeader + '</head><a name="top"></a>', [] );
402 end else if GikoSys.Setting.UseCSS then begin
403 // CSS
404 skinHeader :=
405 '<html><head>' +
406 '<title>' + threadItem.Title + '</title>' +
407 '<link rel="stylesheet" href="'+ GikoSys.Setting.GetStyleSheetDir + GikoSys.Setting.CSSFileName +'" type="text/css">' +
408 optionalHeader +
409 '</head>' +
410 '<body>' +
411 '<a name="top"></a>' +
412 '<div class="title">' + threadItem.Title + '</div>';
413 end else begin
414 // ??????????
415 skinHeader :=
416 '<html><head>' +
417 '<title>' + threadItem.Title + '</title>' +
418 optionalHeader +
419 '</head>' +
420 '<body TEXT="#000000" BGCOLOR="#EFEFEF" link="#0000FF" alink="#FF0000" vlink="#660099">' +
421 '<a name="top"></a>' +
422 '<font size=+1 color="#FF0000">' + threadItem.Title + '</font>' +
423 '<dl>';
424 end;
425 except
426 end;
427
428 Result := CreateResultString( skinHeader );
429
430 end;
431
432 // *************************************************************************
433 // TThreadItem ?????鴻???????鴻?????????????帥????緇?????
434 // *************************************************************************
435 function ThreadItemGetFooter(
436 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
437 inOptionalFooter : PChar // 菴遵??????????/span>
438 ) : PChar; stdcall; // ?翫就?????? HTML
439 var
440 threadItem : TThreadItem;
441 skinFooter : string;
442 optionalFooter : string;
443 begin
444
445 {$IFDEF DEBUG}
446 Writeln('ExternalBoardManager.ThreadItemGetFooter');
447 {$ENDIF}
448 threadItem := TThreadItem( inInstance );
449 optionalFooter := string( inOptionalFooter );
450
451 try
452 if GikoSys.Setting.UseSkin then begin
453 // ?鴻????/span>
454 skinFooter := HTMLCreater.LoadFromSkin( GikoSys.GetSkinFooterFileName, threadItem, threadItem.Size );
455 if Length( optionalFooter ) > 0 then
456 skinFooter :=
457 StringReplace( skinFooter, '</body>', optionalFooter + '</body>', [] );
458 end else if GikoSys.Setting.UseCSS then begin
459 // CSS
460 skinFooter :=
461 optionalFooter +
462 '</body></html>' +
463 '<a name="last"></a>' +
464 '</body></html>';
465 end else begin
466 // ??????????
467 skinFooter :=
468 '</dl>' +
469 optionalFooter +
470 '</body></html>' +
471 '<a name="last"></a>' +
472 '</body></html>';
473 end;
474 except
475 end;
476
477 Result := CreateResultString( skinFooter );
478
479 end;
480
481 // *************************************************************************
482 // ?鴻?????????????潟???若?????画?????
483 // *************************************************************************
484 procedure ThreadItemWork(
485 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
486 inWorkCount : Integer // ?上?????我??倶?(?????潟??)
487 ); stdcall;
488 begin
489
490 if Assigned( OnWork ) then
491 OnWork( TObject( inInstance ), wmRead, inWorkCount );
492
493 end;
494
495 // *************************************************************************
496 // ?鴻?????????????潟???若????紮??障?c??
497 // *************************************************************************
498 procedure ThreadItemWorkBegin(
499 inInstance : DWORD; // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
500 inWorkCountMax : Integer // ??篆<????????腓冴???????潟??
501 ); stdcall;
502 begin
503
504 if Assigned( OnWorkBegin ) then
505 OnWorkBegin( TObject( inInstance ), wmRead, inWorkCountMax );
506
507 end;
508
509 // *************************************************************************
510 // ?鴻?????????????潟???若????腟???c??
511 // *************************************************************************
512 procedure ThreadItemWorkEnd(
513 inInstance : DWORD // ThreadItem ???ゃ?潟?鴻?帥?潟??/span>
514 ); stdcall;
515 begin
516
517 if Assigned( OnWorkEnd ) then
518 OnWorkEnd( TObject( inInstance ), wmRead );
519
520 end;
521
522 exports
523 ThreadItemGetLong,
524 ThreadItemSetLong,
525 ThreadItemGetDouble,
526 ThreadItemSetDouble,
527 ThreadItemDat2HTML,
528 ThreadItemGetHeader,
529 ThreadItemGetFooter,
530 ThreadItemWork,
531 ThreadItemWorkBegin,
532 ThreadItemWorkEnd;
533
534 end.
535

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26