我求的是硬盘序列号。把他插入表中。在procedure TForm1_play.FormShow(Sender: TObject);就出错了。错误提示:
[Error] Unit1.pas(548): Statement expected but 'PROCEDURE' found
请各位帮帮忙。先谢谢了
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, DB, DBTables, MPlayer, mmsystem, shellapi,registry,
OleCtrls, ShockwaveFlashObjects_TLB, StdCtrls, ADODB;
type
tvolume=record
left : byte;
right : byte;
end;type
tsingex=record
volume : tvolume;
number : string;
name : string;
path : string;
end;type
TForm1_play = class(TForm)
Panel1: TPanel;
Image1: TImage;
Timer1: TTimer;
Query1: TQuery;
Query2: TQuery;
Player1: TMediaPlayer;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ADOQuery1: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
mysing_cplay : tsingex;
mysing_count : integer;
mysing_array : array[0..22]of tsingex;
//
mymute_mode : integer;
mycurr_volm : tvolume;
myzero_volm : tvolume;
myvolm_mode : boolean;
//
procedure myvolume_set(v:tvolume);
procedure mytrack_rset();
//
procedure OnTimer();
//
public
{ Public declarations }
function sing_xinfo(i:integer):tsingex;
function sing_count():integer;
function sing_cplay():tsingex;
//
procedure sing_xadd(s:string);
procedure sing_add(s:tsingex);
procedure sing_del(i:integer);
procedure sing_mov(i:integer);
//
procedure play_seek(i:integer);
procedure play_stop();
procedure play_pause();
procedure play_replay();
//
procedure track_music();
procedure track_xsing();
//
procedure volume_reset(v:tvolume);
procedure volume_xmute();
procedure volume_upper();
procedure volume_lower();
end;var
Form1_play: TForm1_play;
//
hdrv :HDRVR;
tsingx:tsingex;
freexn:integer;
freetn:integer;
freexm:integer;
Reg :TRegistry;
function GetIdeDiskSerialNumber(): string;
implementationuses Unit2,Unit3,Unit4,Unit5,Unit6,Unit7,
Unit8,Unit9,Unit10,Unit11,Unit12,Unit13,Unit14,Unit15,
Unit30, Unit31;{$R *.dfm}procedure TForm1_play.myvolume_set(v:tvolume);
var
t:longint;
u:longint;
begin
try
t:= v.left;
waveoutgetvolume(player1.DeviceID-1,@u);
u:=((t shl 8) or (u and $64000000));
waveoutsetvolume(player1.DeviceID-1,u);
//
t:= v.right;
waveoutgetvolume(player1.DeviceID-1,@u);
u:=((t shl 24) or (u and $0000ffff));
waveoutsetvolume(player1.DeviceID-1,u);
except
end;
end;procedure TForm1_play.mytrack_rset();
begin
if self.myvolm_mode then
begin
//sing mode
mcisendstring('set all audio all off',nil,0,handle);
mcisendstring('set all audio right on',nil,0,handle);
end
else
begin
//music mode
mcisendstring('set all audio all off',nil,0,handle);
mcisendstring('set all audio left on',nil,0,handle);
end;
end;procedure TForm1_play.OnTimer();
var
i : integer;
begin
//
//
if self.mysing_count > 0 then
begin
self.mysing_cplay := self.mysing_array[0];
self.mysing_count := self.mysing_count -1;
//
for i:=0 to self.mysing_count do
self.mysing_array[i] := self.mysing_array[i + 1];
//play:
try
player1.FileName := self.mysing_cplay.path;
player1.Open();
player1.Display := self.Panel1;
player1.DisplayRect := Rect(0,0,800,600);
player1.Play(); self.mytrack_rset();
//
except
end;//end try
//
self.volume_reset(self.mysing_cplay.volume);
//info:
if Form12_viw.Visible then
Form12_viw.showAll()
else
if Form30_box.Visible then
Form30_box.OnShowX();
//done;
end//end if then
else
begin
[Error] Unit1.pas(548): Statement expected but 'PROCEDURE' found
请各位帮帮忙。先谢谢了
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, jpeg, DB, DBTables, MPlayer, mmsystem, shellapi,registry,
OleCtrls, ShockwaveFlashObjects_TLB, StdCtrls, ADODB;
type
tvolume=record
left : byte;
right : byte;
end;type
tsingex=record
volume : tvolume;
number : string;
name : string;
path : string;
end;type
TForm1_play = class(TForm)
Panel1: TPanel;
Image1: TImage;
Timer1: TTimer;
Query1: TQuery;
Query2: TQuery;
Player1: TMediaPlayer;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ADOQuery1: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Timer1Timer(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
mysing_cplay : tsingex;
mysing_count : integer;
mysing_array : array[0..22]of tsingex;
//
mymute_mode : integer;
mycurr_volm : tvolume;
myzero_volm : tvolume;
myvolm_mode : boolean;
//
procedure myvolume_set(v:tvolume);
procedure mytrack_rset();
//
procedure OnTimer();
//
public
{ Public declarations }
function sing_xinfo(i:integer):tsingex;
function sing_count():integer;
function sing_cplay():tsingex;
//
procedure sing_xadd(s:string);
procedure sing_add(s:tsingex);
procedure sing_del(i:integer);
procedure sing_mov(i:integer);
//
procedure play_seek(i:integer);
procedure play_stop();
procedure play_pause();
procedure play_replay();
//
procedure track_music();
procedure track_xsing();
//
procedure volume_reset(v:tvolume);
procedure volume_xmute();
procedure volume_upper();
procedure volume_lower();
end;var
Form1_play: TForm1_play;
//
hdrv :HDRVR;
tsingx:tsingex;
freexn:integer;
freetn:integer;
freexm:integer;
Reg :TRegistry;
function GetIdeDiskSerialNumber(): string;
implementationuses Unit2,Unit3,Unit4,Unit5,Unit6,Unit7,
Unit8,Unit9,Unit10,Unit11,Unit12,Unit13,Unit14,Unit15,
Unit30, Unit31;{$R *.dfm}procedure TForm1_play.myvolume_set(v:tvolume);
var
t:longint;
u:longint;
begin
try
t:= v.left;
waveoutgetvolume(player1.DeviceID-1,@u);
u:=((t shl 8) or (u and $64000000));
waveoutsetvolume(player1.DeviceID-1,u);
//
t:= v.right;
waveoutgetvolume(player1.DeviceID-1,@u);
u:=((t shl 24) or (u and $0000ffff));
waveoutsetvolume(player1.DeviceID-1,u);
except
end;
end;procedure TForm1_play.mytrack_rset();
begin
if self.myvolm_mode then
begin
//sing mode
mcisendstring('set all audio all off',nil,0,handle);
mcisendstring('set all audio right on',nil,0,handle);
end
else
begin
//music mode
mcisendstring('set all audio all off',nil,0,handle);
mcisendstring('set all audio left on',nil,0,handle);
end;
end;procedure TForm1_play.OnTimer();
var
i : integer;
begin
//
//
if self.mysing_count > 0 then
begin
self.mysing_cplay := self.mysing_array[0];
self.mysing_count := self.mysing_count -1;
//
for i:=0 to self.mysing_count do
self.mysing_array[i] := self.mysing_array[i + 1];
//play:
try
player1.FileName := self.mysing_cplay.path;
player1.Open();
player1.Display := self.Panel1;
player1.DisplayRect := Rect(0,0,800,600);
player1.Play(); self.mytrack_rset();
//
except
end;//end try
//
self.volume_reset(self.mysing_cplay.volume);
//info:
if Form12_viw.Visible then
Form12_viw.showAll()
else
if Form30_box.Visible then
Form30_box.OnShowX();
//done;
end//end if then
else
begin
var
SN:string;
stringrt : Array[0..67] of string;
i:integer;
sst:string;
namesst:string; strsql:string;
begin
//sst="100";
SN := GetIdeDiskSerialNumber();
// Label1.Caption:=SN;
// Label2.Caption:=SN; for i:=1 to length(SN) do
begin
stringrt[i]:=Copy(SN, i, 1);
end;
Label3.Caption:=stringrt[1]+stringrt[2]+stringrt[3]+stringrt[4]+stringrt[5];
namesst:=stringrt[1]+stringrt[2]+stringrt[3]+stringrt[4]+stringrt[5];
sst:=stringrt[1]+stringrt[2]+stringrt[3]+stringrt[4]+stringrt[5];
if Form1_play.ADOQuery1.RecordCount = 0 then
begin
strsql:='Insert into zcm(pid,name) Values(:sst,:namesst)';
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(strsql); ExecSQL;
end;
self.mysing_cplay.number := '';
self.mysing_cplay.name := '';
self.mysing_cplay.path := '';
//
self.mysing_count := 0;
self.mymute_mode := 0;
//
self.myzero_volm.left := 0;
self.myzero_volm.right:= 0;
//
self.mycurr_volm.left := 204;
self.mycurr_volm.right:= 204;
self.myvolume_set(mycurr_volm);
//
self.track_music;
//
freexn := 7;
freetn := 0;
//
// if fileexists('D:\k0.swf') and
// fileexists('D:\k1.swf') and
// fileexists('D:\k2.swf') and
// fileexists('D:\k3.swf') and
// fileexists('D:\k4.swf') and
// fileexists('D:\k5.swf') and
// fileexists('D:\k6.swf') and
// fileexists('D:\k7.swf') then
// begin
// freexm := 2;
// self.Flash1.Visible := true;
// self.Image1.Visible := false;
// self.Flash1.Movie := 'D:\K0.SWF';
// end
// else
if fileexists('D:\k0.jpg') and
fileexists('D:\k1.jpg') and
fileexists('D:\k2.jpg') and
fileexists('D:\k3.jpg') and
fileexists('D:\k4.jpg') and
fileexists('D:\k5.jpg') and
fileexists('D:\k6.jpg') and
fileexists('D:\k7.jpg') then
begin
freexm := 1;
// self.Flash1.Visible := false;
self.Image1.Visible := true;
end
else
begin
freexm := 0;
// self.Flash1.Visible := false;
self.Image1.Visible := true; end;
//form15.show
end;procedure TForm1_play.FormShow(Sender: TObject); begin
Reg := TRegistry.Create;
try
//exit;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.CreateKey('\Config\0001\Display\Settings\PCI_VEN_1002&DEV_5159&SUBSYS_02021787&REV_00_000800_0001');
Reg.CreateKey('\Config\0001\Display\Settings\PCI_VEN_1002&DEV_5159&SUBSYS_0F021787&REV_00_000800_0001');
Reg.openkey('\Config\0001\Display\Settings',true);
reg.WriteString('ver','TianWang');
reg.WriteString('AttachToDesktop','1');
reg.WriteString('BitsPerPixel','16');
reg.WriteString('DesktopPos','0,0');
reg.WriteString('Resolution','800,600');
Reg.openKey('\Config\0001\Display\Settings\PCI_VEN_1002&DEV_5159&SUBSYS_02021787&REV_00_000800_0001',true);
reg.WriteString('AttachToDesktop','1');
reg.WriteString('BitsPerPixel','16');
reg.WriteString('DPILogicalX','96');
reg.WriteString('DPILogicalY','96');
reg.WriteString('DesktopPos','800,0');
reg.WriteString('Resolution','800,600');
Reg.openKey('\Config\0001\Display\Settings\PCI_VEN_1002&DEV_5159&SUBSYS_0F021787&REV_00_000800_0001',true);
reg.WriteString('AttachToDesktop','1');
reg.WriteString('BitsPerPixel','16');
reg.WriteString('DPILogicalX','96');
reg.WriteString('DPILogicalY','96');
reg.WriteString('DesktopPos','800,0');
reg.WriteString('Resolution','800,600'); finally
Reg.CloseKey;
Reg.Free; self.Left := 801;
self.Top := 0;
end;
end;procedure TForm1_play.FormClose(Sender: TObject; var Action: TCloseAction);
begin
closedriver(hdrv,0,0);
deleteobject(hdrv);end;procedure TForm1_play.Timer1Timer(Sender: TObject);
begin
if (self.Player1.Mode <> mpPlaying) and
(self.Player1.Mode <> mpPaused) then
self.OnTimer();
//
Form30_box.OnTimer();
Form31_box.OnTimer();
end;procedure TForm1_play.FormKeyPress(Sender: TObject; var Key: Char);
begin
Form2_root.FormKeyPress(Sender,Key);
end;
end.
老兄太能了
我头都大了
with adoquery1 do
begin
close;
sql.clear;
sql.add(strsql);
parameters[0].valuse:=sst;
parameters[1].valuse:=namesst;
execsql;
end;
if Form1_play.ADOQuery1.RecordCount = 0 then begin
strsql:='Insert into zcm(pid,name) Values(:sst,:namesst)';
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add(strsql); ExecSQL;
=====================
你(:sst,:namesst这些参数没有赋值呢?