打开一个配置文件:

打开一个配置文件

操作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桌面提示器的更多相关文章

  1. 启动windows的服务--《用delphi开发共享软件》-15.2桌面提示器

    在dos 下用命令启动一个服务:NET START "Windows Desktop Reminder" 一下为用delphi启动服务: Function RunProcess(s ...

  2. 字体和壁纸合并后再更改壁纸--《用delphi开发共享软件》-15.2桌面提示器

    procedure TFrmPlay.mnDeskPicClick(Sender: TObject); Var s:String; i:Integer; begin //s:=Path+'SetPic ...

  3. 软件打开时间、窗体透明度、背景色---《用delphi开发共享软件》-15.1任务管理器

    1.计算软件启动了多长时间:用定时器,每分钟触发一次: procedure TFrmMain.tmCheckLegalTimer(Sender: TObject);Var Minutes:LongIn ...

  4. 设置随机启动--《用delphi开发共享软件》-15.1任务管理器

    在设置窗体中 chkAutoStart: TCheckBox; 在设置窗体中 chkAutoStart: TCheckBox; procedure TFrmSetup.FormCreate(Sende ...

  5. 实现窗体随着鼠标移动(控件)--《用delphi开发共享软件》-15.1任务管理器

    private //窗体移动: OldPos,NewPos:TPoint; bMove:Boolean; procedure TForm1.FormMouseDown(Sender: TObject; ...

  6. DELPHI开发LINUX桌面程序

    DELPHI开发LINUX桌面程序 DELPHI官方目前为止尚不能开发LINUX桌面程序. 但三方控件FmxLinux(商业控件)是可以的.网上有破解版本.

  7. (转载)Delphi开发经验谈

    Delphi开发经验谈 开发环境-------- Delphi 7是一个很经典的版本,在Win2000/XP下推荐安装Delphi 7来开发软件,在Vista下推荐使用Delphi 2007开发软件. ...

  8. Windows Phone 8初学者开发—第15部分:在选中ListItem时播放声音

    原文 Windows Phone 8初学者开发—第15部分:在选中ListItem时播放声音 第15部分:在选中ListItem时播放声音 原文地址:  http://channel9.msdn.co ...

  9. Ubuntu 中用 delphi 开发 apache

    经过近15年的沉默.delphi 10.2 终于重新开始支持linux 开发了. 今天说一下在ubuntu中开发apache的方法. 首先安装ubuntu 的delphi 开发环境,请参考以前的文章 ...

随机推荐

  1. 安装oracleASM

    问题:oracleasm status不能启动 解决方案: [root@localhost ~]# oracleasm statusChecking if ASM is loaded: noCheck ...

  2. 如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法

    最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指 ...

  3. cuda 初学大全

    转自:http://blog.csdn.net/augusdi/article/details/12529331 cuda 初学大全 1 硬件架构CUDA编程中,习惯称CPU为Host,GPU为Dev ...

  4. jquery.validation.js 表单验证

    jquery.validation.js 表单验证   官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...

  5. 如何设计一个 iOS 控件?(iOS 控件完全解析) (转)

    前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内 ...

  6. php 时间倒计时

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. Spring学习笔记—装配Bean

    在Spring中,对象无需自己负责查找或创建与其关联的其他对象.相反,容器负责把需要相互协作的对象引用赋予各个对象.创建应用对象之间协作关系的行为通常称为装配(wiring),这也是依赖注入的本质. ...

  8. 重温WCF之会话Session(九)

    转载地址:http://blog.csdn.net/tcjiaan/article/details/8281782 每个客户端在服务器上都有其的独立数据存储区,互不相干,就好像A和服务器在单独谈话一样 ...

  9. 2014百度之星资格赛 1001:Energy Conversion(水题,逻辑题)

    Energy Conversion Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  10. static_cast、dynamic_cast、reinterpret_cast、const_cast以及C强制类型转换的区别

    static_cast 1. 基础类型之间互转.如:float转成int.int转成unsigned int等 2. 指针与void*之间互转.如:float*转成void*.CBase*转成void ...