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 |
viewRadio_th线程函数在form外生命全局变量、函数内相应的局部变量可以接收全局变量的赋值进行操作、query等可以自行创建进行查询、这样结果不会改变。 //下面是后台发送字幕的线程函数应用。 …… var ldate,ldatetime: string ; lHandle:thandle; dloopThreadID:dword; message_form: Tmessage_form; function
viewRadio_th(P: pointer ): Longint ;stdcall; implementation uses
commonDM, ubox_c, common_u, loginform; …… //调用线程 lHandle := CreateThread( nil , 0 ,@viewRadio_th, nil , 0 ,dloopThreadID); //线程函数 function
viewRadio_th(P: pointer ): Longint ;stdcall; var
lquery,lnumquery:Toraquery; I,j: Integer ; th_date,th_datetime: string ; th_handle:thandle; th_loopThreadID:dword; maxnum,boxid,boxip: string ; F:Textfile; begin th_date:=ldate; th_datetime:=ldatetime; th_handle:=lhandle; th_loopThreadID:=dloopThreadID; lquery:=Toraquery . Create( nil ); lnumquery:=toraquery . Create( nil ); lquery . FetchAll:= true ; lnumquery . Session:=common_dm . common_session; lquery . Session:=common_dm . common_session; with
lnumquery do begin close; sql . Clear; sql . Add( ‘select max(promotesalesplaynumber) maxnum from promotesales_t where PROMOTESALESTYPE=‘ ‘?¤??‘ ‘ and ‘ ‘‘ + th_date+ ‘ ‘ ‘||PROMOTESALESPLAYTIME=‘ ‘‘ +th_datetime+ ‘‘ ‘‘ ); open; end ; // with if
lnumquery . RecordCount<> 0
then maxnum:=lnumquery[ ‘maxnum‘ ]; with
lquery do begin close; sql . Clear; sql . Add( ‘select * from promotesales_t where PROMOTESALESTYPE=‘ ‘?¤??‘ ‘ and ‘ ‘‘ + th_date+ ‘ ‘ ‘||PROMOTESALESPLAYTIME=‘ ‘‘ +th_datetime+ ‘‘ ‘‘ ); open; end ; // with for
I := 1
to
strtoint(maxnum) do
// Iterate begin lquery . First; if
i<> 1
then sleep( 60000 ); for
j := 0
to
lquery . RecordCount - 1
do // Iterate begin if
strtoint(lquery[ ‘promotesalesplaynumber‘ ])>=i then begin boxid:=lquery[ ‘promoteboxid‘ ]; with
lnumquery do begin Close; SQL . Clear; SQL . Add( ‘select * from BOX_T where BOXID=‘ ‘‘ +boxid+ ‘‘ ‘‘ ); Open; end ; // with boxip:=lnumquery[ ‘boxip‘ ]; if
fileExists(common_u . fileaddress(boxip, ‘radioroot‘ )+ ‘.tit‘ ) then Deletefile(common_u . fileaddress(boxip, ‘radioroot‘ )+ ‘.tit‘ ); AssignFile(F, common_u . fileaddress(boxip, ‘radioroot‘ )+ ‘.tit‘ ); {??????????±??? F ????} ReWrite(F); Writeln (F, ‘[Parameter]‘ +# 13 + ‘Delay=0‘ +# 13 + ‘IntoDelay=0‘ +# 13 +# 13 + ‘[TextAdOsd]‘ + # 13 + ‘PlayMode=RIGHT_IN_LEFT_OUT‘ +# 13 + ‘Type=Text‘ +# 13 + ‘Font=????‘ +# 13 + ‘FontSize=40‘ +# 13 + ‘LoopTime=1‘ +# 13 + ‘Speed=5‘ +# 13 + ‘Delay=0‘ +# 13 + ‘Time=0‘ +# 13 + ‘ForegroundColor=255 255 0‘ +# 13 + ‘BackgroundColor=0 0 0‘ +# 13 + ‘UseShadow=y‘ +# 13 + ‘ShadowColor=255 0 0‘ +# 13 + ‘ShadowDelta=1 1‘ +# 13 + ‘cmd=first‘ +# 13 + ‘Text=‘ +lquery[ ‘PROMOTESALESCONTENT‘ ]); Closefile(F); {??±????? F} end ; lquery . Next; end ; // for end ; // for lquery . Free; lnumquery . Free; if
th_handle<> 0
then TerminateThread(th_handle,th_loopThreadID); end ; |
原文:http://www.cnblogs.com/hejoy91/p/3527146.html