《用delphi开发共享软件》-15.2桌面提示器
打开一个配置文件:
操作TStringGrid
Procedure EmptyGrid(Var sg:TStringGrid);
Var i:Integer;
begin
for i:= to sg.RowCount - do
sg.Rows[i].clear;
sg.RowCount :=;
end; Procedure SetGridTitle(Var SG:TStringGrid; sTil:array of String);
Var i,l,h:integer;
begin
l:=Low(sTil);
h:=High(sTil);
if sg.ColCount<h-l+ then sg.ColCount:=h-l+;
for i:= to sg.ColCount - do
begin
sg.Cells[i,]:=sTil[l+i];
if i>h then Exit;
end;
end; Procedure SetGridNumber(Var SG:TStringGrid;
Col,bn,len:Integer;ch:Char);
Var i:integer;
begin
for i:= to sg.RowCount - do
begin
sg.Cells[Col,i]:=Format('%d',[bn+i-]);
sg.Cells[Col,i]:=Padl(sg.Cells[Col,i],ch,len);
end;
end;
操作TStringGrid
procedure TFrmPara.WriteParameters;
Var s:String;
begin
DelOneDevice(MYINI,'关机时间');
WriteGridToINI(MYINI,'关机时间',sgTime);
DelOneDevice(MYINI,'桌面图片');
WriteGridToINI(MYINI,'桌面图片',sgPic);
DelOneDevice(MYINI,'背景音乐');
WriteGridToINI(MYINI,'背景音乐',sgSong);
DelOneDevice(MYINI,'桌面提示');
WriteGridToINI(MYINI,'桌面提示',sgHint);
DelOneDevice(MYINI,'定时提示');
WriteGridToINI(MYINI,'定时提示',sgNote); WriteOnePara(MYINI,'SHUTDOWN','chkSrvShutDown',BoolStr(chkSrvShutDown.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkShutAfterATime',BoolStr(chkShutAfterATime.checked));
WriteOnePara(MYINI,'SHUTDOWN','Interval',inttostr(spInterval.value)); WriteOnePara(MYINI,'SHUTDOWN','chkClose',BoolStr(chkClose.checked));
WriteOnePara(MYINI,'SHUTDOWN','spClose',inttostr(spClose.value)); WriteOnePara(MYINI,'SHUTDOWN','AutoShutDown',BoolStr(chkAutoShutDown.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkShowDate',BoolStr(chkShowDate.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkPlayMusic',BoolStr(chkPlayMusic.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkStopMusic',BoolStr(chkStopMusic.checked)); WriteOnePara(MYINI,'SHUTDOWN','tbVol1',inttostr(tbVol1.Position));
WriteOnePara(MYINI,'SHUTDOWN','tbVol2',inttostr(tbVol2.Position)); WriteOnePara(MYINI,'SHUTDOWN','chkShowLine',BoolStr(chkShowLine.checked));
WriteOnepara(MYINI,'SHUTDOWN','Font',fonttostring(plHintFont.Font,True));
MyWriteColor(MYINI,'SHUTDOWN','FrameColor',plLineColor.font.Color); WriteOnePara(MYINI,'SHUTDOWN','chkClockOne',BoolStr(chkClockOne.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkClockHalf',BoolStr(chkClockHalf.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkHintWindow',BoolStr(chkHintWindow.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkWallPaper',BoolStr(chkWallPaper.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkHintMusic',BoolStr(chkHintMusic.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkHintMusicFade',BoolStr(chkHintMusicFade.checked));
WriteOnePara(MYINI,'SHUTDOWN','spHintMusicFade',inttostr(spHintMusicFade.value)); MyWriteColor(MYINI,'SHUTDOWN','BKCOLOR',MyBackColor);
WriteOnePara(MYINI,'SHUTDOWN','chkMusicDown',BoolStr(chkMusicDown.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkMusicStopRun',BoolStr(chkMusicStopRun.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkMusicStopPlay',BoolStr(chkMusicStopPlay.checked));
WriteOnePara(MYINI,'SHUTDOWN','chkMusicFade',BoolStr(chkMusicFade.checked));
WriteOnePara(MYINI,'SHUTDOWN','spMusicDown',inttostr(spMusicDown.value));
WriteOnePara(MYINI,'SHUTDOWN','spMusicStopRun',inttostr(spMusicStopRun.value));
WriteOnePara(MYINI,'SHUTDOWN','spMusicStopPlay',inttostr(spMusicStopPlay.value));
WriteOnePara(MYINI,'SHUTDOWN','spMusicFade',inttostr(spMusicFade.value)); end; procedure DelOneDevice(devFile:String;sType:String);
Var aIniFile:TIniFile;
begin
aIniFile:=TIniFile.Create(devFile);
try
aIniFile.EraseSection(sType);
finally
aIniFile.Free;
end;
end; procedure WriteGridToINI(sFile,Sect:String;sg:TStringGrid);
Var i:integer;
s:String;
begin
{$I-}
DelOneDevice(sFile,Sect);
for i:= to SG.RowCount- do
begin
StrgridToStr(S,SG,i);
WriteOnePara(sFile,Sect,'Row'+IntToStr(i),s);
end;
end; procedure StrGridToStr(Var S:String; Var SG:TStringGrid; Row:longint);
Var i:integer;
begin
S:='';
for i:= to SG.ColCount - do
S:=S+SG.Cells[i,Row]+'^^';
end; procedure WriteOnePara(sIniFile,Sct,Idt,Value:String);
Var aIniFile:TIniFile;
begin
aIniFile:=TIniFile.Create(sIniFile);
try
aIniFile.WriteString(Sct,Idt,Value);
finally
aIniFile.Free;
end;
end;
《用delphi开发共享软件》-15.2桌面提示器的更多相关文章
- 启动windows的服务--《用delphi开发共享软件》-15.2桌面提示器
在dos 下用命令启动一个服务:NET START "Windows Desktop Reminder" 一下为用delphi启动服务: Function RunProcess(s ...
- 字体和壁纸合并后再更改壁纸--《用delphi开发共享软件》-15.2桌面提示器
procedure TFrmPlay.mnDeskPicClick(Sender: TObject); Var s:String; i:Integer; begin //s:=Path+'SetPic ...
- 软件打开时间、窗体透明度、背景色---《用delphi开发共享软件》-15.1任务管理器
1.计算软件启动了多长时间:用定时器,每分钟触发一次: procedure TFrmMain.tmCheckLegalTimer(Sender: TObject);Var Minutes:LongIn ...
- 设置随机启动--《用delphi开发共享软件》-15.1任务管理器
在设置窗体中 chkAutoStart: TCheckBox; 在设置窗体中 chkAutoStart: TCheckBox; procedure TFrmSetup.FormCreate(Sende ...
- 实现窗体随着鼠标移动(控件)--《用delphi开发共享软件》-15.1任务管理器
private //窗体移动: OldPos,NewPos:TPoint; bMove:Boolean; procedure TForm1.FormMouseDown(Sender: TObject; ...
- DELPHI开发LINUX桌面程序
DELPHI开发LINUX桌面程序 DELPHI官方目前为止尚不能开发LINUX桌面程序. 但三方控件FmxLinux(商业控件)是可以的.网上有破解版本.
- (转载)Delphi开发经验谈
Delphi开发经验谈 开发环境-------- Delphi 7是一个很经典的版本,在Win2000/XP下推荐安装Delphi 7来开发软件,在Vista下推荐使用Delphi 2007开发软件. ...
- Windows Phone 8初学者开发—第15部分:在选中ListItem时播放声音
原文 Windows Phone 8初学者开发—第15部分:在选中ListItem时播放声音 第15部分:在选中ListItem时播放声音 原文地址: http://channel9.msdn.co ...
- Ubuntu 中用 delphi 开发 apache
经过近15年的沉默.delphi 10.2 终于重新开始支持linux 开发了. 今天说一下在ubuntu中开发apache的方法. 首先安装ubuntu 的delphi 开发环境,请参考以前的文章 ...
随机推荐
- STL_advance distance prev next
template<class InputIterator> typename iterator_traits<InputIterator>::difference_type d ...
- 四、优化及调试--网站优化--Yahoo军规下
21.根据域名划分页面内容 很显然, 是最大限度地实现平行下载 22.尽量减少iframe的个数 考虑即使内容为空,加载也需要时间,会阻止页面加载,没有语意,注意iframe相对于其他DOM元素高出1 ...
- 利用drozer进行Android渗透测试
一.安装与启动 1. 安装 第一步:从 http://mwr.to/drozer 下载Drozer (Windows Installer) 第二步:在 Android 设备中安装 agent.apk ...
- kvm 网桥
root@ok Downloads]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=54:EE:75:4E:37: ...
- map find 是线程安全的吗
测试环境gcc4.8.2 iterator find ( const key_type& k ); const_iterator find ( const key_type& ...
- ActiveMQ的几种集群配置
ActiveMQ是一款功能强大的消息服务器,它支持许多种开发语言,例如Java, C, C++, C#等等.企业级消息服务器无论对服务器稳定性还是速度,要求都很高,而ActiveMQ的分布式集群则能很 ...
- HTML学习之Web存储(五)
本地数据库功能大大增强了Web应用对于本地存储数据的方式和功能.Web时代真正进入了:“客户端为重,服务端为轻的时代”. <!DOCTYPE html> <html xmlns=&q ...
- Application.ProcessMessages用法
参考:http://cqujsjcyj.iteye.com/blog/380926 我想你可能还有点模糊.举个例子容易明白:假如你的窗体上有两个按钮,一个“计算”,一个“停止”, 如果你的计算是密集运 ...
- Pyqt QListWidget之缩略图列表
QListWidget 可以设置模型setViewMode 当setViewMode值为QListView.IconMode 表示Icon模式 以下代码来自Pyqt Example #!/usr/b ...
- 提供给Android和iOS开发人员的UWP移植向导
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:前几天微软发布了一个针对Android和iOS开发人员理解Windows Apps概念 ...