procedure TFrm_SMSServer.Timer1Timer(Sender: TObject);
var
s: AnsiString;
ReturnCode,MsgSize,i :integer;
SMSContent1,SMSContent2:string;
SIMEI,SIMEINO,SContent,responsestr:string;
msgstr:pchar;PContent:Cardinal;
begin
SetLength(s, 1024 * 1024);
FillChar(s[1], 1024 * 1024, #0);
msgstr := @s[1];
ReturnCode := SkReceive(MDPHandle, pchar(AMsgID), msgstr, MsgSize);
if returncode=0 then
responsestr:=string(msgstr);
lbprocesses.items.add(Format('返回码为:%d', [ReturnCode]));
//lbprocesses.items.add('短信内容为: '+responsestr);
//lbprocesses.items.add('序列号为: '+AMsgID);
try
Keys:=Translage(Responsestr);
for i:=0 to keys.Count-1 do
try
item:=PSkRecvItem(keys.Objects[i]);
if keys[i]<>'' then
begin
try
SIMEINO:=item^.Mobile ; //接收手机号码
PContent:=item^.Position ;//接收短信序列号
SContent:=item^.Content ; //接收短信内容
SMSContent2:=item^.Time ; //接收短信时间
Amsgid:=inttostr(PContent); //传递短信序列号,实现每次都读取最新短信
{ try
YJ1000Ini.writestring('serverset','Amsgid','AMsgID'); //2007zhou将最新短信序列号写入配置文件
finally
YJ1000Ini.Free;
end;}
//lbProcesses.Items.Add('序列号为: '+AMsgID+' 手机号为: '+SIMEINO);
except
end ;
end;
finally
end;
为什么不能写入配置文件,请各位指教
var
s: AnsiString;
ReturnCode,MsgSize,i :integer;
SMSContent1,SMSContent2:string;
SIMEI,SIMEINO,SContent,responsestr:string;
msgstr:pchar;PContent:Cardinal;
begin
SetLength(s, 1024 * 1024);
FillChar(s[1], 1024 * 1024, #0);
msgstr := @s[1];
ReturnCode := SkReceive(MDPHandle, pchar(AMsgID), msgstr, MsgSize);
if returncode=0 then
responsestr:=string(msgstr);
lbprocesses.items.add(Format('返回码为:%d', [ReturnCode]));
//lbprocesses.items.add('短信内容为: '+responsestr);
//lbprocesses.items.add('序列号为: '+AMsgID);
try
Keys:=Translage(Responsestr);
for i:=0 to keys.Count-1 do
try
item:=PSkRecvItem(keys.Objects[i]);
if keys[i]<>'' then
begin
try
SIMEINO:=item^.Mobile ; //接收手机号码
PContent:=item^.Position ;//接收短信序列号
SContent:=item^.Content ; //接收短信内容
SMSContent2:=item^.Time ; //接收短信时间
Amsgid:=inttostr(PContent); //传递短信序列号,实现每次都读取最新短信
{ try
YJ1000Ini.writestring('serverset','Amsgid','AMsgID'); //2007zhou将最新短信序列号写入配置文件
finally
YJ1000Ini.Free;
end;}
//lbProcesses.Items.Add('序列号为: '+AMsgID+' 手机号为: '+SIMEINO);
except
end ;
end;
finally
end;
为什么不能写入配置文件,请各位指教
var iniWriter:TiniFile;
i:integer;
begin
if FileExists(FilePath+FAiniFileName) then//文件存在
begin
iniWriter:=TiniFile.Create(FilePath+FAiniFileName);
if iniWriter.SectionExists(SectionToSave) then iniWriter.EraseSection(SectionToSave);
end
else
iniWriter:=TiniFile.Create(FilePath+FAiniFileName);
for i:=0 to ListView.Items.Count-1 do
iniWriter.WriteString(SectionToSave,IntToStr(i),ListView.Items.item[i].Caption+';'+trim(ListView.Items.item[i].SubItems.Strings[0])+';'+trim(ListView.Items.item[i].SubItems.Strings[1])+';'+trim(ListView.Items.item[i].SubItems.Strings[2]));
iniWriter.UpdateFile;
iniWriter.Free;
end;
var
s: AnsiString;
ReturnCode,MsgSize,i :integer;
SMSContent1,SMSContent2:string;
SIMEI,SIMEINO,SContent,responsestr:string;
msgstr:pchar;PContent:Cardinal;
begin
SetLength(s, 1024 * 1024);
FillChar(s[1], 1024 * 1024, #0);
msgstr := @s[1];
ReturnCode := SkReceive(MDPHandle, pchar(AMsgID), msgstr, MsgSize);
if returncode=0 then
responsestr:=string(msgstr);
lbprocesses.items.add(Format('返回码为:%d', [ReturnCode]));
//lbprocesses.items.add('短信内容为: '+responsestr);
//lbprocesses.items.add('序列号为: '+AMsgID);
try
Keys:=Translage(Responsestr);
for i:=0 to keys.Count-1 do
try
item:=PSkRecvItem(keys.Objects[i]);
if keys[i]<>'' then
begin
try
SIMEINO:=item^.Mobile ; //接收手机号码
PContent:=item^.Position ;//接收短信序列号
SContent:=item^.Content ; //接收短信内容
SMSContent2:=item^.Time ; //接收短信时间
AMsgID:=inttostr(PContent); //传递短信序列号,实现每次都读取最新短信
try
CurrentDir :=getcurrentdir;
if copy(CurrentDir,length(CurrentDir),1)<>'\' then
CurrentDir := CurrentDir + '\';
YJ1000Ini := TIniFile.Create(CurrentDir+'YJ2000SMSSer.INI');
YJ1000Ini.writestring('serverset','Amsgid','AMsgID'); //2007zhou将最新短信序列号写入配置文件
finally
YJ1000Ini.Free;
end;
//lbProcesses.Items.Add('序列号为: '+AMsgID+' 手机号为: '+SIMEINO);
except
end ;
end;
finally
end;
case VerifyUser(SIMEINO,SContent) of
0: begin
Frm_SMSServer.lbProcesses.Items.Add('用户校验失败,此短信被过滤!');
end;
{1: begin
Frm_SMSServer.lbProcesses.Items.Add('寻找不到医嘱,此用户没注册,此短信是普通短信!'); //2007ZHOU未注册用户插入数据库
end;}
2: begin
Frm_SMSServer.lbProcesses.Items.Add('手机'+SIMEINO+'用户已注册,属于合法用户,用户级别无法确定,此短信被过滤!');
end;
3: begin
Frm_SMSServer.lbProcesses.Items.Add('手机'+SIMEINO+'用户已注册,属于合法用户,此短信是普通短信!');
Frm_SMSServer.lbProcesses.Items.Add('手机号:'+SIMEINO+'短信内容:'+sContent);
end;
4: begin
Frm_SMSServer.lbProcesses.Items.Add('手机'+SIMEINO+'用户已注册,属于合法用户,此用户级别为4!');
Frm_SMSServer.lbProcesses.Items.Add('手机号:'+SIMEINO+'短信内容:'+sContent);
//返回一个值 end;
5: begin
Frm_SMSServer.lbProcesses.Items.Add('手机'+SIMEINO+'用户已注册,属于合法用户,此用户级别为5!');
Frm_SMSServer.lbProcesses.Items.Add('手机号:'+SIMEINO+'短信内容:'+sContent);
//返回一个值
end;
6: begin
Frm_SMSServer.lbProcesses.Items.Add('手机'+SIMEINO+'用户已注册,属于合法用户,未找到用户的心电文件,此短信被过滤!');
end;
7: begin
Frm_SMSServer.lbProcesses.Items.Add('手机'+SIMEINO+'用户已注册,属于合法用户,用户级别太低!此短信被过滤!');
end;
else
Frm_SMSServer.lbProcesses.Items.Add('手机'+SIMEINO+'用户属于非法用户,此短信被过滤!');
end;finally
end;
end;上面是所有的代码,下面是写入配置文件的代码,请指教,为什么无法写入配置文件,跟踪也找不到错误
try
CurrentDir :=getcurrentdir;
if copy(CurrentDir,length(CurrentDir),1)<>'\' then
CurrentDir := CurrentDir + '\';
YJ1000Ini := TIniFile.Create(CurrentDir+'YJ2000SMSSer.INI');
YJ1000Ini.writestring('serverset','Amsgid','AMsgID'); //2007zhou将最新短信序列号写入配置文件
finally
YJ1000Ini.Free;
end;