1、处理以逗号分隔的长字符串。
方法一:
procedure Str_Tools;
var
TmpList:TStringList;
IIndex:Integer;
MUSVOL:String;
begin
MUSVOL:='0,2,4,6,8,10';
TmpList:=TStringList.Create;
try
while Pos(',',MUSVOL)>0 do
begin
IIndex:=Pos(',',MUSVOL);
TmpList.Add(Copy(MUSVOL,1,IIndex-1));
Delete(MUSVOL,1,IIndex);
end;
TmpList.Add(MUSVOL);
showmessage(TmpList.Strings[1]);
finally
TmpList.free;
end;
end;
方法二:
procedure Str_Tools2;
var
I:integer;
bol:Boolean;
MUSLIST:Tstringlist;
Dsp_MusicVol:array [0..6]of integer;
begin
try
MUSLIST:=Tstringlist.Create;
MUSLIST.CommaText:='1,3,5,7,9,11';
for i:=0 to 6 do
begin
if (MUSLIST.Count>=i-1) then Dsp_MusicVol[i]:=strtoint(MUSLIST[i]);
showmessage(Dsp_MusicVol[i]);
end;
finally
MUSLIST.free;
end;
end;
2、程序窗体最大化、组件居中显示代码
程序主窗体放置Tpanel组件、把Align属性设置为alclient,在panel的Resize事件中写
procedure TFrm_AddNewUser.Panel1Resize(Sender: TObject);
begin
Panel2.Left := round((Width - 8 - Panel2.Width) / 2); //常量8用于处理边界问题
Panel2.Top := round((Height - 8 - Panel2.Height) / 2);
end;