|
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;implementationuses
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