CnPack Forum


 
Subject: 如何控制代码编辑器自动存盘
chenxinyu
新警察
Rank: 1



UID 21861
Digest Posts 0
Credits 24
Posts 8
点点分 24
Reading Access 10
Registered 2007-8-1
Status Offline
Post at 2007-10-5 17:51  Profile | Blog | P.M. 
如何控制代码编辑器自动存盘

在代码编辑器中按热键,先保存单元文件,然后再进行一系列操作来改写代码编辑器中的内容,存盘操作我用的是下面的语句:
(BorlandIDEServices as IOTAActionServices).SaveFile(Context.EditBuffer.FileName);
但是系统要弹出一个确认对话框,如何不弹出确认对话框而直接存盘?
或者,如何获得当前操作的代码编辑器中的所有文本内容,我是先存文件,然后读取到一个Memo中进行处理,然后再写回去,感觉有点钝,最好的方法是什么呢?
获得代码编辑器中某一行的信息,用的是EditBuffer.EditPosition.Move先移动到某一行的某一列,然后用EditBuffer.EditPosition.Read(i)读取长度为I的字符串,感觉这样操作简直太死板了,感觉整个文本应该是一个Strings对象才符合Delphi 的一贯风格,可是我找来找去都找不到这方面的属性,郁闷,请高人给我指点一条明路,谢谢!
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-10-5 19:05  Profile | Blog | P.M. 
第一个问题,请参考CnWizards中的代码,cnwizards\Source\SrcEditorEnhance\CnSrcEditorMisc.pas中的CnSrcEditorMisc.AutoSaveOnTimer函数。

获得当前操作的代码编辑器中的所有文本内容,请参考
function CnOtaGetCurrentEditorSource: string;
{* 取得当前编辑器源代码}

以及function CnOtaGetLineText

有关获得CnWizards源码的方法请参考www.cnpack.org的CVS使用说明。
不明白的地方再讨论。
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6838
Posts 3591
点点分 6838
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2007-10-5 19:12  Profile | Blog | P.M. 
忘记说了,上述后两个函数在cnwizards\Source\Utils\CnWizUtils.pas中。
Top
chenxinyu
新警察
Rank: 1



UID 21861
Digest Posts 0
Credits 24
Posts 8
点点分 24
Reading Access 10
Registered 2007-8-1
Status Offline
Post at 2007-10-5 20:17  Profile | Blog | P.M. 
我查看了你们的代码,又试验了一下,最后用下面这句解决了第一个问题。
(BorlandIDEServices as IOTAModuleServices).SaveAll;
Top
chenxinyu
新警察
Rank: 1



UID 21861
Digest Posts 0
Credits 24
Posts 8
点点分 24
Reading Access 10
Registered 2007-8-1
Status Offline
Post at 2007-10-5 21:48  Profile | Blog | P.M. 
谢谢管理员,看了CnWizards的源代码以后,已经知道该怎么来处理了,非常感谢!
Top
 




All times are GMT++8, the time now is 2024-11-23 18:29

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.008616 second(s), 9 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP