delphi FileListBox 排序

delphi FileListBox 显示的内容如何按照文件的名称进行排序

0

2个回答

0

FileListBox.item进行排序

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
DELPHI搜索文件的示例
搜索TXT 文件的示例unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls; type TForm1 = class(TForm) ListBox1: TListBox; Memo2: TMemo; Panel1: TPanel; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit1: TEdit; ButtonSearchFile: TButton; FolderPath: TEdit; FileExt: TEdit; ProgressBar1: TProgressBar; procedure ButtonSearchFileClick(Sender: TObject); procedure ListBox1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } procedure SearchFile1(FileName: string; FindText: string); function MakeFileList(Path, FileExt: string): TStringList; function FileInUsed(FileName: TFileName): Boolean; public { Public declarations } end; var Form1: TForm1; implementation uses StrUtils; {$R *.dfm} { Search Options KeyWord in file FileName FileSize FileCreateTime FileModifyTime keyword filepath openfile found addListbox } var FileNamePathList, FileNameList: TStringList; procedure TForm1.FormCreate(Sender: TObject); begin FileNameList := TStringList.Create; FileNamePathList := TStringList.Create; end; { if FileInUsed ('D:\Administrator\Documents\MyProjects\FileSearch\Win32\Debug\Project1.exe') then ShowMessage('File is in use.') else ShowMessage('File not in use.'); } function TForm1.FileInUsed(FileName: TFileName): Boolean; var HFileRes: HFILE; begin Result := False; if not FileExists(FileName) then Exit; // 如果文件不存在,返回false HFileRes := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); if not Result then CloseHandle(HFileRes); end; procedure TForm1.SearchFile1(FileName: string; FindText: string); var SearchList: TStringList; begin try SearchList := TStringList.Create; if FileExists(FileName) and (not FileInUsed(FileName)) then begin SearchList.LoadFromFile(FileName); if Boolean(Pos(UpperCase(FindText), UpperCase(SearchList.Text))) then begin FileNameList.Add(ExtractFileName(FileName)); FileNamePathList.Add(FileName); end; end; finally SearchList.Free; end; end; procedure TForm1.ButtonSearchFileClick(Sender: TObject); var I, n: Integer; List: TStringList; begin try ButtonSearchFile.Caption := 'SearchFile'; List := TStringList.Create; List.Clear; FileNameList.Clear; FileNamePathList.Clear; List := MakeFileList(FolderPath.Text, FileExt.Text); ProgressBar1.Max := List.Count; for I := 0 to List.Count - 1 do begin Application.ProcessMessages; SearchFile1(List[I], Edit1.Text); ProgressBar1.Position := I; end; ListBox1.Items.Text := FileNameList.Text; ButtonSearchFile.Caption := IntToStr(FileNamePathList.Count) + ' 条'; finally List.Free; end; end; { 这个过程得显示进度 } function TForm1.MakeFileList(Path, FileExt: string): TStringList; var sch: TSearchrec; begin Result := TStringList.Create; if RightStr(Trim(Path), 1) <> '\' then Path := Trim(Path) + '\' else Path := Trim(Path); if not DirectoryExists(Path) then begin Result.Clear; Exit; end; if FindFirst(Path + '*', faAnyfile, sch) = 0 then begin repeat Application.ProcessMessages; if ((sch.Name = '.') or (sch.Name = '..')) then Continue; if DirectoryExists(Path + sch.Name) then begin Result.AddStrings(MakeFileList(Path + sch.Name, FileExt)); end else begin if (UpperCase(ExtractFileExt(Path + sch.Name)) = UpperCase(FileExt)) or (FileExt = '.*') then Result.Add(Path + sch.Name); end; until FindNext(sch) <> 0; FindClose(sch); end; end; procedure TForm1.ListBox1Click(Sender: TObject); var s: string; txt: string; begin if not FileExists(FileNamePathList[ListBox1.ItemIndex]) then Exit; Memo2.Lines.LoadFromFile(FileNamePathList[ListBox1.ItemIndex]); Caption := FileNamePathList[ListBox1.ItemIndex]; txt := Form1.Memo2.Text; if Boolean(Pos(UpperCase(Edit1.Text), UpperCase(txt))) then begin Memo2.SetFocus; Memo2.SelStart := Pos(UpperCase(Edit1.Text), UpperCase(txt)) - 1; Memo2.SelLength := Length(Edit1.Text); end; end; end.
Filelistbox排序
我把文件夹里的图片统一按更名了,可是加载在FileListBox里序列很乱,有什么方法让它按序排列比如:相册0,相册1,相册2...rnrn
vb.net drivelistbox dirlistbox filelistbox控件使用
vb.net drivelistbox dirlistbox filelistbox控件使用
Delphi万能设置修改文件图标源码SetFileIcon
Delphi SetFileIcon 万能设置修改文件图标源码。指定后缀名、文件描述、文件图标、默认打开程序den等等。DelphiXE3编写。
VB图片浏览器(练习FileListbox、Image控件的使用)
VB图片浏览器(练习FileListbox、Image控件的使用) 你所看到的文件来自:E动天下—VB专业源码网
delphi DBGrid排序的两种方法(自己代码中,测试成功的)
在delphi有些第三方控件确实有自带的排序功能,可是对于原始的DBGrid控件不存在自动排序功能,下面是两种不同显示的排序方法。我自己写成函数,可以调用。(自己程序中测试成功的)
Delphi 的泛型和匿名函数:对 TObjectList<> 做排序
要用到泛型的 TObjectList<>,必须先 uses 以下两个单元: System.Generics.Collections, System.Generics.Defaults 其中,第二个单元用于 TComparer 的声明. 假设这里有一个我自己定义的类: TMyObj = class private public FMyName: string; e
delphi内存表字段排序
FDMemTable1.IndexFieldNames:='id;ParentId';
TStringList 排序
delphi CustomSort 排序的一个简单demo 已经测试过可以正常排序,很简单可做参考
TDBGrideh表头自动排序设置
自动显示标题行的升降排序标志符(▽降序△升序)并做相应排序DBGridEh组件可以在标题行单元格中显示小三角形升、降排序标志符图片,在运行时可点击标题行,图片自动切换并做相应排序。 具体属性设置如下: 1、uses EhLibAdo;(如果客户端用ADO控件);2、设置DBGridEh的Column的TitleButton属性为True;3、设置DBGridEh的OptionsEh的dghAu...
delphi DBGRID 升序降序排序 方法
procedure Tformbrty.DbGridSetOrder(paraDbGrid: TDbGrid; paraColumn: TColumn); var locClientDataSet :TClientDataSet; strColumn :String; nReturn :Integer; function CdsSetOrder(paraCds:...
Show only Certain Extensions in a FileListBox
Show only Certain Extensions in a FileListBox
VB6 应用实例
VB6 Drive、DriveListBox和FileListBox等应用实例
ListView排序,解决了数字排序
ListView排序,解决了数字排序 精确数字排序
delphi动态创建的控件的Align问题altop按创建顺序依次下排
delphi动态创建的控件的Align问题altop按创建顺序依次下排
CxGrid 分组以后自动排序了,可以禁止自动排序吗
修改此列的Options下面的Sorting属性为False应该就可以了
Delphi控制Excel排序(实例)
Delphi控制Excel排序(实例): 1)能按EXCEL任意一列的升降序进行排序 (最多可设三个关键字) 2)可选择是否包停含标题 3)函数调用简单:ExSort(ExcelApp,'B1',2,1); 函数原型: procedure ExSort(ExcelApp: Variant;Key:String;Order:Integer=1;Header_:Integer=2);
D7+Ehlib 7.0.133 DBGridEh,点击列标题排序属性设置好之后,有时无法排序的解决办法
如题,Delphi 7下安装了Ehlib 7.0.133 版本,使用DBGridEh-->DataSource-->TMemTableEh-->TADODataDriverEh连接这些控件,设置了DBGridEh的各个属性如下: 设置        DBGridEh.OptionsEh.dghmultisortmarking := true;         DBGridEh.sortloc
数据集的排序
排序使用proc sort 步。 1、降序排列数据集 data0数据集      dataSort数据集方法一:proc sort data=data0  out=dataSort;  by descending id;  run; 方法二:proc sort data=data0  out=dataSort   reverse;  by id;  run; 方法三:proc sql; ...
设置控件排列顺序
winForm排列控件顺序:视图,其他窗口,文件大纲,鼠标拖动调整位置
Delphi SuperObject 解决节点乱序问题
SuperObject Delphi 的 JSON 操作类改造 - 关于属性顺序的问题。(原创资源) Delphi 的 ISuperObject 属性顺序为随机。但是很多时候,是需要按加入顺序进行读取。我也看了网上很多人有类似需求。也有人问过原作者,作者答复为:JSON协议规定为无序。看了我真是无语。 也看过网上一些人自己的修改,但是修改后有两个问题: 1. 性能急剧下降。原作者是用二叉树对性能做了极大的优化。但是网上修改的方法性能不行。 2. 属性数大于 32 时会出错。(原来用的是二叉树,修改后部分算法未修改,导致此问题)。 我采用的是重写遍历器的方法,和原版性能接近。 * 执行 500*500 数据的节点变更后,性能和原版差别不太大。 * * 原始性能 0.280 秒 * 旧的稳定改版性能 15.774 秒 * 新的稳定改版性能 0.535 秒 * * 性能是原版的 1.9 倍左右。而之前将二叉树变为链表的方法,导致性能变为 56 分之一。 * 温涛,于 2018-10-26。邮箱 delphi2006@163.com
delphi 对listview的编辑,排序
delphi 在listview中嵌入edit控件,双击 listview可以编辑listview;并附带排序功能。delphi7下直接运行
Cxgrid获取选中行列,排序规则
取列值 i := cxGrid1DBBandedTableView1.Controller.FocusedColumn.Index; cxGrid1DBBandedTableView1.DataController.GetValue(cxGrid1DBBandedTableView1.Controller.SelectedRows[0].RecordIndex,i); cxGrid1D...
dbgrideh 点击标题行排序
-
泛型排序sort()
1、基本数据类型的泛型(int,double ,string等)直接调用sort函数排序即可  List NameLst = new List() { "asdf","aered"}; NameLst.Sort(); 通过调用集合的Reverse()可实现反转 2、对象型泛型排序 Goat 是类,Goat1,Goat2是类的实例,     class Goat
ListBox实现拖拽排序功能
ListBox实现拖拽排序功能,ListBox拖拽实现原理,排序功能
数组排序函数
sort() 函数用于对数组单元从低到高进行排序。   rsort() 函数用于对数组单元从高到低进行排序。   asort() 函数用于对数组单元从低到高进行排序并保持索引关系。   arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。   ksort() 函数用于对数组单元按照键名从低到高进行排序。   krsort() 函数用于对数组单元按照键名从高到低进行排序。...
listbox之间拖拽,listbox内元素拖拽排序
listbox之间拖拽,listbox内元素拖拽排序,里面有大量注释,即使你以前从未使用过,在这里也能轻松了解,轻松学会
delphi中ListView控件的点击排序样例
delphi中ListView控件的点击排序样例,delphi中ListView控件的点击排序样例
DELPHI 表格控件DBGridEh史上最全使用资料(101页)
一、 DBGridEh(增强型表格组件)功能详解.....................................................................4 二、应用实例..........................................................................................................................5 1. 定制标题行......................................................................................................................5 1) 制作复杂标题行.......................................................................................................5 2) 按钮式标题..............................................................................................................5 3) 标题行显示图片.......................................................................................................5 4) 如根据不同状态在数据单元格中显示相应图片...................................................5 5) 自动显示标题行的升降排序标志符(▽降序△升序)并做相应排序...............6 6) 点dbgrideh 标题排序..............................................................................................7 7) 在DBGridEH 中怎样实现多重排序(标题出现0123等排列序号)? ................ 11 8) 让dbgrid显示序号................................................................................................ 11 2. 外观布局........................................................................................................................12 1) 根据不同字段值显示相应的小图片.....................................................................12 2) 显示检查框(checkbox)外观.............................................................................12 3) 显示单、多列下拉列表.........................................................................................12 4) 显示日历下拉列表.................................................................................................13 5) 3D或平面外观效果...............................................................................................13 6) 行头和列头的启用关闭.........................................................................................13 7) DBGrid如何实现透明效果?.................................................................................13 8) 滚动条的各种应用.................................................................................................16 9) 数据行高................................................................................................................19 10) DBGrid设置Rowheight后如何将单元格内容纵向和垂直都居中?..............19 11) 设置DBGridEH 自适应列宽的最好方法.........................................................20 12) Ehlib 的DBGridEh首列加序号........................................................................21 13) 分行分列、单元格的颜色设置.........................................................................23 14) 点击不同单元格列,执行不同的动作.............................................................27 15) 下拉式计算器.....................................................................................................28 16) 鼠标移到某个单元格,指针形状改变.............................................................28 17) 自动填充网格列宽到网格客户区.....................................................................29 18) 从注册表或ini文件中保存或恢复网格和列的层次。...................................29 3. 编辑功能........................................................................................................................29 1) 多选........................................................................................................................29 2) 文本多行显示.........................................................................................................30 3) 显示备注字段.........................................................................................................30 4) 如何让dbgrideh1 显示数据时只显示两位小数...................................................30 5) 获得当前DBGridEh表中单元格的序号.............................................................30 6) 怎样在dbgridEh和Edit中显示金额的千分号...................................................30 7) end;请问怎么才能使DBGridEh不滚动就能提交数据?...................................32 8) 我怎么把dbgrid 里的数据一次插入到数据库呢................................................32 9) 在DBGrid中可选中行而又可进入编辑状态......................................................32 10) 修正DBGrideh 丢失焦点时自动关闭输入法的问题......................................35 11) DBGRIDEH选定多行删除怎么实现...............................................................36 12) DBGrid 滚动表格的代码...................................................................................37 4. 统计功能........................................................................................................................37 白波九道整理自用版 第 3 页 1) 页脚合计................................................................................................................37 2) 定制表格底部(footer)区域的汇总统计行.......................................................38 3) TDBSumList说明..................................................................................................38 4) 如何工作以及为什么有时SumList的集合值计算不正确?.............................39 5) dbgrideh列求和.....................................................................................................39 5. 数据功能........................................................................................................................40 1) 查找字段点击某列值的下拉按纽弹出一个从数据库取值下拉列表...............40 2) 使用DBGridEh自动过滤实现方法.....................................................................40 3) 使用DBGridEh自动过滤实现方法2 ..................................................................41 4) DBGridEh 控件中使用过滤功能 (适用ehlib 5.2 ehlib 5.3)................................42 5) 支持模糊查询.........................................................................................................43 6) ehlib4.4.50中支持模糊匹配的修改方法..............................................................44 7) EhLib 5.0 Build 5.0.13的过滤字串都是模糊过滤修改.......................................45 8) 滚动条滚动时选择不变,还有自动过滤功能的实现.........................................45 9) 增量搜索................................................................................................................46 10) ehlib总是按两次ctrl+f才出来查找框,怎么办?.........................................46 11) 如何改良dbgrideh的文字过滤........................................................................46 12) 改进DBGrideh 表头点击自动排序,实现双击状态轮流.................................47 13) 改良Ehlib 的排序功能,加快排序速度.............................................................49 14) 在DbGridEh中显示TreeView效果................................................................50 15) DBGridEh-KeyList、PickList............................................................................51 16) 主从表设置........................................................................................................53 17) 在DbGridEh中显示表中表..............................................................................55 6. 输入/输出.......................................................................................................................56 1) 导入导出数据.........................................................................................................56 2) 从多种格式导入/导出数据到TDBGridEh...........................................................57 3) DBGRID 生成EXCEL报表.................................................................................57 4) 使用TPrintDBGridEh 组件.................................................................................61 5) 打印时确定Ehlib定义的报表表头颜色? ............................................................61 6) Ehlib 中的PrintDBGridEh如何印页码,即第几页共几页...................................62 7) 怎么让PrintDBGridEh只打印DbGridEh 中指定的列.......................................62 8) 怎样进行横向打印/ 打印预览?........................................................................62 7. 将存在的DBGrid组件转换为DBGridEh组件...........................................................62 三、EhLib安装问题.............................................................................................................64 1. EhLib 安装步骤.............................................................................................................64 2. EhLib 安装问题(dbsumlst.dcu出错) ..........................................................................64 3. 安装提示找不到.BPL文件...........................................................................................65 四、Delphi 下的优秀表格(Grid)显示控件........................................................................65 1. NextGrid .........................................................................................................................65 2. TopGrid 3.01...................................................................................................................65 3. XLGrid............................................................................................................................66 4. DevExpress ExpressQuantumGrid .................................................................................66 5. TMS Grid Pack...............................................................................................................68 6. EhLib ..............................................................................................................................71 白波九道整理自用版 第 4 页 7. ProfGrid..........................................................................................................................71 8. EasyGrid .........................................................................................................................71 五、delphi 中配置文件的使用(*.ini).........................................................................71 六、窗口动画效果Animatewindow应用...........................................................................72 七、Delphi Excel to Sql Server..............................................................................................73 八、Delphi控制Excel的经验如下:..................................................................................76
ListView和ListBox内部拖拽排序原理
其实就是很简单的删除选定的元素,然后在合适的位置添加元素。下面以listBox为例的代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using ...
浮点数排序
我们有N个正浮点数,均小于10000.0。现在需要将这些浮点数按照离它最近的整数的差从小到大排序,浮点数与距离最近的整数的差越小,这个浮点数的排位越靠前;如果差相等,按照浮点数的值从小到大排序。 #include&amp;lt;iostream&amp;gt; #include&amp;lt;cmath&amp;gt; #include&amp;lt;algorithm&amp;gt; #define EPSILON 1e-6 using na...
DBTree结构的Delphi树形菜单实例源码
DBTree结构的Delphi树形菜单实例源码 DBTree结构的Delphi树形菜单实例源码
FileListBox
FileListBox中选择多个文件后,我怎么得到选择的第二个文件的名字?
delphi实现数字和字母组合的字符串数字部分不断自加
delphi实现数字和字母组合的字符串数字部分 解决数值型长度不够时加1
DELPHI冒泡法排序代码
DELPHI冒泡法排序代码 压缩包中是源代码
delphi制作的工资管理系统
工资管理是每一个单位都必须面临的问题,各个单位的工资处理内容总是有一些区别,目前还没有一个专用的工资管理系统,也不可能将各个单位的工资内容统一起来,为此各单位都 面临一个工资管理 系统的开发应用问题。本文用Delphi 6来建立一个工资管理系统。而且,用Delphi 6建立的工资管理系统所涉及的工具新颖,语言结构精练,编译和运行速度极快,通过工资管理系统的开发应用,可以掌握用Delphi 6开应用系统的基本技巧和基本方法。
很好用的SortGrid (表格控件)
SortGrid,很好用的多功能的表格控件,支持排序,支持D7。
拖动视图Delphi实现,在列表中拖动图标..rar
拖动视图Delphi实现,在列表中拖动图标..rar
delphi 删除 指定目录 指定日期 之前所有文件
大概思路是,递归进入各个子目录。如果是目录,则进去子目录。如果不是,则直接进行比较日期之后,进行删除操作。 其中提取到 这个文件的准确创建日期这一块可能 费了点时间。就是不想直接用r.finddata 里头的东西。太烦人。 也没有多少技术,就是方便删除超大目录下相关文件罢了。