Delphi中,如何用TPath优雅处理超长文件名问题?

2026-04-10 16:402阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计470个文字,预计阅读时间需要2分钟。

Delphi中,如何用TPath优雅处理超长文件名问题?

我有一个从Internet下载一些文件的程序。文件名可能非常长(100个字符)。用户可以选择将这些文件保存在一个很长的文件夹名称中(200个字符)。因此,路径的总长度超过了260个字符。我尝试创建一个函数试图创建一个函数。

我有一个从Internet下载一些文件的程序.文件名可能很长(100个字符).
用户可以选择将这些文件保存在名称很长的文件夹中(200个字符).
因此,路径的总长度超过 260 chars.

我试图创建一个函数来检查路径是否太长并截断文件名,因此整个路径将正好是260个字符.但是如果路径超过260个字符,则TPath类中的函数将无法工作.更确切地说,当路径超过260个字符时,GetDirectoryName会引发特定错误,因此我无法使用它从文件名中拆分文件夹.

Delphi的一个主要设计缺陷?
我认为TPath在处理长文件名时引发错误是一个很大的缺陷.简单地使用GetDirectoryName来READ(不写)只会让你的程序崩溃. TPath应该允许处理长路径.可能只有在尝试使用长路径写入文件时才会引发错误.但即便如此. NTFS接受长路径.那么,为什么德尔福应该强迫你坚持到260?有些程序可以处理长路径.例如,我使用Total Commander(从不使用Explorer),所以我不受长文件名问题的影响.

关于如何处理这个案子的任何想法?
注意:下载过程是自动进行的,因此我不会停止要求用户为每个未满260个字符的文件输入新文件名.我想默默地处理这件事.

就个人而言,我认为TPath在这里完全错了.断言Windows路径不能超过260个字符就是否定现实.更重要的是,否认你在路径上执行文本处理的能力实在是太难以理解了.在我看来,应该避免使用TPath.

Delphi中,如何用TPath优雅处理超长文件名问题?

这将带您回到过去的美好时光.您可以从SysUtils调用ExtractFileDir.它的工作原理与以往一样.

本文共计470个文字,预计阅读时间需要2分钟。

Delphi中,如何用TPath优雅处理超长文件名问题?

我有一个从Internet下载一些文件的程序。文件名可能非常长(100个字符)。用户可以选择将这些文件保存在一个很长的文件夹名称中(200个字符)。因此,路径的总长度超过了260个字符。我尝试创建一个函数试图创建一个函数。

我有一个从Internet下载一些文件的程序.文件名可能很长(100个字符).
用户可以选择将这些文件保存在名称很长的文件夹中(200个字符).
因此,路径的总长度超过 260 chars.

我试图创建一个函数来检查路径是否太长并截断文件名,因此整个路径将正好是260个字符.但是如果路径超过260个字符,则TPath类中的函数将无法工作.更确切地说,当路径超过260个字符时,GetDirectoryName会引发特定错误,因此我无法使用它从文件名中拆分文件夹.

Delphi的一个主要设计缺陷?
我认为TPath在处理长文件名时引发错误是一个很大的缺陷.简单地使用GetDirectoryName来READ(不写)只会让你的程序崩溃. TPath应该允许处理长路径.可能只有在尝试使用长路径写入文件时才会引发错误.但即便如此. NTFS接受长路径.那么,为什么德尔福应该强迫你坚持到260?有些程序可以处理长路径.例如,我使用Total Commander(从不使用Explorer),所以我不受长文件名问题的影响.

关于如何处理这个案子的任何想法?
注意:下载过程是自动进行的,因此我不会停止要求用户为每个未满260个字符的文件输入新文件名.我想默默地处理这件事.

就个人而言,我认为TPath在这里完全错了.断言Windows路径不能超过260个字符就是否定现实.更重要的是,否认你在路径上执行文本处理的能力实在是太难以理解了.在我看来,应该避免使用TPath.

Delphi中,如何用TPath优雅处理超长文件名问题?

这将带您回到过去的美好时光.您可以从SysUtils调用ExtractFileDir.它的工作原理与以往一样.