delphi 求教

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 求教相关的知识,希望对你有一定的参考价值。

function TGetPreMXD.OnClick: HResult;
var
sMxdFilePath, sTmpFilePath, sNextMxdFileName: String;
pMap: IMap; //地图类型 //
iCnt: Integer;

sDate, sTime: String;
pAdoCon: TADOConnection;
pAdoQry: TADOQuery;
sFileSavePath, sMdbName, sSql, sFocusMxdFileName: string;
begin
Screen.Cursor:= crHourGlass;.............................................................
pAdoCon:= TADOConnection.Create(nil); //参数nil 是什么?.............................................................
pAdoQry:= TADOQuery.Create(nil);.............................................
try
sFileSavePath:= StringReplace(DllPath, 'Bin', 'tmp', [rfIgnoreCase]); //保存路径.....................
sMdbName:= sFileSavePath + 'HistoryMXD.mdb'; // .................
try
pAdoCon.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + sMdbName +';Persist Security Info=True;';//连接数据库字符串
pAdoCon.LoginPrompt:= False;
pAdoQry.Connection:= pAdoCon;
pAdoCon.Open;
except
Exit;
end;

//PXY 2007-04-25 添加,新建前将当前窗口保存为MXD
SaveFocusMapToMxd(m_App);
sSql:= 'Select * from S_MXD order by ID';
OpenSQL(pAdoQry, sSql);
//运行相对应的数据库并执行 相对应的sql语句
sFocusMxdFileName:= m_App.Map.DocumentFilename;//.....................................................................
if pAdoQry.Locate('sMxdFileName', sFocusMxdFileName, [loCaseInsensitive]) then................................//查询语句
begin
if pAdoQry.Bof then Exit;
pAdoQry.Prior;//..................
sMxdFilePath:= pAdoQry.FieldByName('sMxdFileName').AsString;.................//
if sMxdFilePath = sFocusMxdFileName then Exit;
end
//
else begin
pAdoQry.Last;
sMxdFilePath:= pAdoQry.FieldByName('sMxdFileName').AsString;
end;
if m_App.Map.CheckMxFile(sMxdFilePath) then
m_App.Map.LoadMxFile(sMxdFilePath, '', '');
(m_App.FocusMap as IActiveView).Refresh;
finally
pAdoQry.Close;
pAdoQry.Free;
pAdoCon.Close;
pAdoCon.Free;
Screen.Cursor:= crDefault;
end;
end;
我看了半天 知道上部分 是连接数据库的 我学的是c#
老板 叫我把这段代码 看懂 在把相对应的功能 写到弄好的框架里面
请问 这段代码干嘛用的?

1.打开数据库,应用程序下面的tmp/\'HistoryMXD.mdb\'
2.sSql:= \'Select * from S_MXD order by ID\';查询此表,并找到 sFocusMxdFileName的记录,如果没有查到,取最后一条
3.
if m_App.Map.CheckMxFile(sMxdFilePath) then
m_App.Map.LoadMxFile(sMxdFilePath, \'\', \'\');
(m_App.FocusMap as IActiveView).Refresh;
finally
这几句和业务有关了,可能要检测文件,加载文件,刷新等
参考技术A /

DELPHI有自动更新程序怎么破求教

参考技术A 你安装时禁止Delphi访问网络 或者 在防火墙中设置禁止Delphi访问网络。

以上是关于delphi 求教的主要内容,如果未能解决你的问题,请参考以下文章

DELPHI有自动更新程序怎么破求教

求教delphi 中fastreport报表的问题

求教在delphi中,如何把两个exe做为res加入到另一个exe中,并在运行时释放两个exe

求教在delphi中,如何把一个exe做为res加入到dll中,并在运行时生成exe文件执行

求教在delphi中,如何把两个exe做为res加入到另一个exe中,并在运行时释放两个exe

求教delphi高手 关于form.modalresult的问题。。。。。。。。。