unit MainF;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMenu, DSPack, Directshow9, ExtCtrls, Buttons, StdCtrls, ComCtrls,
ToolWin, ImgList, shellapi,StrUtils ;const
WM_TrayMessage=WM_User+100;
strlsts='*.mlst;*.m3u;*.wax;*.asx;*.wpl;*.pls;';
ExtLsts='*.asx;*.wpl;*.pls;';
WinTitle='和风播放器v1.03';
lLens=10000;type
pPListItem=^TPListItem;
TPListItem=Record
ID:integer;
Name:String;
End;type
TMainInfo = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
OpenF: TMenuItem;
OpenD: TMenuItem;
DVD: TMenuItem;
Openu: TMenuItem;
OpenPt: TMenuItem;
OpenP: TMenuItem;
Quit: TMenuItem;
N7: TMenuItem;
His: TMenuItem;
SetHis: TMenuItem;
ClrHis: TMenuItem;
ExitClr: TMenuItem;
Main: TMenuItem;
N13: TMenuItem;
PrintS: TMenuItem;
Propty: TMenuItem;
N16: TMenuItem;
Exited: TMenuItem;
Lplay: TMenuItem;
Pausd: TMenuItem;
Stopd: TMenuItem;
Stepd: TMenuItem;
Provd: TMenuItem;
Nextd: TMenuItem;
LCont: TMenuItem;
Lgoto: TMenuItem;
LQrit: TMenuItem;
LQleft: TMenuItem;
Lmax: TMenuItem;
Lmin: TMenuItem;
Lplayer: TMenuItem;
Lleft: TMenuItem;
Lrit: TMenuItem;
N1: TMenuItem;
LValue: TMenuItem;
UValue: TMenuItem;
DValue: TMenuItem;
NValue: TMenuItem;
LVOut: TMenuItem;
NoValue: TMenuItem;
LeftV: TMenuItem;
rightV: TMenuItem;
N2: TMenuItem;
LPerent: TMenuItem;
NoAll: TMenuItem;
LAll: TMenuItem;
LPInfo: TMenuItem;
LOver: TMenuItem;
LQuit: TMenuItem;
LSleep: TMenuItem;
LClosed: TMenuItem;
LSpacd: TMenuItem;
LQuited: TMenuItem;
N3: TMenuItem;
LBKey: TMenuItem;
N4: TMenuItem;
LChosed: TMenuItem;
LContc: TMenuItem;
DCont: TMenuItem;
DLeft: TMenuItem;
Drit: TMenuItem;
N8: TMenuItem;
DVst: TMenuItem;
DPint: TMenuItem;
DOvr: TMenuItem;
N12: TMenuItem;
DMinfo: TMenuItem;
DTInfo: TMenuItem;
DCinfo: TMenuItem;
DVsinfo: TMenuItem;
DPinfo: TMenuItem;
DOInfo: TMenuItem;
Images: TMenuItem;
Isets: TMenuItem;
N5: TMenuItem;
ISites: TMenuItem;
ILefttop: TMenuItem;
IleftBtn: TMenuItem;
Irittop: TMenuItem;
Iritbtn: TMenuItem;
N6: TMenuItem;
ICn: TMenuItem;
IBlend: TMenuItem;
N10: TMenuItem;
IChang: TMenuItem;
ILftTop: TMenuItem;
NoL: TMenuItem;
Isapce: TMenuItem;
Illt: TMenuItem;
Ilrl: TMenuItem;
ILAll: TMenuItem;
N9: TMenuItem;
Ireset: TMenuItem;
VInfo: TMenuItem;
VCont: TMenuItem;
VStatus: TMenuItem;
Vlist: TMenuItem;
N11: TMenuItem;
Full: TMenuItem;
N14: TMenuItem;
VPrev: TMenuItem;
N15: TMenuItem;
N17: TMenuItem;
N431: TMenuItem;
N541: TMenuItem;
N1691: TMenuItem;
VPind: TMenuItem;
N501: TMenuItem;
N1001: TMenuItem;
N2001: TMenuItem;
HInfo: TMenuItem;
HUrl: TMenuItem;
Huser: TMenuItem;
OpenFile: TOpenDialog;
FilterGraph1: TFilterGraph;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Splitter1: TSplitter;
Panel5: TDSVideoWindowEx2;
Panel4: TPanel;
spdAdd: TSpeedButton;
spdDet: TSpeedButton;
spdMod: TSpeedButton;
Lspearet: TLabel;
TreeView1: TTreeView;
Titles: TLabel;
Timers: TLabel;
Panel65: TDSVideoWindowEx2;
Panel64: TDSVideoWindowEx2;
FilterGraph2: TFilterGraph;
ToolBar1: TToolBar;
tlbPlay: TToolButton;
tlbPausd: TToolButton;
tlbStopd: TToolButton;
ToolButton4: TToolButton;
tlbPre: TToolButton;
tlbLft: TToolButton;
tlbRit: TToolButton;
tlbNxt: TToolButton;
ImageList1: TImageList;
ImageList2: TImageList;
ImageList3: TImageList;
PopupMenu1: TPopupMenu;
Pausd1: TMenuItem;
Stopd1: TMenuItem;
Stepd1: TMenuItem;
Provd1: TMenuItem;
Nextd1: TMenuItem;
LCont1: TMenuItem;
Lgoto1: TMenuItem;
LQrit1: TMenuItem;
LQleft1: TMenuItem;
Lmax1: TMenuItem;
Lmin1: TMenuItem;
Lplayer1: TMenuItem;
Lleft1: TMenuItem;
Lrit1: TMenuItem;
DCont1: TMenuItem;
DOInfo1: TMenuItem;
DPinfo1: TMenuItem;
DVsinfo1: TMenuItem;
DCinfo1: TMenuItem;
DTInfo1: TMenuItem;
DMinfo1: TMenuItem;
N24: TMenuItem;
DOvr1: TMenuItem;
DPint1: TMenuItem;
DVst1: TMenuItem;
N28: TMenuItem;
Drit1: TMenuItem;
DLeft1: TMenuItem;
N18: TMenuItem;
Images1: TMenuItem;
Ireset1: TMenuItem;
N21: TMenuItem;
ILftTop1: TMenuItem;
ILAll1: TMenuItem;
Ilrl1: TMenuItem;
Illt1: TMenuItem;
N27: TMenuItem;
NoL1: TMenuItem;
IChang1: TMenuItem;
N31: TMenuItem;
IBlend1: TMenuItem;
ISites1: TMenuItem;
ICn1: TMenuItem;
N35: TMenuItem;
Iritbtn1: TMenuItem;
Irittop1: TMenuItem;
IleftBtn1: TMenuItem;
ILefttop1: TMenuItem;
N40: TMenuItem;
Isets1: TMenuItem;
N19: TMenuItem;
Full1: TMenuItem;
VPrev1: TMenuItem;
N1692: TMenuItem;
N542: TMenuItem;
N432: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N20: TMenuItem;
LValue1: TMenuItem;
NValue1: TMenuItem;
DValue1: TMenuItem;
UValue1: TMenuItem;
LVOut1: TMenuItem;
rightV1: TMenuItem;
LeftV1: TMenuItem;
NoValue1: TMenuItem;
N37: TMenuItem;
LPerent1: TMenuItem;
LPInfo1: TMenuItem;
LAll1: TMenuItem;
NoAll1: TMenuItem;
LOver1: TMenuItem;
LQuited1: TMenuItem;
N45: TMenuItem;
LClosed1: TMenuItem;
LSleep1: TMenuItem;
LQuit1: TMenuItem;
N49: TMenuItem;
LBKey1: TMenuItem;
N25: TMenuItem;
LChosed1: TMenuItem;
LContc1: TMenuItem;
N26: TMenuItem;
PrintS1: TMenuItem;
Propty1: TMenuItem;
PopupMenu2: TPopupMenu;
CLst: TMenuItem;
CSave: TMenuItem;
N29: TMenuItem;
CInfo: TMenuItem;
CDInfo: TMenuItem;
CAll: TMenuItem;
Atype: TMenuItem;
CNil: TMenuItem;
CPet: TMenuItem;
COrder: TMenuItem;
CUsed: TMenuItem;
PopupMenu3: TPopupMenu;
CNil1: TMenuItem;
CPet1: TMenuItem;
COrder1: TMenuItem;
CUsed1: TMenuItem;
PopupMenu4: TPopupMenu;
CShow: TMenuItem;
Pausd2: TMenuItem;
LChosed2: TMenuItem;
N30: TMenuItem;
close1: TMenuItem;
Precedure: TShape;
xp: TXPMenu;
ImgMove: TImage;
Panel61: TPanel;
Voic: TShape;
ImgVoic: TImage;
VolMint: TSpeedButton;
Timer1: TTimer;
SaveP: TSampleGrabber;
SaveT: TSampleGrabber;
Timer2: TTimer;
lblSave: TLabel;
Timer3: TTimer;
SaveDialog1: TSaveDialog;
procedure Panel1Resize(Sender: TObject);
procedure spdModClick(Sender: TObject);
procedure CNil1Click(Sender: TObject);
procedure CPet1Click(Sender: TObject);
procedure COrder1Click(Sender: TObject);
procedure CUsed1Click(Sender: TObject);
procedure CNilClick(Sender: TObject);
procedure CPetClick(Sender: TObject);
procedure COrderClick(Sender: TObject);
procedure CUsedClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Panel3Resize(Sender: TObject);
procedure ImgMoveMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImgMoveMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImgMoveMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure VStatusClick(Sender: TObject);
procedure VlistClick(Sender: TObject);
procedure VContClick(Sender: TObject);
procedure ImgVoicMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImgVoicMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PrecedureMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImgVoicMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMenu, DSPack, Directshow9, ExtCtrls, Buttons, StdCtrls, ComCtrls,
ToolWin, ImgList, shellapi,StrUtils ;const
WM_TrayMessage=WM_User+100;
strlsts='*.mlst;*.m3u;*.wax;*.asx;*.wpl;*.pls;';
ExtLsts='*.asx;*.wpl;*.pls;';
WinTitle='和风播放器v1.03';
lLens=10000;type
pPListItem=^TPListItem;
TPListItem=Record
ID:integer;
Name:String;
End;type
TMainInfo = class(TForm)
MainMenu1: TMainMenu;
File1: TMenuItem;
OpenF: TMenuItem;
OpenD: TMenuItem;
DVD: TMenuItem;
Openu: TMenuItem;
OpenPt: TMenuItem;
OpenP: TMenuItem;
Quit: TMenuItem;
N7: TMenuItem;
His: TMenuItem;
SetHis: TMenuItem;
ClrHis: TMenuItem;
ExitClr: TMenuItem;
Main: TMenuItem;
N13: TMenuItem;
PrintS: TMenuItem;
Propty: TMenuItem;
N16: TMenuItem;
Exited: TMenuItem;
Lplay: TMenuItem;
Pausd: TMenuItem;
Stopd: TMenuItem;
Stepd: TMenuItem;
Provd: TMenuItem;
Nextd: TMenuItem;
LCont: TMenuItem;
Lgoto: TMenuItem;
LQrit: TMenuItem;
LQleft: TMenuItem;
Lmax: TMenuItem;
Lmin: TMenuItem;
Lplayer: TMenuItem;
Lleft: TMenuItem;
Lrit: TMenuItem;
N1: TMenuItem;
LValue: TMenuItem;
UValue: TMenuItem;
DValue: TMenuItem;
NValue: TMenuItem;
LVOut: TMenuItem;
NoValue: TMenuItem;
LeftV: TMenuItem;
rightV: TMenuItem;
N2: TMenuItem;
LPerent: TMenuItem;
NoAll: TMenuItem;
LAll: TMenuItem;
LPInfo: TMenuItem;
LOver: TMenuItem;
LQuit: TMenuItem;
LSleep: TMenuItem;
LClosed: TMenuItem;
LSpacd: TMenuItem;
LQuited: TMenuItem;
N3: TMenuItem;
LBKey: TMenuItem;
N4: TMenuItem;
LChosed: TMenuItem;
LContc: TMenuItem;
DCont: TMenuItem;
DLeft: TMenuItem;
Drit: TMenuItem;
N8: TMenuItem;
DVst: TMenuItem;
DPint: TMenuItem;
DOvr: TMenuItem;
N12: TMenuItem;
DMinfo: TMenuItem;
DTInfo: TMenuItem;
DCinfo: TMenuItem;
DVsinfo: TMenuItem;
DPinfo: TMenuItem;
DOInfo: TMenuItem;
Images: TMenuItem;
Isets: TMenuItem;
N5: TMenuItem;
ISites: TMenuItem;
ILefttop: TMenuItem;
IleftBtn: TMenuItem;
Irittop: TMenuItem;
Iritbtn: TMenuItem;
N6: TMenuItem;
ICn: TMenuItem;
IBlend: TMenuItem;
N10: TMenuItem;
IChang: TMenuItem;
ILftTop: TMenuItem;
NoL: TMenuItem;
Isapce: TMenuItem;
Illt: TMenuItem;
Ilrl: TMenuItem;
ILAll: TMenuItem;
N9: TMenuItem;
Ireset: TMenuItem;
VInfo: TMenuItem;
VCont: TMenuItem;
VStatus: TMenuItem;
Vlist: TMenuItem;
N11: TMenuItem;
Full: TMenuItem;
N14: TMenuItem;
VPrev: TMenuItem;
N15: TMenuItem;
N17: TMenuItem;
N431: TMenuItem;
N541: TMenuItem;
N1691: TMenuItem;
VPind: TMenuItem;
N501: TMenuItem;
N1001: TMenuItem;
N2001: TMenuItem;
HInfo: TMenuItem;
HUrl: TMenuItem;
Huser: TMenuItem;
OpenFile: TOpenDialog;
FilterGraph1: TFilterGraph;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Splitter1: TSplitter;
Panel5: TDSVideoWindowEx2;
Panel4: TPanel;
spdAdd: TSpeedButton;
spdDet: TSpeedButton;
spdMod: TSpeedButton;
Lspearet: TLabel;
TreeView1: TTreeView;
Titles: TLabel;
Timers: TLabel;
Panel65: TDSVideoWindowEx2;
Panel64: TDSVideoWindowEx2;
FilterGraph2: TFilterGraph;
ToolBar1: TToolBar;
tlbPlay: TToolButton;
tlbPausd: TToolButton;
tlbStopd: TToolButton;
ToolButton4: TToolButton;
tlbPre: TToolButton;
tlbLft: TToolButton;
tlbRit: TToolButton;
tlbNxt: TToolButton;
ImageList1: TImageList;
ImageList2: TImageList;
ImageList3: TImageList;
PopupMenu1: TPopupMenu;
Pausd1: TMenuItem;
Stopd1: TMenuItem;
Stepd1: TMenuItem;
Provd1: TMenuItem;
Nextd1: TMenuItem;
LCont1: TMenuItem;
Lgoto1: TMenuItem;
LQrit1: TMenuItem;
LQleft1: TMenuItem;
Lmax1: TMenuItem;
Lmin1: TMenuItem;
Lplayer1: TMenuItem;
Lleft1: TMenuItem;
Lrit1: TMenuItem;
DCont1: TMenuItem;
DOInfo1: TMenuItem;
DPinfo1: TMenuItem;
DVsinfo1: TMenuItem;
DCinfo1: TMenuItem;
DTInfo1: TMenuItem;
DMinfo1: TMenuItem;
N24: TMenuItem;
DOvr1: TMenuItem;
DPint1: TMenuItem;
DVst1: TMenuItem;
N28: TMenuItem;
Drit1: TMenuItem;
DLeft1: TMenuItem;
N18: TMenuItem;
Images1: TMenuItem;
Ireset1: TMenuItem;
N21: TMenuItem;
ILftTop1: TMenuItem;
ILAll1: TMenuItem;
Ilrl1: TMenuItem;
Illt1: TMenuItem;
N27: TMenuItem;
NoL1: TMenuItem;
IChang1: TMenuItem;
N31: TMenuItem;
IBlend1: TMenuItem;
ISites1: TMenuItem;
ICn1: TMenuItem;
N35: TMenuItem;
Iritbtn1: TMenuItem;
Irittop1: TMenuItem;
IleftBtn1: TMenuItem;
ILefttop1: TMenuItem;
N40: TMenuItem;
Isets1: TMenuItem;
N19: TMenuItem;
Full1: TMenuItem;
VPrev1: TMenuItem;
N1692: TMenuItem;
N542: TMenuItem;
N432: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N20: TMenuItem;
LValue1: TMenuItem;
NValue1: TMenuItem;
DValue1: TMenuItem;
UValue1: TMenuItem;
LVOut1: TMenuItem;
rightV1: TMenuItem;
LeftV1: TMenuItem;
NoValue1: TMenuItem;
N37: TMenuItem;
LPerent1: TMenuItem;
LPInfo1: TMenuItem;
LAll1: TMenuItem;
NoAll1: TMenuItem;
LOver1: TMenuItem;
LQuited1: TMenuItem;
N45: TMenuItem;
LClosed1: TMenuItem;
LSleep1: TMenuItem;
LQuit1: TMenuItem;
N49: TMenuItem;
LBKey1: TMenuItem;
N25: TMenuItem;
LChosed1: TMenuItem;
LContc1: TMenuItem;
N26: TMenuItem;
PrintS1: TMenuItem;
Propty1: TMenuItem;
PopupMenu2: TPopupMenu;
CLst: TMenuItem;
CSave: TMenuItem;
N29: TMenuItem;
CInfo: TMenuItem;
CDInfo: TMenuItem;
CAll: TMenuItem;
Atype: TMenuItem;
CNil: TMenuItem;
CPet: TMenuItem;
COrder: TMenuItem;
CUsed: TMenuItem;
PopupMenu3: TPopupMenu;
CNil1: TMenuItem;
CPet1: TMenuItem;
COrder1: TMenuItem;
CUsed1: TMenuItem;
PopupMenu4: TPopupMenu;
CShow: TMenuItem;
Pausd2: TMenuItem;
LChosed2: TMenuItem;
N30: TMenuItem;
close1: TMenuItem;
Precedure: TShape;
xp: TXPMenu;
ImgMove: TImage;
Panel61: TPanel;
Voic: TShape;
ImgVoic: TImage;
VolMint: TSpeedButton;
Timer1: TTimer;
SaveP: TSampleGrabber;
SaveT: TSampleGrabber;
Timer2: TTimer;
lblSave: TLabel;
Timer3: TTimer;
SaveDialog1: TSaveDialog;
procedure Panel1Resize(Sender: TObject);
procedure spdModClick(Sender: TObject);
procedure CNil1Click(Sender: TObject);
procedure CPet1Click(Sender: TObject);
procedure COrder1Click(Sender: TObject);
procedure CUsed1Click(Sender: TObject);
procedure CNilClick(Sender: TObject);
procedure CPetClick(Sender: TObject);
procedure COrderClick(Sender: TObject);
procedure CUsedClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Panel3Resize(Sender: TObject);
procedure ImgMoveMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImgMoveMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImgMoveMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure VStatusClick(Sender: TObject);
procedure VlistClick(Sender: TObject);
procedure VContClick(Sender: TObject);
procedure ImgVoicMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImgVoicMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure PrecedureMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ImgVoicMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
解决方案 »
- 请问图标的代码是什么啊?
- 一个非常奇怪的问题,高手请进!!(在线等。。。。。)
- 卖血求!!!!!!!!!!!!!
- spcomm接收串口数据的问题?
- 如何在表单中做一个背景图?
- 想做一bitbtn組件,該組件設計好後,按組件click能動態調用一表單,該表單的主要作用是查詢database任意sql表任意field,
- 将ADODataset连接的表,转换成创建该表的sql语句。有什么好的思路!来者有分!
- 散分,求一串口问题
- MYSQL数据库是否支持中文字段名?
- 高手们进来给菜鸟介绍几本学Delphi的好书吧?
- delphi中对mdi操作
- 我的窗体的width,height属性只能改小不能改大了?
Shift: TShiftState; X, Y: Integer);
procedure NValueClick(Sender: TObject);
procedure OpenPtClick(Sender: TObject);
procedure DVDClick(Sender: TObject);
procedure OpenFClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure TreeView1DblClick(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure tlbRitClick(Sender: TObject);
procedure tlbLftClick(Sender: TObject);
procedure tlbPlayClick(Sender: TObject);
procedure tlbPausdClick(Sender: TObject);
procedure tlbStopdClick(Sender: TObject);
procedure tlbPreClick(Sender: TObject);
procedure tlbNxtClick(Sender: TObject);
procedure spdDetClick(Sender: TObject);
procedure QuitClick(Sender: TObject);
procedure spdAddClick(Sender: TObject);
procedure FilterGraph1GraphComplete(sender: TObject; Result: HRESULT;
Renderer: IBaseFilter);
procedure N15Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N431Click(Sender: TObject);
procedure N541Click(Sender: TObject);
procedure N1691Click(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure N501Click(Sender: TObject);
procedure N1001Click(Sender: TObject);
procedure N2001Click(Sender: TObject);
procedure PausdClick(Sender: TObject);
procedure Panel5MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Panel5Click(Sender: TObject);
procedure Panel5DblClick(Sender: TObject);
procedure OpenuClick(Sender: TObject);
procedure FullClick(Sender: TObject);
procedure Full1Click(Sender: TObject);
procedure PrintSClick(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure lblSaveDblClick(Sender: TObject);
procedure MainClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure ClrHisClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ExitClrClick(Sender: TObject);
procedure TreeView1AdvancedCustomDraw(Sender: TCustomTreeView;
const ARect: TRect; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
procedure close1Click(Sender: TObject);
procedure CShowClick(Sender: TObject);
procedure ExitedClick(Sender: TObject);
procedure Pausd2Click(Sender: TObject);
procedure CInfoClick(Sender: TObject);
procedure CDInfoClick(Sender: TObject);
procedure CAllClick(Sender: TObject);
procedure CSaveClick(Sender: TObject);
procedure PopupMenu2Popup(Sender: TObject);
procedure TreeView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure File1Click(Sender: TObject);
procedure CLstClick(Sender: TObject);
private
{ Private declarations }
procedure WMTrayMessage(var msg:TMessage);message WM_TrayMessage;
procedure AppMinimized(Sender:TObject);
public
{ Public declarations }
end;var
MainInfo: TMainInfo;
nid:TNotifyIconData;
PLists:pPListItem;
PIndex:integer;
Pt:tpoint;
r:trect;
plist:array [1..6] of string;
implementationuses MainN, SetUrl;{$R *.dfm}procedure TMainInfo.Panel1Resize(Sender: TObject);
begin
panel5.Width:=panel1.Width;
panel5.Height:=panel1.Height-HstusHeight;
timers.Top:=panel1.Height-HstusHeight+1;
titles.Top:=timers.Top;
timers.Left:=panel1.Width-110;
titles.Width:=panel1.Width-110;
end;procedure TMainInfo.spdModClick(Sender: TObject);
begin
popupmenu3.Popup(mouse.CursorPos.X,mouse.CursorPos.Y);
end;procedure TMainInfo.CNil1Click(Sender: TObject);
begin
SetMoveType(0);
end;procedure TMainInfo.CPet1Click(Sender: TObject);
begin
SetMoveType(1);
end;procedure TMainInfo.COrder1Click(Sender: TObject);
begin
SetMoveType(2);
end;procedure TMainInfo.CUsed1Click(Sender: TObject);
begin
SetMoveType(3);
end;procedure TMainInfo.CNilClick(Sender: TObject);
begin
SetMoveType(0);
end;procedure TMainInfo.CPetClick(Sender: TObject);
begin
SetMoveType(1);
end;procedure TMainInfo.COrderClick(Sender: TObject);
begin
SetMoveType(2);
end;procedure TMainInfo.CUsedClick(Sender: TObject);
begin
SetMoveType(3);
end;procedure TMainInfo.FormCreate(Sender: TObject);
begin
Application.OnMinimize:=AppMinimized;
AppMinimized(nil);
SetSysIniInfo1;
SetsysIniInfo;
end;procedure TMainInfo.Panel3Resize(Sender: TObject);
begin
Precedure.Width:=panel3.Width-16;
Panel61.Left:=panel3.Width-Panel61.Width;
end;procedure TMainInfo.ImgMoveMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
HProCheck:=false;
timer2.Enabled:=true;
end;procedure TMainInfo.PrecedureMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
imgmove.Left:=x;
Setpostion(Plength*imgmove.Left div Precedure.Width);
end;procedure TMainInfo.ImgMoveMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
HProCheck:=true;
timer2.Enabled:=false;
end;procedure TMainInfo.ImgMoveMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if HProCheck then exit;
if (imgmove.Left+x>=8) and (imgmove.Left+x<panel3.Width-8) then
imgmove.Left:=imgmove.Left+x-8;
end;procedure TMainInfo.VStatusClick(Sender: TObject);
begin
if HstusHeight=0 then
HstusHeight:=15
else
HstusHeight:=0;
panel5.Height:=panel1.Height-HstusHeight;
VStatus.Checked:=GetBilInfo(HstusHeight);
IsSizd:=true;
SetShowRect;
end;procedure TMainInfo.VlistClick(Sender: TObject);
begin
if Splitter1.Width=0 then
begin
Splitter1.Width:=3;
panel2.Width:=160;
end
else
begin
Splitter1.Width:=0;
panel2.Width:=0;
end;
Vlist.Checked:=GetBilInfo(Splitter1.Width);
IsSizd:=true;
SetShowRect;
end;procedure TMainInfo.VContClick(Sender: TObject);
begin
if panel3.Height=0 then
panel3.Height:=60
else
panel3.Height:=0;
VCont.Checked:=GetBilInfo(panel3.Height);
IsSizd:=true;
SetShowRect;
end;procedure TMainInfo.ImgVoicMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
HVoic:=false;
end;procedure TMainInfo.ImgVoicMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
HVoic:=true;
end;procedure TMainInfo.ImgVoicMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if HVoic then exit;
if (ImgVoic.Left+x>=60) and (ImgVoic.Left+x<160) then
ImgVoic.Left:=ImgVoic.Left+x-8;
SetVoicVolue;
end;procedure TMainInfo.VoicMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ImgVoic.Left:=52+x;
SetVoicVolue;
end;procedure TMainInfo.NValueClick(Sender: TObject);
begin
nvalue.Checked:=not nvalue.Checked;
nvalue1.Checked:=nvalue.Checked;
if NValue.Checked then
VolMint.Glyph.LoadFromFile(SystemPath+'Bmp\a2.bmp')
else
VolMint.Glyph.LoadFromFile(SystemPath+'Bmp\a.bmp');
volumetype:=0;
if NValue.Checked then volumetype:=-1;
SetVoicVolue;
end;procedure TMainInfo.OpenPtClick(Sender: TObject);
begin
SetDirSet;
end;procedure TMainInfo.WMTrayMessage(var msg:TMessage);
var
p:tpoint;
begin
if msg.lparam=wm_lbuttondown then
begin
showwindow(application.handle,sw_show);
application.restore;
end
else if msg.lparam=wm_rbuttondown then
begin
getcursorpos(p);
popupmenu4.Popup(p.x,p.y);
end;
end; procedure TMainInfo.AppMinimized(Sender:TObject);
begin
nid.cbsize:=sizeof(tnotifyicondata);
nid.hicon:=application.icon.handle;
nid.sztip:='和风播放器v1.03';
nid.ucallbackmessage:=wm_traymessage;
nid.uflags:=nif_icon or nif_message or nif_tip;
nid.uid:=0;
nid.wnd:=handle;
shell_notifyIcon(nim_add,@nid);
showwindow(application.handle,sw_hide);
end;procedure TMainInfo.DVDClick(Sender: TObject);
begin
with sender as tmenuitem do
chdir(leftbstr(caption,3));
if OpenFiles<>'' then quit.Click;
treeview1.Items.Clear;
systemchked('delete from 0');
SetDirFile;
end;procedure TMainInfo.OpenFClick(Sender: TObject);
var
i:integer;
n:ttreenode;
a:string;
begin
OpenFile.Title:='打开影音文件';
OpenFile.Options:=[ofAllowMultiSelect,ofPathMustExist,ofFileMustExist];
OpenFile.Filter:='所有文件(*.*)|*.*';
with treeview1 do
if OpenFile.Execute then
begin
Items.Clear;
systemchked('delete from 0');
for i:=0 to OpenFile.files.count-1 do
begin
a:=OpenFile.Files.Strings[i];
new(plists);
plists.ID:=items.Count+1;
plists.Name:=a;
n:=items.AddObject(nil,extractfilename(a),plists);
n.SelectedIndex:=1;
systemchked('insert into 0([id],[name]) values('+inttostr(items.Count)+',"'+a+'")');
end;
Pindex:=0;
playfile(OpenFile.FileName);
end;
end;
procedure TMainInfo.Timer1Timer(Sender: TObject);
var
c:IMediaSeeking;
a:int64;
begin
if (IsExit=0) or (FilterGraph1.State=gsStopped) then exit;
FilterGraph1.QueryInterface(IMediaSeeking,c);
c.GetCurrentPosition(a);
Pposed:=a div llens;
timers.Caption:=format('%d:%2.2d:%2.2d',[Pposed div 3600000,(Pposed mod 3600000) div 60000,((Pposed mod 3600000) mod 60000) div 1000])+' / '+PStoped;
if HProCheck then
imgmove.Left:=Precedure.Width*Pposed div Plength;
end;procedure TMainInfo.TreeView1DblClick(Sender: TObject);
begin
with treeview1 do
begin
if (Items.Count=0) or (Selected.Index=-1) then exit;
Pindex:=Selected.AbsoluteIndex;
playfile(pPListItem(selected.Data).Name);
end;
end;procedure TMainInfo.Timer2Timer(Sender: TObject);
begin
Setpostion(Plength*imgmove.Left div Precedure.Width);
end;procedure TMainInfo.tlbRitClick(Sender: TObject);
begin
if (OpenFiles='') or (FilterGraph1.State<>gsPlaying) then exit;
if (prate<1) or (prate=2) then
Prate:=1
else
prate:=prate+0.25;
SetStatusInfo('播放中');
end;procedure TMainInfo.tlbLftClick(Sender: TObject);
begin
if (OpenFiles='') or (FilterGraph1.State<>gsPlaying) then exit;
if (prate>1) or (prate=0.25) then
Prate:=1
else
prate:=prate-0.25;
SetStatusInfo('播放中');
end;procedure TMainInfo.tlbPlayClick(Sender: TObject);
var
b:boolean;
begin
if (OpenFiles='') and (treeview1.Selected.Index<>-1) then
begin
pindex:=treeview1.Selected.AbsoluteIndex;
playfile(pPListItem(treeview1.selected.Data).Name);
end;
if OpenFiles='' then exit;
tlbpausd.Enabled:=true;
tlbstopd.Enabled:=true;
b:=true;
if treeview1.Items.Count=1 then b:=false;
tlbpre.Enabled:=b;
tlbnxt.Enabled:=b;
tlblft.Enabled:=true;
tlbrit.Enabled:=true;
quit.Enabled:=true;
if (FilterGraph1.State=gsPlaying) and (prate<>1) then prate:=1;
FilterGraph1.Play;
SetStatusInfo('播放中');
end;procedure TMainInfo.tlbPausdClick(Sender: TObject);
begin
if OpenFiles='' then exit;
tlbPlay.Enabled:=true;
tlbpausd.Enabled:=false;
tlbstopd.Enabled:=true;
tlblft.Enabled:=false;
tlbrit.Enabled:=false;
FilterGraph1.Pause;
SetStatusInfo('暂停 ');
end;procedure TMainInfo.tlbStopdClick(Sender: TObject);
begin
if OpenFiles='' then exit;
tlbPlay.Enabled:=true;
tlbpausd.Enabled:=false;
tlbstopd.Enabled:=false;
tlblft.Enabled:=false;
tlbrit.Enabled:=false;
FilterGraph1.Stop;
panel5.Width:=0;
panel5.Width:=panel1.Width;
setpostion(0);
Pposed:=0;
ImgMove.Left:=0;
SetStatusInfo('停止 ');
end;procedure TMainInfo.tlbPreClick(Sender: TObject);
var
n:ttreenode;
begin
with treeview1 do
begin
n:=Items[pindex];
repeat
if n.getPrevSibling<>nil then
n:=n.getPrevSibling
else
if n.Parent<>nil then
n:=n.Parent
else
begin
n:=items[items.count-1];
while n.Parent<>nil do
n:=n.Parent;
end;
until pos(lowercase(extractfileext(n.Text)),strlsts)=0;
Pindex:=n.AbsoluteIndex;
playfile(pPListItem(selected.Data).Name);
end;
end;procedure TMainInfo.tlbNxtClick(Sender: TObject);
var
n:ttreenode;
begin
with treeview1 do
begin
n:=Items[pindex];
repeat
if n.getNextSibling<>nil then
n:=n.getNextSibling
else
if n.Parent<>nil then
n:=n.Parent
else
n:=items[0];
until pos(lowercase(extractfileext(n.Text)),strlsts)=0;
Pindex:=n.AbsoluteIndex;
playfile(pPListItem(selected.Data).Name);
end;
end;procedure TMainInfo.spdDetClick(Sender: TObject);
begin
with treeview1 do
begin
if (Items.Count=0) or (Selected.index=-1) then exit;
plists:=pPListItem(selected.Data);
if plists.Name=OpenFiles then quit.Click;
systemchked('delete from 0 where id='+inttostr(plists.id));
selected.Delete;
end;
end;procedure TMainInfo.QuitClick(Sender: TObject);
begin
tlbPlay.Enabled:=true;
tlbpausd.Enabled:=false;
tlbstopd.Enabled:=false;
tlbpre.Enabled:=false;
tlbnxt.Enabled:=false;
tlblft.Enabled:=false;
tlbrit.Enabled:=false;
OpenFiles:='';
FilterGraph1.Active:=false;
ImgMove.Left:=0;
quit.Enabled:=false;
timer1.Enabled:=false;
titles.Caption:='准备就绪';
end;procedure TMainInfo.spdAddClick(Sender: TObject);
var
n:ttreenode;
a:string;
i,j:integer;
begin
OpenFile.Title:='添加影音文件';
OpenFile.Options:=[ofAllowMultiSelect,ofPathMustExist,ofFileMustExist];
OpenFile.Filter:='所有文件(*.*)|*.*';
with treeview1 do
if OpenFile.Execute then
begin
if Getrst('select * from 0').Eof then
j:=1
else
j:=Getrst('select max(id) as id from 0').FieldValues['id'];
j:=j-items.Count;
for i:=0 to OpenFile.files.count-1 do
begin
a:=OpenFile.Files.Strings[i];
if Getrst('select * from 0 where [name]="'+a+'"').RecordCount>0 then continue;
new(plists);
plists.ID:=j+items.Count+1;
plists.Name:=a;
n:=items.AddObject(nil,extractfilename(a),plists);
n.SelectedIndex:=1;
systemchked('insert into 0([id],[name]) values('+inttostr(plists.ID)+',"'+a+'")');
end;
end;
end;procedure TMainInfo.FilterGraph1GraphComplete(sender: TObject;
Result: HRESULT; Renderer: IBaseFilter);
begin
case HMoveType of
0:tlbstopd.Click;
1:tlbNxt.click;
2:
begin
repeat
randomize;
pindex:=random(treeview1.items.Count);
until pos(lowercase(extractfileext(treeview1.items[pindex].Text)),strlsts)=0;
playfile(pPListItem(treeview1.items[pindex].Data).Name);
end;
3:
begin
setpostion(0);
FilterGraph1.Play;
end;
end;
end;procedure TMainInfo.N15Click(Sender: TObject);
begin
SetSizType(0);
end;procedure TMainInfo.N17Click(Sender: TObject);
begin
SetSizType(1);
end;procedure TMainInfo.N431Click(Sender: TObject);
begin
SetSizType(2);
end;procedure TMainInfo.N541Click(Sender: TObject);
begin
SetSizType(3);
end;procedure TMainInfo.N1691Click(Sender: TObject);
begin
SetSizType(4);
end;procedure TMainInfo.FormResize(Sender: TObject);
begin
IsSizd:=false;
SetShowRect;
end;procedure TMainInfo.N501Click(Sender: TObject);
begin
SetPrcType(0);
end;procedure TMainInfo.N1001Click(Sender: TObject);
begin
SetPrcType(1);
end;procedure TMainInfo.N2001Click(Sender: TObject);
begin
SetPrcType(2);
end;procedure TMainInfo.PausdClick(Sender: TObject);
begin
if (OpenFiles='') or (FilterGraph1.State=gsStopped) then exit;
if FilterGraph1.State=gsPlaying then
tlbpausd.Click
else if FilterGraph1.State=gsPaused then
tlbPlay.Click;
end;procedure TMainInfo.Panel5MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Pt:=point(x,y);
end;procedure TMainInfo.Panel5Click(Sender: TObject);
begin
if IsMusc or (pt.X<rt.Left) or (pt.X>rt.Left+rt.Right) or (pt.Y<rt.Top) or (pt.Y>rt.Top+rt.Bottom) then exit;
Pausd.Click;
end;
begin
if IsMusc or (pt.X<rt.Left) or (pt.X>rt.Left+rt.Right) or (pt.Y<rt.Top) or (pt.Y>rt.Top+rt.Bottom) then exit;
with maininfo do
begin
HWinFull:=not HWinFull;
visible:=false;
if HWinFull then
begin
File1.Visible:=false;
Lplay.Visible:=false;
DCont.Visible:=false;
Images.Visible:=false;
VInfo.Visible:=false;
HInfo.Visible:=false;
r.Left:=maininfo.left;
r.Top:=maininfo.left;
r.Right:=maininfo.width;
r.Bottom:=maininfo.height;
panel3.Height:=0;
Splitter1.Width:=0;
panel2.Width:=0;
setwindowlong(handle,gwl_style,getwindowlong(handle,gwl_style) and not ws_caption);
setwindowpos(handle,hwnd_topmost,-4,-4,screen.Width+8,screen.Height+8,0);
end
else
begin
File1.Visible:=true;
Lplay.Visible:=true;
DCont.Visible:=true;
Images.Visible:=true;
VInfo.Visible:=true;
HInfo.Visible:=true;
panel3.Height:=60;
Splitter1.Width:=3;
panel2.Width:=160;
setwindowlong(handle,gwl_style,getwindowlong(handle,gwl_style) or ws_caption);
setwindowpos(handle,hwnd_notopmost,r.Left,r.Top,r.Right,r.Bottom,0);
end;
visible:=true;
FilterGraph1.Play;
SetStatusInfo('播放中');
full.Checked:=HWinFull;
full1.Checked:=HWinFull;
SetShowRect;
end;
end;procedure TMainInfo.OpenuClick(Sender: TObject);
begin
MainUser:=tMainUser.Create(nil);
MainUser.ShowModal;
end;procedure TMainInfo.FullClick(Sender: TObject);
begin
pt.X:=rt.Left;
Panel5DblClick(nil);
end;procedure TMainInfo.Full1Click(Sender: TObject);
begin
fullclick(nil);
end;procedure TMainInfo.PrintSClick(Sender: TObject);
var
a:string;
begin
a:=formatdatetime('yyyymmddhhmmss',now)+'.bmp';
lblSave.Caption:='图片已保存:'+a;
lblsave.Width:=200;
SaveP.GetBitmap(bzt);
bzt.SaveToFile(PicLujin+a);
timer3.Enabled:=false;
timer3.Enabled:=true;
end;procedure TMainInfo.Timer3Timer(Sender: TObject);
begin
timer3.Enabled:=false;
lblsave.Width:=0;
end;procedure TMainInfo.lblSaveDblClick(Sender: TObject);
begin
shellexecute(maininfo.handle,'open',pansichar(PicLujin),nil,nil,sw_show);
end;procedure TMainInfo.MainClick(Sender: TObject);
var
n:ttreenode;
a:string;
begin
with sender as tmenuitem do
a:=Getrst('select name from (select top '+inttostr(his.count-MenuIndex)+' * from 1 order by id) order by id desc').FieldValues['name'];
systemchked('delete from 0');
treeview1.Items.Clear;
new(plists);
plists.ID:=1;
plists.Name:=a;
n:=treeview1.Items.InsertObject(nil,extractfilename(a),Plists);
n.SelectedIndex:=1;
systemchked('insert into 0([id],[name]) values(1,"'+a+'")');
Pindex:=0;
playfile(a);
end;procedure TMainInfo.FormDestroy(Sender: TObject);
begin
IsExit:=0;
cn.Free;
rs.Free;
bzt.free;
FilterGraph1.Free;
panel5.Free;
FilterGraph2.Free;
SaveP.Free;
SaveT.Free;
end;procedure TMainInfo.ClrHisClick(Sender: TObject);
begin
systemchked('delete from 1');
while his.Count>4 do his.Delete(4);
if OpenFiles<>'' then SetMenuInfo(-1,OpenFiles);
end;procedure TMainInfo.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if ExitClr.Checked then systemchked('delete from 1 where [name]<>"'+OpenFiles+'"');
if openfiles<>'' then systemchked('update 2 set [openfs]="'+openfiles+'",[openstus]='+floattostr(Pposed));
end;procedure TMainInfo.ExitClrClick(Sender: TObject);
begin
exitclr.Checked:=not exitclr.Checked;
systemchked('update 2 set Openclr='+booltostr(exitclr.Checked));
end;procedure TMainInfo.TreeView1AdvancedCustomDraw(Sender: TCustomTreeView;
const ARect: TRect; Stage: TCustomDrawStage; var DefaultDraw: Boolean);
begin
showscrollbar(sender.Handle,SB_HORZ,false);
end;procedure TMainInfo.close1Click(Sender: TObject);
begin
Exited.Click;
end;procedure TMainInfo.CShowClick(Sender: TObject);
var
m:TMessage;
begin
m.lparam:=wm_lbuttondown;
WMTrayMessage(m);
end;procedure TMainInfo.ExitedClick(Sender: TObject);
begin
close;
end;procedure TMainInfo.Pausd2Click(Sender: TObject);
begin
PausdClick(nil);
end;procedure TMainInfo.CInfoClick(Sender: TObject);
begin
spdadd.Click;
end;procedure TMainInfo.CDInfoClick(Sender: TObject);
begin
spddet.Click;
end;procedure TMainInfo.CAllClick(Sender: TObject);
begin
if OpenFiles<>'' then quit.Click;
systemchked('delete from 0');
treeview1.Items.Clear;
end;procedure TMainInfo.CSaveClick(Sender: TObject);
var
s:textfile;
n:ttreenode;
a,b:string;
i:integer;
begin
SaveDialog1.Title:='另保存';
SaveDialog1.Options:=[ofPathMustExist,ofOverwritePrompt,ofFileMustExist];
SaveDialog1.Filter:='mlst 列表文件(*.mlst)|*.mlst|m3u 列表文件(*.m3u)|*.m3u|wax 列表文件(*.wax)|*.wax|asx 列表文件(*.asx)|*.asx|wpl 列表文件(*.wpl)|*.wpl|pls 列表文件(*.pls)|*.pls';
if SaveDialog1.Execute=false then exit;
a:=SaveDialog1.FileName;
if pos(plist[SaveDialog1.FilterIndex],a)=0 then
a:=a+plist[SaveDialog1.FilterIndex];
b:=lowercase(extractfileext(a));
assignfile(s,a);
rewrite(s);
n:=treeview1.Items[0];
if b='.wpl' then writeln(s,'<smil>');
if b='.asx' then writeln(s,'<Asx>');
if b='.pls' then writeln(s,'[playlist]');
i:=0;
repeat
i:=i+1;
a:=pPListItem(n.Data).Name;
if b='.wpl' then writeln(s,'<media src="'+a+'"/>');
if b='.asx' then writeln(s,'<Entry>');
if b='.asx' then writeln(s,'<Ref href="'+a+'"/>');
if b='.asx' then writeln(s,'</Entry>');
if b='.pls' then writeln(s,'File'+inttostr(i)+'='+a);
if pos(b,ExtLsts)=0 then writeln(s,a);
n:=n.getNextSibling;
until n=nil;
if b='.wpl' then writeln(s,'</smil>');
if b='.asx' then writeln(s,'</Asx>');
if b='.pls' then writeln(s,'numberofentries='+inttostr(i));
closefile(s);
end;procedure TMainInfo.PopupMenu2Popup(Sender: TObject);
var
a:boolean;
begin
a:=false;
if treeview1.Items.Count>0 then a:=true;
CSave.Enabled:=a;
CDInfo.Enabled:=a;
CAll.Enabled:=a;
Atype.Enabled:=a;
end;procedure TMainInfo.TreeView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=46 then spddet.Click;
end;procedure TMainInfo.File1Click(Sender: TObject);
begin
PrintS.Enabled:=true;
if (OpenFiles='') or IsMusc or (FilterGraph1.State=gsStopped) then
PrintS.Enabled:=false;
end;procedure TMainInfo.CLstClick(Sender: TObject);
var
i:integer;
a,b:string;
s:textfile;
n:ttreenode;
begin
Openfile.Title:='添加列表文件';
Openfile.Options:=[ofPathMustExist,ofFileMustExist];
Openfile.Filter:='mlst 列表文件(*.mlst)|*.mlst|m3u 列表文件(*.m3u)|*.m3u|wax 列表文件(*.wax)|*.wax|asx 列表文件(*.asx)|*.asx|wpl 列表文件(*.wpl)|*.wpl|pls 列表文件(*.pls)|*.pls|所有文件(*.*)|*.*';
if Openfile.Execute=false then exit;
if openfiles<>'' then quit.Click;
systemchked('delete from 0');
treeview1.Items.Clear;
a:=Openfile.FileName;
b:=lowercase(extractfileext(a));
if pos(b,ExtLsts)>0 then a:=GetLastFiles(a,b);
assignfile(s,a);
reset(s);
i:=0;
repeat
i:=i+1;
readln(s,a);
a:=trimleft(a);
if (a='') or (leftbstr(a,1)='#') then continue;
new(plists);
plists.ID:=i;
plists.Name:=a;
n:=treeview1.Items.InsertObject(nil,SetLastsName(a),PLists);
n.SelectedIndex:=1;
systemchked('insert into 0([id],[name]) values('+inttostr(i)+',"'+a+'")');
until eof(s);
closefile(s);
if pos(b,ExtLsts)>0 then deletefile(SaveF);
end;end.
是啊,我天天混在CSDN的。