社区
Delphi
帖子详情
如何取得 FTP服务器文件时间?
Hyacinthus
2002-05-24 11:55:09
如何在DELPHI中通过NMFTP控件取得 FTP服务器文件时间?
...全文
140
8
打赏
收藏
如何取得 FTP服务器文件时间?
如何在DELPHI中通过NMFTP控件取得 FTP服务器文件时间?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bcb_fans
2002-05-27
打赏
举报
回复
我的代码到底哪里不满足你的要求,请说明一下吗.
Hyacinthus
2002-05-27
打赏
举报
回复
各位请注意,FTP服务器的意思是这上面的文件只能通过FTP指令访问(如FTP://FTP服务器IP/FTP虚拟目录/子目录/../文件名, 而且还要输入访问用户名和密码),而并不像本机的文件一样打开(如C:\TEST\SN.TXT) !!!!!
并不是说要打开机器名叫FTP的服务器上的文件。
在DELPHI中我通过TNMFTP控件进行访问和文件操作,但是不能像本机文件一样取得文件的修改、访问时间!!!! :(
现在想请教各位的是怎么取的这些文件的修改、访问时间。
dmyb7233
2002-05-27
打赏
举报
回复
var filename:string;
FileDateToDateTime(fileage(filename));
Hyacinthus
2002-05-27
打赏
举报
回复
如何取得 FTP服务器的文件时间?
HELP !!!!!!!!!!!!!!!!11111
bcb_fans
2002-05-27
打赏
举报
回复
我可以帮助你:-),我刚刚在CSDN注册还不到一天需要分来提高志气如果你认为下面的代码可以达到你的要求,就给一点分吧。
//----------------------------处理从服务器上返回的文件-----------------------
//----------------------------处理从服务器上返回的文件-----------------------
//----------------------------处理从服务器上返回的文件-----------------------
void __fastcall FormatServerFile(AnsiString OriginalFileName,
AnsiString& FileName,AnsiString &SizeStr,AnsiString &RealSizeStr,
AnsiString &LastAccessDateStr,AnsiString &FileOrDirStr)
{
/*---------------------------------------------------------------------------
-----------------------------------------------------------------------------
Example file returned form ftp server(OriginalFileName's value).
[ 0 ][1][ 2 ][ 3 ] [ 4 ][5] [6] [7] [ 8 ...]
|-Dir Flag-| |--Size-||M| |D| |Y| |-FileName-|
月 日 年
d--------- 1 owner group 0 Dec 27 2000 Rad
---------- 1 owner group 289 Feb 9 6:24 快捷方式 Othe.lnk
特别注意:[7]处的值是这样确定的,如果该文件在本年建立,则该处的值是建立文件的
时间,否则是建立文件的年份。
-----------------------------------------------------------------------------
---------------------------------------------------------------------------*/
AnsiString str;
TStringList* Temp;
//分割字符串
Temp=new TStringList();
//字符串分割函数,到处都有,你要是没有说一声,我再贴给你。
ParseToken(Temp,OriginalFileName," \t");
// 确定是目录还是文件
str=Temp->Strings[0];
if(str[1]=='d' || str[1]=='D')
FileOrDirStr="DIR";
else
FileOrDirStr="FILE";
// 获取文件的大小(一个大概值,一个实际值)
if(FileOrDirStr=="DIR")
{
SizeStr="";
RealSizeStr="";
}
else
{
RealSizeStr=Temp->Strings[4];
long Size=(long)(StrToInt64(Temp->Strings[4])/1024);
if(Size==0) Size=1;
SizeStr=FormatFloat("#,###,###",Size)+" KB"; // Used KB
}
// 把文件的建立时间转换为类似2001-08-02之形式。
// 转换月
str=AnsiString(Temp->Strings[5]).UpperCase();
if(str=="JAN") str="01";
else if(str=="FEB") str="02";
else if(str=="MAR") str="03";
else if(str=="APR") str="04";
else if(str=="MAY") str="05";
else if(str=="JUN") str="06";
else if(str=="JUL") str="07";
else if(str=="AUG") str="08";
else if(str=="SEP") str="09";
else if(str=="OCT") str="10";
else if(str=="NOV") str="11";
else if(str=="DEC") str="12";
// 月日组合
if(Temp->Strings[6].Length()==1) // 2001-09-4 -->> 2001-09-04
str=str+"-0"+Temp->Strings[6];
else
str=str+"-"+Temp->Strings[6];
// 年月日组合
if(Temp->Strings[7].Pos(":")==0) // 找不到':',证明该处是年份。
str=Temp->Strings[7]+"-"+str; // 其它年建立
else
str=FormatDateTime("yyyy",Date())+"-"+str; //本年建立
LastAccessDateStr=str;
// 得到文件名
//int i=OriginalFileName.Pos(Temp->Strings[8]);
//if(i>0) FileName=OriginalFileName.SubString(i,OriginalFileName.Length()-i+1);
// 上述方法存在一个致命的错误(用了半年才发现,真是惭愧),如
// -rw-rw-rw- 1 ftp ftp 17 Jul 27 16:42 1
// 将返回文件名"1 ftp ftp 17 Jul 27 16:42 1"
// 而文件名实际是"1"(文件名是"1"倒也少见:))。
// 因此在这里采用相对于建立时间往后偏移的方法来获得文件名。
int i0=OriginalFileName.Pos(Temp->Strings[5]);
AnsiString s0=OriginalFileName.SubString(i0,2048);
int i1=s0.Pos(Temp->Strings[7]);
FileName=OriginalFileName.SubString(i0+i1+Temp->Strings[7].Length(),2048);
delete Temp;
}
lxpbuaa
2002-05-24
打赏
举报
回复
使用TNMTime控件。
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————
Hyacinthus
2002-05-24
打赏
举报
回复
谁可以告诉我???
Hyacinthus
2002-05-24
打赏
举报
回复
TO lxpbuaa(桂枝香在故国晚秋) :
可以再详细些吗? 谢谢!
需要判断服务器文件和本地文件的新旧情况(根据文件的修改时间),
从而确定是否下载覆盖本机的文件。
本地文件的修改时间已经取得,但是FTP服务器得文件时间取不到!! :(
HELP ME !!
Qt
文件
传输网络编码之
FTP服务器
本课程主要目标:帮助学习,帮助工作,提高Qt实战技能,主要讲解网络通讯技能,及
文件
传输协议,总体以FTP
文件
传输服务器软件代码实现过程来全面讲解Qt开发网络通讯程序的具体过程。通过对
FTP服务器
的实战开发,从...
计算机网络ftp的作用是,FTP、
FTP服务器
是什么?又有什么作用?
FTP是什么?那
FTP服务器
有时什么?其实这两个是不同的概念,有联系又有区别。对大多数用户来说,基本上没有了解的必要,大多数情况下,只有网管或站长才会实际接触这两个问题。正所谓,多学些知识也无妨,那就随小编一下来学习吧!1、FTPFTP(File Transfer Protocol,
文件
传输协议),是TCP/IP网络和Internet上最早使用的协议之一。用来将实现从一台电脑传送
文件
到另一台电脑,...
查看
ftp服务器
文件
,查看
ftp服务器
里的
文件
查看
ftp服务器
里的
文件
内容精选换一换FTP/SFTP连接适用于从线下
文件
服务器或ECS服务器上迁移
文件
到OBS或数据库。当前仅支持Linux操作系统的FTP 服务器。连接FTP或S
FTP服务器
时,他们的连接参数相同,如表1所示。FTP/SFTP连接参数参数名说明取值样例名称连接的名称,根据连接的数据源类型,用户可自定义便于记忆、区分的连接名。ftp_link主机名或IPFT您需要将编译后的可执...
如何搭建
FTP服务器
实现
文件
的上传及下载?(亲测有效)
FTP服务器
(File Transfer Protocol Server)是在互联网上提供
文件
存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(
文件
传输协议)。顾名思义,就是专门用来传输
文件
的协议。简单地说,支持FTP协议的服务器就是
FTP服务器
。 一、在windows下创建一个用户账户(用于FTP登录操作) ...
ftp服务器
文件
权限,
ftp服务器
文件
权限设置
ftp服务器
文件
权限设置 内容精选换一换用户在FusionInsight Manager界面配置监控指标转储后,系统按转储
时间
间隔(默认60秒)周期性检测监控指标转储结果,转储失败时产生该告警。转储成功后,告警恢复。监控指标转储失败会影响上层管理系统无法获取到FusionInsight Manager系统的监控指标。无法连接服务器。无法访问服务器上保存路径。上传监控指标
文件
失败当您有如下需求时,...
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章