C++BuilderXE 如何让listView按文件名数字排序而非字母排序

news2024/11/20 6:29:28

int m_nDataColSort=0;
bool IsAsc=true;

void __fastcall TForm1::RzListView4Compare(TObject *Sender, TListItem *Item1, TListItem *Item2,
          int Data, int &Compare)
{
if(m_nDataColSort==0)
{

//按列表第二列排序
//Compare=CompareText(Item1->SubItems->Strings[0] ,Item2->SubItems->Strings[0] );
//按列表第一列排序

Compare=CompareText(Item1->Caption ,Item2->Caption );
}
}

//导入文件夹

void __fastcall TForm1::BitBtn29Click(TObject *Sender)
{
 AnsiString   Dir   =   "";
  AnsiString CGstr;
  if (!FolderDialog1->Execute()) return;
  Dir =FolderDialog1->Directory;
  //
      int Trnum=0;
    TSearchRec   sr;
    int iAttributes=0x0000003F;
    int Oldlist;
      if(FindFirst(Dir+"\\*.*",faDirectory,sr)   ==   0)
      {
          Oldlist = RzListView4->Items->Count;
          do
          {
             if( !sr.Name.Pos(".")  )  //sr.Name!="." && sr.Name!=".."
             {
                TListItem *pItem=0;
                pItem=RzListView4->Items->Add();

              //列表第一列,取出文件夹名进行格式化成字母格式"000"

                if( sr.Name.Length()==1)
                     pItem->Caption="00"+sr.Name;
                else if( sr.Name.Length()==2)
                     pItem->Caption="0"+sr.Name;
                else
                     pItem->Caption=sr.Name;        
                            //AnsiString().sprintf("%03d",Oldlist+1);  //  ;
                pItem->SubItems->Add(Dir+"\\"+sr.Name);
                //pItem->SubItems->Add("***");
//                if(CheckBox26->Checked)
//                   pItem->SubItems->Add(RightStr(AnsiString(sr.Name),3));
//                else
//                   pItem->SubItems->Add("***");
                //
                 // Ttree->Add(Dir+"\\"+sr.Name);
                 //Trnum+=1;
                 Oldlist++;
             }
          } while(FindNext(sr) == 0);
          FindClose(sr);
      }
      //文件夹名排序
      m_nDataColSort=0;
      IsAsc=false;
      RzListView4->AlphaSort();

      RzListView4->Column[0]->Caption="序号[ 共"+AnsiString(Oldlist)+" ]" ;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1687012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新书发布——《机器学习大数据平台的构建、任务实现与数据治理——使用Azure、DevOps、MLOps》

内容简介 机器学习大数据平台的构建、任务实现与数据治理 你需要构建安全、稳定的数据平台,需要可以扩展到任何规模的工作负载。当项目从实验室进入生产环境时,你需要确信它可以应对现实工作中的挑战。本书能够帮助你实现这些需求,将讲述如…

ARM9驱动开发基础概念

2、arm9的通用寄存器有几个? 3、异常向量表中irq的异常向量是多少? 4、cpsr中的那几位是用来设置工作模式的? 5、r13,r14,15别名是什么?有什么作用? r13栈顶指针 :它用于实现堆栈指针操作,实…

安装测缝计安装事项详解

在建筑和工程领域,测量缝隙和裂缝的准确性对于工程质量和安全性至关重要。测缝计作为一种专业的测量工具,能够帮助工程师和施工人员准确测量和监测建筑结构的缝隙情况,进而采取合适的修复和加固措施,保证建筑物的稳定性和安全性。…

YOLOv8独家改进:KAN系列 | 「一夜干掉MLP」的KAN ,全新神经网络架构一夜爆火

💡💡💡创新点:来自 MIT 等机构的研究者提出了一种非常有潜力的替代方法 KAN。该方法在准确性和可解释性方面表现优于 MLP。而且,它能以非常少的参数量胜过以更大参数量运行的 MLP。 KAN 在边上具有激活函数,而 MLP 在节点上具有激活函数。KAN 似乎比 MLP 的参数效率更…

预约直播丨ETLCloud训练营:ETL中多流数据合并与运算专题

在大数据处理领域,一个至关重要的步骤是对多源数据流进行汇聚与融合,进而开展深度处理与剖析。此操作对于构建高效数据仓库、实现数据动态变化的实时洞察,以及驾驭复杂事件流的处理机制尤为关键。过程涉及从多样化的数据源中抽取信息&#xf…

【408精华知识】Cache类题目解题套路大揭秘

有关Cache的题目,需要理解Cache的工作原理,也即给出一个地址,要知道如何在Cache中寻找或者如何将其从主存中复制入Cache,同时理解Cache中具体是如何存储的,包含三种存储方式,分别是直接映射、全相联映射、组…

最有效的企业数据防泄漏手段 | 数据泄漏防护系统推荐

随意信息安全意识不断提高,企业纷纷寻求高效的数据防泄漏手段。在众多解决方案中,这五款软件各具特色,但它们的共同目标都是确保企业数据的安全性和保密性。 接下来,我们将逐一介绍这五款软件的特点和优势。 1、Ping 32 Ping32…

前端面试项目细节重难点(已工作|做分享)

面试官提问:需求场景:页面上有一个单选框,有是否两个选项:当用户选择是,出现一个输入框,用户可以输入内容,给后端的保存接口传入参数radio和content这两个字段,值分别是用户选项和输…

【Python】 如何在Python中创建GUID UUID

基本原理 GUID(全局唯一标识符)和UUID(通用唯一标识符)都是用来在分布式系统中唯一标识信息的。在Python中,我们可以使用内置的uuid模块来生成这些唯一标识符。 UUID有几种不同的版本,每种版本都有其特定…

图形学初识--光栅化直线算法

文章目录 什么叫做光栅化?为什么需要光栅化?直线的光栅化算法有哪些?Bresemham算法问题定义:问题模型简化:算法核心理解:算法拓展: 结尾:喜欢的小伙伴可以点点关注赞哦 什么叫做光栅…

【Java】手把手学会数组的使用

数组的基本用法 创建数组 基本语法: // 动态初始化 数据类型 [] 数组名称 new 数据类型 [] { 初始化数据 }; // 静态初始化 数据类型 [] 数组名称 { 初始化数据 }; 代码示例: int[] array1 {1,2,3,4,5};int[] array2 new int[]…

如何在OpenHarmony上使用SeetaFace2人脸识别库?

简介 相信大部分同学们都已了解或接触过OpenAtom OpenHarmony(以下简称“OpenHarmony”)了,但你一定没在OpenHarmony上实现过人脸识别功能,跟着本文带你快速在OpenHarmony标准设备上基于SeetaFace2和OpenCV实现人脸识别。 项目效…

c++ 实现 梯度下降线性回归模型

理论与python实现部分 3.1. 线性回归 — 动手学深度学习 2.0.0 documentation c代码 没能力实现反向传播求梯度&#xff0c;只能自己手动算导数了 #include <bits/stdc.h> #include <time.h> using namespace std;//y_hat X * W b // linreg 函数&#xff1a…

9 个适用于小型企业的顶级API管理解决方案

应用程序接口管理解决方案可帮助各种规模的企业开发、部署和管理其应用程序接口&#xff0c;并实现收入最大化。 建立 API 的组织和开发人员可能会被整个 API 生命周期中需要完成的大量任务压得喘不过气来。从规划和构建到部署、维护和货币化&#xff1b;这是一项具有挑战性的工…

【计算机网络原理】对传输层TCP协议的重点知识的总结

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

7.从0做一个vue键盘组件

文章目录 1. 从0做一个键盘组件1.1. 最终效果1.2. 分析1.3. 实现1.4. 如何引用 1. 从0做一个键盘组件 首先是why的问题&#xff1a;为什么需要做键盘组件&#xff1f; 我们目前可知的场景&#xff1a; 在新增账单的时候&#xff0c;需要用到键盘在比如从账单列表页&#xff…

2024年 电工杯 (B题)大学生数学建模挑战赛 | 大学生平衡膳食食谱的优化设计 | 数学建模完整代码解析

DeepVisionary 每日深度学习前沿科技推送&顶会论文&数学建模与科技信息前沿资讯分享&#xff0c;与你一起了解前沿科技知识&#xff01; 本次DeepVisionary带来的是电工杯的详细解读&#xff1a; 完整内容可以在文章末尾全文免费领取&阅读&#xff01; 问题1&…

【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手

读者大大们好呀&#xff01;&#xff01;!☀️☀️☀️ &#x1f525; 欢迎来到我的博客 &#x1f440;期待大大的关注哦❗️❗️❗️ &#x1f680;欢迎收看我的主页文章➡️寻至善的主页 文章目录 &#x1f525;前言&#x1f680;unittest编写测试用例&#x1f680;unittest测…

49 序列化和反序列化

本章重点 理解应用层的作用&#xff0c;初识http协议 理解传输层的作用&#xff0c;深入理解tcp的各项特性和机制 对整个tcp/ip协议有系统的理解 对tcp/ip协议体系下的其他重要协议和技术有一定的了解 学会使用一些网络问题的工具和方法 目录 1.应用层 2.协议概念 3. 网络计…

awesome-ai4s 现已开源!超全 AI for Science 学术论文与数据资源汇总,持续更新ing

2018 年中国科学院院士鄂维南提出「AI for Science」概念&#xff0c;强调利用 AI 学习科学原理、创造科学模型来解决实际问题。同年&#xff0c;AlphaFold 崭露头角&#xff0c;从 43 种蛋白质中准确预测出了 25 种蛋白质结构。2021 年&#xff0c;AlphaFold 2 开源并预测了 9…