信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 5712|回复: 66
打印 上一主题 下一主题

[『VB.NET 图文教程』] vb.net排序文件名算法和实例操作教程

  [复制链接]

65

主题

176

帖子

1557

积分

积分
1557
跳转到指定楼层
宣传软件楼主
发表于 2016-11-19 16:23:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

软件教程首图:

软件教程分类:VB.NET 图文教程 

软件图文教程视频教程分类:软件图文教程 

软件教程难易程度:软件初级教程 

软件教程发布日期:2016-11-19

软件教程关键字:

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述


VB.NET编程语言的应用,帮助开发人员在一定程度上提高了程序开发效率。而且其应用范围比较广泛,使用技巧多样化。比如在对文件的操作上就能够体会到它的功能强大性。首先让我们一起来了解一下VB.NET文件名排序的相关算法。
输入 : a1,a2,a10,a001
我们知道,如果按照字符串比较,结果应该是 a001,a1,a10,a2,但我们期望的结果应该是a001,a1,a2,a10.
自己写了一个VB.NET文件名排序的算法,请参考,或者有更好的算法,请赐教
  • /*
  • Return Value Description
  • < 0 arg1 less than arg2
  • 0 arg1 equivalent to arg2>
  • 0 arg1 greater than arg2
  • */
  • 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 ch1 = *(lpText1+nText1IndexHandled);
  • TCHAR ch2 = *(lpText2+nText2IndexHandled);
  • if (isdigit(ch1)&&isdigit(ch2))
    // 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)ch1-(WORD)ch2);
  • 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文件名排序的相关算法就为大家介绍到这里。


unto一包有如此的宣传效果您不得不为之学习一番next爱喇叭网宣传软件全自动群发帖软件脚本
回复

使用道具 举报

65

主题

176

帖子

1557

积分

积分
1557
信息发布软件沙发
 楼主| 发表于 2016-11-19 16:24:22 | 只看该作者
文件多了我们找起来会很困难,我们现在来做一个关于VB.NET文件名排序的一个小案例,以后你的文件都会按一定的顺序排列,也加快你的查询速度。
VB.NET文件名排序案例:
输入 : a1,a2,a10,a001 。我们知道,如果按照字符串比较,结果应该是 a001,a1,a10,a2,但我们期望的结果应该是a001,a1,a2,a10.
自己写了一个VB.NET文件名排序算法,请参考,或者有更好的算法,请赐教
  • VB.NET code /*  
  • Return Value Description  
  • < 0  arg1 less than arg2  
  • 0  arg1 equivalent to arg2  
  • > 0  arg1 greater than arg2  
  • */  
  • 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 ch1 = *(lpText1+nText1IndexHandled);  
  • TCHAR ch2 = *(lpText2+nText2IndexHandled);  
  • if (isdigit(ch1)&&isdigit(ch2)) // 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)ch1-(WORD)ch2);  
  • 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;  
  • }


回复 支持 反对

使用道具 举报

65

主题

176

帖子

1557

积分

积分
1557
推广工具板凳
 楼主| 发表于 2016-11-19 16:25:03 | 只看该作者
七种常见的VB排序算法示例程序
加入了微秒级的计时器,各种不同算法的速度马上就能比较出来了,有的算法还真的是从没听说过,看也看不懂。

cmbSorts.AddItem "冒泡排序法"
cmbSorts.AddItem "插入排序法"
cmbSorts.AddItem "Bucket排序法"
cmbSorts.AddItem "选择排序法"
cmbSorts.AddItem "Shell排序法"
cmbSorts.AddItem "快速排序法"
cmbSorts.AddItem "Heap排序法
vb.net排序文件名算法和实例操作教程 b2b软件





回复 支持 反对

使用道具 举报

0

主题

640

帖子

632

积分

积分
632
软件定制开发地板
发表于 2016-11-28 13:53:46 | 只看该作者
信誉,值得好评!

