ditDirectory未定义,莫名奇妙啊

SF_harry 2012-01-30 02:54:37
unit sync;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdFTP, StdCtrls, RzButton;

type
TForm1 = class(TForm)
FTPClient: TIdFTP;
RzBitBtn1: TRzBitBtn;
procedure RzBitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
const
Model = 'yyyy/mm/dd,hh:mm:ss';
var
Form1: TForm1;

implementation

{$R *.dfm}


procedure FindRemoteDir(var idFTP: TIdFtp; RemoteDir: string; var filename,
filesize, filetime: Tstrings);
var
i, DirCount: integer;
sName: string;
begin
idFTP.RetrieveCurrentDir;
idFTP.ChangeDir(RemoteDir);
idFTP.List(nil);
DirCount := idFTP.DirectoryListing.Count;
if DirCount = 0 then
begin
idFTP.ChangeDirUp;
idFTP.List(nil);
Exit;
end;
for i := 0 to DirCount - 1 do
begin
if DirCount <> idFTP.DirectoryListing.Count then
begin
repeat
idFTP.ChangeDirUp;
idFTP.List(nil);
Application.ProcessMessages;
until DirCount = idFTP.DirectoryListing.Count;
Exit;
end;
if idFTP.DirectoryListing.Items[i].ItemType = ditDirectory then//这句编译不过,提示ditDirectory未定义
Remotefindall(idFTP, idFTP.RetrieveCurrentDir + '\' + idFTP.DirectoryListing.Items[i].FileName, filename, filesize, filetime)
else
begin
sName := RemoteDir + '\' + idFTP.DirectoryListing.Items[i].FileName;
sName := MidStr(sName, iwidth + 1, length(sName) - iwidth + 1);
filename.add(sName);
filesize.add(inttostr(idFTP.DirectoryListing.Items[i].Size));
filetime.Add(FormatDateTime(Model, idFTP.DirectoryListing.Items[i].ModifiedDate));
end;
end;
Application.ProcessMessages;
if i = DirCount - 1 then
begin
idFTP.ChangeDirUp;
idFTP.List(nil);
end;

end;

procedure TForm1.RzBitBtn1Click(Sender: TObject);
begin
FTPClient.Username := 'Login=tranuser';
FTPClient.Password := '8653635';
FTPClient.Port := 21;
FTPClient.Connect();
end;

end.

...全文
208 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SF_harry 2012-01-30
  • 打赏
  • 举报
回复
oh my god~! ⊙﹏⊙
bdmh 2012-01-30
  • 打赏
  • 举报
回复
缺少单元引用
erhan 2012-01-30
  • 打赏
  • 举报
回复
uses IdFTPList;
内容概要:本文聚焦于“基于中间电容应力分担机制的三阶立方体双向DC-DC变换器”的建模与优化设计,系统阐述其在dq域下的动态建模方法与控制策略优化,涵盖变频与移相协同控制、高电压增益实现、降频软启动、多模式平滑切换等核心技术。结合Matlab、Simulink及PSCAD仿真平台,深入实现全桥LLC、双三相LLC等谐振变换器的混合控制与动态响应分析,并拓展至飞轮储能系统、混合储能平抑风电波动、直流母线电压稳定控制等实际应用场景,构建了从器件级建模到系统级集成的完整仿真体系。同时包含多项高水平期刊论文的复现内容,强化科研可重复性与工程实用性。; 适合人群:电力电子、电气工程及其自动化等相关专业的研究生、科研人员及从事新能源发电、储能系统、电动汽车、智能电网等领域研发的工程技术人员;具备电路拓扑分析、控制系统设计及仿真基础者更佳。; 使用场景及目标:①掌握高频双向DC-DC变换器的精确建模与先进控制方法;②复现并验证权威期刊论文中的关键仿真案例,提升科研创新能力与仿真技术水平;③应用于储能系统能量管理、新能源并网调控、电动汽车充放电模块等高性能电源变换系统的优化设计与动态性能分析。; 阅读建议:建议按照文档目录结构循序渐进学习,优先理解主拓扑的工作原理与控制逻辑,结合所提供的仿真模型进行实操复现,重点关注不同工况下的动态响应、稳定性边界及模式切换过程,深化对电力电子系统协同控制与多时间尺度动态特性的理解。
内容概要:本文系统研究了基于序贯蒙特卡洛模拟法的配电网可靠性评估方法,并通过Matlab代码实现了算法的仿真与复现。文章深入阐述了该方法在电力系统可靠性分析中的理论基础,通过模拟电力元件的故障与修复过程的时间序列,对配电网的关键可靠性指标(如系统平均停电频率SAIFI、平均停电持续时间SAIDI等)进行精确统计评估。研究结合IEEE标准测试系统,详细展示了状态转移抽样、时序仿真流程设计及可靠性指标计算等关键技术环节的实现方法。该方法能够有效处理复杂配电网络中元件的随机性、相关性与时序特性,为电网的规划、运行维护及风险评估提供了科学、可靠的决策依据。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及从事电力系统可靠性分析的工程技术人员。; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在配电网可靠性评估中的应用原理与实现技巧;②学习如何通过时序仿真评估SAIFI、SAIDI等核心可靠性指标;③为电网规划、故障风险分析和运维策略制定提供量化分析工具; 阅读建议:此资源以Matlab代码为核心载体,强调理论与实践的紧密结合,建议读者在学习过程中仔细研读算法原理,动手运行并调试所提供的代码,深入理解状态抽样、时序推进和指标统计的每一个细节,以达到融会贯通的目的。
内容概要:本文详细介绍了OPC DA协议的基本原理及其在工业自动化领域的应用,重点讲解了如何使用Matrikon OPC仿真工具生成模拟数据,并通过supOS平台实现数据接入与在线调试。内容涵盖OPC DA的技术架构、数据点三要素(值、质量、时间戳)、协议特点,以及仿真服务器和客户端的安装配置、DCOM系统设置、数据地址空间查看、实时数据监控等操作步骤。最后,指导用户在supOS平台创建OPC DA采集通道、配置数据点表并进行在线调试,提供了常见问题的排查方法。; 适合人群:从事工业自动化、智能制造及相关领域的工程师和技术人员,具备基本的工控系统知识和Windows操作系统操作能力,适合初学者和中级技术人员学习参考。; 使用场景及目标:①用于OPC DA协议的学习与实训,掌握其通信机制和数据交互流程;②在无真实PLC设备的情况下,利用仿真工具开展数据采集系统开发与测试;③实现OPC DA数据接入supOS工业操作系统,支撑工业数据可视化、监控与分析应用。; 阅读建议:建议按照文档顺序逐步操作,确保每一步骤配置正确,尤其注意DCOM权限设置和数据路径的准确性,配合OPC Explorer客户端验证数据连通性后再接入supOS平台,以提高调试效率。

5,944

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