很难的!!!定时保存功能???(50分)

  • 主题发起人 主题发起人 bigmingming
  • 开始时间 开始时间
B

bigmingming

Unregistered / Unconfirmed
GUEST, unregistred user!
问题是这样的:让用户设置定时保存的时间,到时候系统自动保存。就很自动升级杀毒软件一样。有没有具体实例或程序。至少有请给出具体思路。
 
将用户设置的值保存到ini文件中,在程序运行时,将这个值赋给TTimer,在OnTimer事件中自动保存。
 
可以将用户参数保存到INI文件或系统注册表,利用定时器即可实现。
 
是啊我的flash播放器就是这样实现的,只不过我的是在开始时读取在结束时保存而已,楼上说的没有错啊
 
设定值存到哪里无所谓,反正程序启动时读入到内存变量。
TTimer触发间隔设定为以分钟为单位,再短也无意义,且会浪费系统资源。间隔时判断是否到时间,到了就执行保存处理吧。
 
更正:“间隔时判断”->“触发时判断”
 
既然与时间的间隔有关,就可以考虑TTimer了
 
1、怎样将用户设置的值保存到ini文件中;
2、计算机重启后又怎样取INI文件中的时间值;
3、delphi程序又怎样调用这个时间值;
再加50分
多谢各位!!
 
1.
const
SIni = 'F:/ini.ini';
var
ini: TIniFile;
begin
ini := TIniFile.Create(SIni);
//在这里用ini.WriteString写入就可以了
//读的时候用ini.ReadString
ini.Free;
end;
2.计算机重启了但是Ini文件还在啊,所以程序运行的时候加载就可以了
3.见1
 
procedure inifile (filename : string);
var
f:system.text;
s_ini: tinifile;
begin
s_ini:=nil;
try
try
if not FileExists(filename) then
begin
system.assign(f,filename);
system.rewrite(f);
system.Writeln(f,'//《证卡管理录系统--前台受理》配置文件//');
system.Writeln(f,'');
system.Writeln(f,'[data_set]');
system.writeln(f,'Provider=Microsoft.Jet.OLEDB.4.0');
system.writeln(f,'Password=""');
system.writeln(f,'Data Source=//Hrserver2/STATION/table/Certificate.mdb');
system.writeln(f,'Persist Security Info=True');
system.close (f);
end;
s_ini:=tinifile.create(filename);
Provider :=s_ini.readstring('data_set','Provider','Microsoft.Jet.OLEDB.4.0');
Password :=s_ini.readstring('data_set','Password','""');
Data_Source :=s_ini.readstring('data_set','Data Source','//Hrserver2/STATION/table/Certificate.mdb');
Persist_Security_Info:=s_ini.readstring('data_set','Persist Security_Info','True');
finally
s_ini.free;
end;
except
on e:efopenerrordo
Application.MessageBox(pchar(e.message),'错误信息', mb_oK + mb_iconexclamation);
else
Application.MessageBox('系统配制 .ini 文件操作失败 !' ,'错误信息', mb_oK + mb_iconexclamation);
end;
end;
 
多谢各位,但我还有两个小小的问题,再求教一下.
(计算机重启了但是Ini文件还在啊,所以程序运行的时候加载就可以了)
问题1、delphi中的timer控件的属性interval怎么捕获INI文件中的时间值?(INI文件中的时间值信息又是以什么类型赋值组timer控件的属性interval的)。
问题2:用API函数TTimer怎么用。具体点可以吗。TTimer与使用delphi中的timer控件相比,哪个更合理,能问一下为什么吗?
出力的人,都有分数,按劳分配!谢了。
 
实际上参数存在一个自定义类型文件更省事!
另外,可以让用户自己选择备份模式和时间最好,譬如每分钟备份,每小时,每天(具体几个时间)...简单用一个Ttimer比对后解决问题。
 
请问这句话什么意思'简单用一个Ttimer比对后解决问题'。
 
TTimer就是timer控件。
ini文件可能类似于下面的:
[setting]
TimerInterval = 1000;
你在读Ini文件的时候把TimerInterval用Ini.ReadString读进去,然后赋值给Timer.Interval就可以了呀。
 
求教!
请怎很用ini.WriteString命令写入Interval的值,具体命令语句.谢了!!
 
各位有一个很有意思的问题,大家讨论一下,可以吗?
delphi中的timer控件最大的interval值为约45亿毫秒,拆合为49天左右,但如果
用户在自定义保存时间中定义为100天或更长,怎么办呢????
 
对了,写入Interval值应该用这个
Timer.Interval := ini.ReadInterger('程序参数','TimerInterval',0);
最后一个参数是默认值
ini文件可能是这样
[程序参数]
TimerInterval = 1000
 
谢谢PLZW,下面这个问题你怎么想吗?
我很想听一听你的建议。
 
API中的Timer涉及到两个API函数:
SetTimer和KillTimer
TTimer控件已经很好的封装了Timer,10ms内精度很好,并且非常易用。
 

ini: TIniFile;报错
[Error] Unit1.pas(77): Undeclared identifier: 'TIniFile'
该如何定义
 
后退
顶部