回复 支持 反对

使用道具 举报

0

主题

2181

帖子

2

积分

积分
2
5#定制软件#
发表于 2016-11-29 01:31:58 | 只看该作者
强大,便捷高效,店家也热情,非常满意

回复 支持 反对

使用道具 举报

0

主题

648

帖子

677

积分

积分
677
6#定制软件#
发表于 2016-11-29 12:15:31 | 只看该作者
不了,还要一个个试,我晕!

回复 支持 反对

使用道具 举报

0

主题

600

帖子

598

积分

积分
598
7#定制软件#
发表于 2016-11-29 14:54:10 | 只看该作者
是我第二家店铺也是找他们公司弄的,售后不错非常好的,卖家值得选择的。至少我目前是比较满意的。O(∩_∩)O~,值

回复 支持 反对

使用道具 举报

0

主题

591

帖子

576

积分

积分
576
8#定制软件#
发表于 2016-11-29 23:54:06 | 只看该作者
格合理,耐心沟通修改,一步到位!!!

回复 支持 反对

使用道具 举报

0

主题

1009

帖子

1005

积分

积分
1005
9#定制软件#
发表于 2016-11-30 01:10:41 | 只看该作者
这个有点问题吧。

回复 支持 反对

使用道具 举报

0

主题

652

帖子

646

积分

