广告
返回顶部
首页 > 资讯 > 精选 >VB.NET中怎么按文件名排序
  • 159
分享到

VB.NET中怎么按文件名排序

2023-06-17 20:06:00 159人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关VB.NET中怎么按文件名排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。VB.NET文件名排序案例:输入 : a1,a2,a10,a001 。我们

本篇文章给大家分享的是有关VB.NET中怎么按文件名排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

VB.NET文件名排序案例:

输入 : a1,a2,a10,a001 。我们知道,如果按照字符串比较,结果应该是 a001,a1,a10,a2,但我们期望的结果应该是a001,a1,a2,a10.

自己写了一个VB.net文件名排序算法

VB.NET code   int compare(const void* arg1,const void* arg2)  {  if (NULL==arg1||NULL==arg2)//address of item  return 0;  LPSTR lpText1 = *( TCHAR** )arg1; //content of item  LPSTR lpText2 = *( TCHAR** )arg2; //content of item  if (NULL==lpText1||NULL==lpText2)  return 0;  int nText1Len = _tcslen(lpText1);  int nText2Len = _tcslen(lpText2);  int nText1IndexHandled = 0;  int nText2IndexHandled = 0;  int nRet = 0;  for (;;)  {  if (nText1IndexHandled==nText1Len||nText2IndexHandled==nText2Len) //don't compare complete since all are same, "ab","abc"  {  TCHAR chOffset1 = nText1IndexHandled<nText1Len?lpText1[nText1IndexHandled]:0;  TCHAR chOffset2 = nText2IndexHandled<nText2Len?lpText2[nText2IndexHandled]:0;  nRet = (int)((Word)chOffset1-(WORD)chOffset2);  break;  }  TCHAR ch2 = *(lpText1+nText1IndexHandled);  TCHAR ch3 = *(lpText2+nText2IndexHandled);  if (isdigit(ch2)&&isdigit(ch3)) // if digit, change to number and compare  {  TCHAR* lpNum1 = new TCHAR[nText1Len];  TCHAR* lpNum2 = new TCHAR[nText2Len];  if (NULL==lpNum1||NULL==lpNum2)  return 0;  memset(lpNum1,0,nText1Len*sizeof(TCHAR));  memset(lpNum2,0,nText2Len*sizeof(TCHAR));  extractnumber(lpText1,nText1Len,nText1IndexHandled,lpNum1);  extractnumber(lpText2,nText2Len,nText2IndexHandled,lpNum2);  nRet = comparenumber(lpNum1,lpNum2);  delete[] lpNum1;  delete[] lpNum2;  }  else  {  nRet = (int)((WORD)ch2-(WORD)ch3);  nText1IndexHandled++;  nText2IndexHandled++;  }  if (nRet!=0)  break;  }  return nRet;  }  TCHAR* extractnumber(TCHAR* lpBuf,int nLen,int& nIndexBegin,TCHAR* lpNumber)  {  if (NULL==lpBuf||NULL==lpNumber)  return lpNumber;  for (int i=nIndexBegin,nIndex=0;i<nLen;++i,++nIndexBegin)  {  TCHAR ch = *(lpBuf+i);  if (!isdigit(ch))  break;  lpNumber[nIndex++]=ch;  }  return lpNumber;  }  int comparenumber(TCHAR* lpNumber1,TCHAR* lpNumber2)  {  if (NULL==lpNumber1||NULL==lpNumber2)  return 0;  int nNum1Len = _tcslen(lpNumber1);  int nNum2Len = _tcslen(lpNumber2);  int nMaxLen = max(nNum1Len,nNum2Len);  TCHAR* lpFORMatNum1 = new TCHAR[nMaxLen+1];  TCHAR* lpFormatNum2 = new TCHAR[nMaxLen+1];  if (NULL==lpFormatNum1||NULL==lpFormatNum2)  return 0;  memset(lpFormatNum1,_T('0'),nMaxLen*sizeof(TCHAR));  memset(lpFormatNum2,_T('0'),nMaxLen*sizeof(TCHAR));  lpFormatNum1[nMaxLen]=0;  lpFormatNum2[nMaxLen]=0;  int nPos = 0, nRet = 0;  int nIndex = nMaxLen-1;  for (nPos=nNum1Len-1;nPos>=0;--nPos)  lpFormatNum1[nIndex--]=lpNumber1[nPos];  nIndex = nMaxLen-1;  for (nPos=nNum2Len-1;nPos>=0;--nPos)  lpFormatNum2[nIndex--]=lpNumber2[nPos];  for (nPos=0;nPos<nMaxLen;++nPos)  {  nRet = lpFormatNum1[nPos]-lpFormatNum2[nPos];  if (nRet!=0)  break;  }  delete[] lpFormatNum1;  delete[] lpFormatNum2;  return nRet;  }

以上就是VB.NET中怎么按文件名排序,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: VB.NET中怎么按文件名排序

本文链接: https://www.lsjlt.com/news/292966.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • VB.NET中怎么按文件名排序
    本篇文章给大家分享的是有关VB.NET中怎么按文件名排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。VB.NET文件名排序案例:输入 : a1,a2,a10,a001 。我们...
    99+
    2023-06-17
  • VB.NET中怎么实现按文件名排序
    今天就跟大家聊聊有关VB.NET中怎么实现按文件名排序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。输入 : a1,a2,a10,a001我们知道,如果按照字符串比较,结果应该是 a...
    99+
    2023-06-17
  • VB.NET中怎么对文件排序
    本篇文章为大家展示了VB.NET中怎么对文件排序,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。VB.NET文件排序之按文件尺寸大小代码如下:Public Class Form1&...
    99+
    2023-06-17
  • mysql怎么按姓名排序
    mysql中实现按姓名排序的方法例:表结构如下:desc test;+----+-------+| id | name |+----+-------+| 5 | 王六 |+----+-------+| 3 | 张三 |+----+-----...
    99+
    2022-10-07
  • php 文件怎么按修改时间排序
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php 文件怎么按修改时间排序php遍历目录下文件并按修改时间排序操作示例php 遍历目录下文件方法://遍历目录下文件方法 function printdir($di...
    99+
    2020-11-08
    php 排序
  • mysql中怎么按中文拼音排序
    mysql中怎么按中文拼音排序,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 [size=large] 按照中文的拼音实现排序: Java...
    99+
    2022-10-18
  • C#怎么对文件名智能排序
    这篇文章主要介绍“C#怎么对文件名智能排序”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#怎么对文件名智能排序”文章能帮助大家解决问题。在文件夹中,我们经常有类似s_1.txt、s_2.txt、s...
    99+
    2023-07-02
  • 织梦DedeCMS后台文件列表按文件名排序的方法简介
    织梦Dedecms系统的后台文件, 默认的排序很乱, 不是按名称, 也不是按时间, 如果目录内容很多的话, 很难找到自己想要的文件,实在是太不方便了, 就像下图的排列方式那样,找不到规律。   于是想让这些文件列表按...
    99+
    2022-06-12
    织梦 DedeCMS 文件列表 排序
  • VB.NET中怎么实现自动排序
    VB.NET中怎么实现自动排序,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在VB.NET中,面对大量相同控件的整齐排列时,虽可在设计时排列好,但难免在调试中不小心移动,或...
    99+
    2023-06-17
  • VB.NET中怎么实现冒泡排序
    今天就跟大家聊聊有关VB.NET中怎么实现冒泡排序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。VB.NET冒泡排序相关代码示例:Public Sub Bubbl...
    99+
    2023-06-17
  • 怎样在XP系统中按姓氏笔画排列文件名
    本篇文章给大家分享的是有关怎样在XP系统中按姓氏笔画排列文件名,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在“控制面板”中的“日期、时间、语言和区域设置”类别中选择“区域和语...
    99+
    2023-06-14
  • 在Linux系统上怎么按大小排序列出文件
    这篇文章给大家分享的是有关在Linux系统上怎么按大小排序列出文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1. 前言我们将介绍一些有用的ls命令选项,它们可以列出某个目录中的所有文件,并在Lin...
    99+
    2023-06-15
  • mysql中怎么按照特定顺序排序
    mysql中怎么按照特定顺序排序,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 Mysql查询IN,并按照特定顺序...
    99+
    2022-10-18
  • Linux怎么按照文件名模糊查找文件
    这篇文章主要讲解了“Linux怎么按照文件名模糊查找文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux怎么按照文件名模糊查找文件”吧!fnmatch int f...
    99+
    2023-06-28
  • 怎么用Python按顺序读取文件夹中文件
    本篇内容介绍了“怎么用Python按顺序读取文件夹中文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们有时候会读取一个文件夹中的所有的文...
    99+
    2023-06-30
  • 如何在XP系统中按姓氏笔画排列文件名
    在“控制面板”中的“日期、时间、语言和区域设置”类别中选择“区域和语言选项”,在打开的“区域和语言选项”对话框中选择&ldq...
    99+
    2023-06-01
    XP 排名 排列 姓氏笔画 文件
  • Java中怎么对HashMap按键值排序
    本篇文章给大家分享的是有关Java中怎么对HashMap按键值排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. HashMap存储每对键和值作为一个Entry<K,...
    99+
    2023-06-17
  • VB.NET中怎么读写文本文件
    本篇文章为大家展示了VB.NET中怎么读写文本文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。为了把text保存到文件,创建一个基于FileStream的StreamReader对象,然后调用Wr...
    99+
    2023-06-17
  • VB.NET中怎么操作文本文件
    今天就跟大家聊聊有关VB.NET中怎么操作文本文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在.NET里的System.IO.File和System.IO.FileInfo里的O...
    99+
    2023-06-17
  • Linux du命令怎么查看文件夹大小并按降序排列
    本篇内容主要讲解“Linux du命令怎么查看文件夹大小并按降序排列”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux du命令怎么查看文件夹大小并按降序排列”吧! df -lh du -...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作