鱼C论坛

 找回密码
 立即注册
查看: 6490|回复: 28

Delphi Memo 操作慢

[复制链接]
发表于 2013-12-28 11:07:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有几M 东西 粘帖进 Memo组件里面去 好慢啊


还有 使用Memo1.Text:=String;

赋值大文本 更慢! 无奈了 求大神解决

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-12-28 11:18:50 | 显示全部楼层
比易语言的 文本框组件还慢~~~

不是应该比那东西快吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 13:51:42 | 显示全部楼层
本帖最后由 comeheres 于 2013-12-28 13:56 编辑

只能说他们是不同的控件,实现的代码不同而已,这跟是什么语言都没关系……

你可以试试用delphi的RichEdit,使用前先设置个最大的行数,不然最多只能加载64KB的内容。
例如:
RichEdit1.MaxLength := $7FFFFFF0;

不过RichEdit不支持右键菜单,可以用ctrl+v粘贴试试,绝对比memo快很多。

你这是要写什么东西,还要用Memo1.Text:=String赋值大文本?如果是大的文本文件,直接一个loadfromfile就行了,同时为了防止在加载中界面频繁刷新,可以这样写:

Memo1.Lines.BeginUpdate;
Memo1.Lines.LoadFromFile('文件地址');
Memo1.Lines.EndUpdate;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 13:55:21 | 显示全部楼层
如果只是文本处理,用Tstringlist就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 14:28:53 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 14:41:05 | 显示全部楼层
创业中的屌丝 发表于 2013-12-28 14:28
文本处理 然后需要显示给用户看~~

.......几兆的文本,用memo看?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 14:42:50 | 显示全部楼层
创业中的屌丝 发表于 2013-12-28 14:28
文本处理 然后需要显示给用户看~~

文本是txt吗?还是其他格式的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 14:49:45 | 显示全部楼层
comeheres 发表于 2013-12-28 14:42
文本是txt吗?还是其他格式的?

是Txt              复制进去 比易语言慢  
DELPHI 的 string 操作快 比易语言快很多

但是  我这里实际操作这文本   string操作和 复制进文本框的时间 统计  易语言还快一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 14:50:16 | 显示全部楼层
所以咨询下 有没有其他组件 比较快赋值的!?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 14:57:41 | 显示全部楼层
创业中的屌丝 发表于 2013-12-28 14:49
是Txt              复制进去 比易语言慢  
DELPHI 的 string 操作快 比易语言快很多

是txt的话,直接从文件加载啊,为何要复制粘贴?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 15:00:37 | 显示全部楼层
创业中的屌丝 发表于 2013-12-28 14:50
所以咨询下 有没有其他组件 比较快赋值的!?

你刚学吗?用memo1.lines.loadfromfile('C:\1.TXT'); 这样直接把C盘目录下的1.txt文件内容导入到memo了,为何还要去打开txt,然后复制一下,再粘贴一下呢。

如果嫌弃打开文件时找路径麻烦,直接来个拖拽,把txt文件拖到memo上直接加载,不是更好吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 15:04:41 | 显示全部楼层
comeheres 发表于 2013-12-28 15:00
你刚学吗?用memo1.lines.loadfromfile('C:\1.TXT'); 这样直接把C盘目录下的1.txt文件内容导入到memo了, ...

用户需求  手动复制!  

并且第二个需求是  正则筛选所有 \d{2}, 的然后赋值到 string    我看了下   string 操作很快就完成了

就是把string  到 Memo1.Text 的时候  很慢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 15:09:55 | 显示全部楼层
创业中的屌丝 发表于 2013-12-28 15:04
用户需求  手动复制!  

并且第二个需求是  正则筛选所有 \d{2}, 的然后赋值到 string    我看了下    ...

不要用string,用stringlist……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 15:26:31 | 显示全部楼层
创业中的屌丝 发表于 2013-12-28 14:50
所以咨询下 有没有其他组件 比较快赋值的!?

嫌弃粘贴慢,用RichEdit就行了,右键菜单用PopupMenu来实现,需要什么功能,自己写代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 17:34:35 | 显示全部楼层
comeheres 发表于 2013-12-28 15:26
嫌弃粘贴慢,用RichEdit就行了,右键菜单用PopupMenu来实现,需要什么功能,自己写代码

:lol:  这速度 秒射啊~~~     太快了~~~

只是不能支持双击事件~~~   :sweat:  想搞双击清空的功能~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 17:36:19 | 显示全部楼层
创业中的屌丝 发表于 2013-12-28 17:34
这速度 秒射啊~~~     太快了~~~

只是不能支持双击事件~~~     想搞双击清空的功能~~~

RichEdit有双击事件的,OnDblClick就是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 17:38:01 | 显示全部楼层
comeheres 发表于 2013-12-28 17:36
RichEdit有双击事件的,OnDblClick就是

QQ截图20131228173727.jpg 2.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 17:38:42 | 显示全部楼层
老大 请看 真心木有~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-28 17:45:47 | 显示全部楼层
comeheres 发表于 2013-12-28 17:36
RichEdit有双击事件的,OnDblClick就是

是我版本原因吗? RichEdit 没有OnDbClick事件?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-28 17:48:28 | 显示全部楼层
创业中的屌丝 发表于 2013-12-28 17:45
是我版本原因吗? RichEdit 没有OnDbClick事件?

可能吧,我用的是XE2{:2_26:}

QQ拼音截图未命名.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-6 14:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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