积分
646
10#定制软件#
发表于 2016-11-30 04:51:13 | 只看该作者
很快效果也很完美,特别感谢技术加班帮忙制作!@!@~~客服沟通也很愉快,好多不明白的地方客服也都耐心解答,辛苦啦

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
信息发布软件苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合
信息发布软件苹果IOS系统找字OCR方法例子
苹果IOS系统找字OCR方法例子
信息发布软件AIWORK软件数组高级示例
AIWORK软件数组高级示例
信息发布软件AIWROK软件运算符封装库示例
AIWROK软件运算符封装库示例
信息发布软件AIWROK软件语法运行小示例
AIWROK软件语法运行小示例
信息发布软件AIWROK软件JS循环小示例
AIWROK软件JS循环小示例
信息发布软件AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法
信息发布软件AIWROK软件创建可暂停恢复的多线程任务
AIWROK软件创建可暂停恢复的多线程任务
信息发布软件AIWROK软件类型转换方法例子
AIWROK软件类型转换方法例子
信息发布软件AIWROK软件H5脚本执行与进度显示
AIWROK软件H5脚本执行与进度显示 .
信息发布软件AIWROK软件根据时间段执行异步任务支持多线程并行处理
AIWROK软件根据时间段执行异步任务支持多线程并行处理
信息发布软件H5自动开关执行脚本功能演示
H5自动开关执行脚本功能演示
信息发布软件AIWROK软件H5单选脚本运行示例
AIWROK软件H5单选脚本运行示例
信息发布软件H5任务脚本选择与执行中心
H5任务脚本选择与执行中心
信息发布软件H5里CheckBox控件演示
H5里CheckBox控件演示
信息发布软件AIWROK软件正则用法实际例子
AIWROK软件正则用法实际例子
信息发布软件AIWROK软件权限管理器实现
AIWROK软件权限管理器实现
信息发布软件AIWORK软件节点方法无碍示例子
AIWORK软件节点方法无碍示例子
信息发布软件JSON.stringify 和 JSON.parse 完整示例
JSON.stringify 和 JSON.parse 完整示例
信息发布软件AIWROK软件展示JavaScript各种语句标识符的用法
AIWROK软件展示JavaScript各种语句标识符的用法
信息发布软件JS巧妙地组合使用各种条件语句
JS巧妙地组合使用各种条件语句
信息发布软件AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
信息发布软件HID中文输入智能打字功能
HID中文输入智能打字功能
信息发布软件AIWROK软件对象工具函数库例子
AIWROK软件对象工具函数库例子
信息发布软件AIWROK软件H5交互演示黄色主题
AIWROK软件H5交互演示黄色主题
信息发布软件H5单按钮执行脚本示例
H5单按钮执行脚本示例
信息发布软件苹果H5界面完整调用脚本示例
苹果H5界面完整调用脚本示例
信息发布软件AIWROK软件平台设备信息全面检测工具例子
AIWROK软件平台设备信息全面检测工具例子
信息发布软件AIWROK创建和放大日志窗口并展示动态内容
AIWROK创建和放大日志窗口并展示动态内容
信息发布软件AIWROK软件device相关方法获取设备信息例子
AIWROK软件device相关方法获取设备信息例子[/backcolor]
信息发布软件数据库MySQL实时内容随机调用
数据库MySQL实时内容随机调用
信息发布软件AIWROK软件分享一个特效苹果H5页面
AIWROK软件分享一个特效苹果H5页面
信息发布软件数据库MYQ业务流程心跳程序启动
数据库MYQ业务流程心跳程序启动
信息发布软件数据库MySQL功能支持创建表插入中文数据查询删除功能例子
数据库MySQL功能支持创建表插入中文数据查询删除功能例子
信息发布软件AIWROK软件Zip 高级操作复杂示例
AIWROK软件Zip 高级操作复杂示例
信息发布软件AIWROK软件txt_文件读写方法小结
AIWROK软件txt_文件读写方法小结
信息发布软件AIWROK软件file文件操作方法小结
AIWROK软件file文件操作方法小结
信息发布软件AIWORK软件配置读写H5演示配套脚本
AIWORK软件配置读写H5演示配套脚本
信息发布软件AIWROK配置读写功能演示示例
AIWROK配置读写功能演示示例
信息发布软件AIWROK截图缓存工具
AIWROK截图缓存工具
信息发布软件AIWROK线程许可证工具
AIWROK线程许可证工具
信息发布软件整理了AIWROK环境下常用的Date对象和sleep对象方法
整理了AIWROK环境下常用的Date对象和sleep对象方法
信息发布软件FastUI界面普通用法
FastUI界面普通用法
信息发布软件FastUI界面类[window]方法小结
FastUI界面类[window]方法小结 方法 1:close(关闭指定窗口)方法 2:closeAll(关闭所有窗口)方法 3:loadUI(加载 UI 界面)方法 4:onClose(监听窗口关闭事件)方法 5:onLoad(监听窗口加载事件)方法 6:setFull(设置窗口全屏)方法 7:setHeight(设置窗口高度)方法 8:setHidden(隐藏窗口)方法 9:setLeft(设置窗口 X 轴坐标)方法 10:setTop(设置窗口 Y 轴坐标)方法 11:setVisable(显示隐藏的窗口)方
信息发布软件AIWROK软件按钮监听UI界面与事件监听功能演示
AIWROK软件按钮监听UI界面与事件监听功能演示.
信息发布软件AWIROK软件多选[uiCheckBox]方法小结
AWIROK软件多选方法小结 方法一:findByID 加载多选控件方法二:getAllChecked 获取所有选中项方法三:getAllSelect 获取所有选项方法四:getChecked 获取某个选项是否选中方法五:setChecked 设置某个选项是否选中方法六:setCheckeds 设置多个选项是否选中方法七:setHeight 设置高度
信息发布软件AIWROK日志演示开启日志显示 → 放大 → 关闭代码
AIWROK日志演示开启日志显示 → 放大 → 关闭代码
信息发布软件&#127983;AIWROK数组方法高级应用案例
🏯AIWROK数组方法高级应用案例
信息发布软件AIWROK软件日志悬浮窗简化版自动切换位置
AIWROK软件日志悬浮窗简化版自动切换位置
信息发布软件AIWROK软件String实例演示
AIWROK软件String实例演示
信息发布软件AIWROK软件S内置String类[String]方法小结
AIWROK软件S内置String类[String]方法小结 方法 1:charAt[/backcolor]方法 2:charCodeAt[/backcolor]方法 3:indexOf[/backcolor]方法 4:lastIndexOf[/backcolor]方法 5:length[/backcolor]方法 6:match[/backcolor]方法 7:replace[/backcolor]方法 8:replaceAll[/backcolor]方法 9:split[/backcolor]方法 10:startsWith[/backcolor]方法 11:substr[/backcolor]方法 12:substring[/backcolor]方法 13:trim[/backcol
信息发布软件AIWROK软件完整的WebSocket客户端示例
这段代码是一个完整的WebSocket客户端示例,用于连接到指定的WebSocket服务器并处理各种事件。具体来说,代码的作用如下: 定义服务器地址:首先定义了一个服务器的IP地址和端口号 var ip = "154.37.221.104:8886";。 创建WebSocket对象:尝试创建一个新的WebSocket对象 var ws = new WebSocket();。注意,这里的 new ws() 应该是 new WebSocket()。 添加事件监听器:代码中尝试为WebSocket对象添加事件监听器,但这里有一个错误。
信息发布软件AIWROK软件苹果系统中实现四种基本滑动操作
AIWROK软件苹果系统中实现四种基本滑动操作
信息发布软件hid的滑动没有百分比坐标滑动吗
hid的滑动没有百分比坐标滑动吗
信息发布软件单选控件[uiRadioButton]方法小结
单选控件方法小结 方法 1:加载单选控件[/backcolor]方法 2:获取选中项[/backcolor]方法 3:设置高度[/backcolor]方法 4:设置选中项[/backcolor]
信息发布软件AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
AIWROK软件无障碍触摸操作示例:点击、左右滑动、上下滑动实例
信息发布软件AIWROK软件安卓随机工具应用函数生成
AIWROK软件安卓随机工具应用函数生成
信息发布软件用在AIWORK软件代码中的实用符号分类整理2
用在AIWORK软件代码中的实用符号分类整理2 软件IDE用Emoji符号分类整理(含用途说明)一、表情与情感1. 微笑 [*]😀 笑脸(基础开心反馈,用于操作成功后的友好提示) [*]😃 笑脸大眼睛(强化开心情绪,用于重要任务完成后的积极反馈) [*]😄 笑脸和微笑的眼睛(温和友好的状态,用于日常交互中的正向回应) [*]😁 带着微笑的眼睛(轻松愉悦的反馈,用于轻度成功或趣味操作) [*]
信息发布软件AIWROK软件图像二值化的各种方法和应用场景
AIWROK软件图像二值化的各种方法和应用场景
信息发布软件AIWROK软件找图区分页面变化和卡死状态
AIWROK软件找图区分页面变化和卡死状态
信息发布软件AIWROK苹果系统Map 数据管理[map]小结
AIWROK苹果系统Map 数据管理[map]小结 方法一:add(添加键值对)[/backcolor]方法二:delete(删除指定键值对)[/backcolor]方法三:clear(清空所有键值对)[/backcolor]方法四:get(根据键获取值)[/backcolor]方法五:getAllValue(获取所有值)[/backcolor]方法六:toString(转换为字符串)[/backcolor]完整示例:
信息发布软件AIWROK软件用图找图示例templateMat方法
AIWROK软件用图找图示例templateMat方法
信息发布软件苹果JS代码运行时[selfRunTime]小结
苹果JS代码运行时[selfRunTime]小结 方法一:stop 停止运行[/backcolor]方法二:runOnUIThread ui 线程中运行函数[/backcolor]
信息发布软件苹果系统专用H5创建一个绿色文件
苹果系统专用H5创建一个绿色文件
信息发布软件AIWROK软件技术分享苹果IOS系统获取外部IP
AIWROK软件技术分享苹果IOS系统获取外部IP

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2026-1-29 10:50 , Processed in 0.376699 second(s), 53 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表