这个问题不懂死不瞑目(100分)

  • 主题发起人 主题发起人 的士
  • 开始时间 开始时间

的士

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序要监视剪贴板的内容,当剪贴板内容变化时,且是文本,就将剪贴时间和文本
保存在一个文件中(如Clipboard.dat),并将剪贴时间加入到TListBox中,
但我如何保存起来呢。
当点击TListbox中的一个项目后,又如何将对应时间剪贴的文本显示在TRichEdit中。
我不想用数据库(paradox,foxbase,access),因为加入数据库控件后,可执行文件太大了。
我做的是文本编辑器。
 
9X机制下可以考虑放到你指定的TEMP中
关于判断格式
基本的很常用 讨论和很多了
看看WINAPI,关于剪贴版格式的
支持自定义
 
这个问题不至于这么严重吧?
有N种解决方式,例如,将每一条记录定义为如下格式:

[自定义的头]
[时间]
[文本]
[自定义的尾巴]

全部写成文本格式,用stringlist来处理,再简单没有了
一条条写进去,读出来的时间自己判断一下
 
将自己的程序放在剪贴链中,随时响应剪贴信息的变化,这你都做到了,那还成问题?
 
最简单的
加入一个TTIMER控件,其INTERERVV设置为10,将原来剪贴板中的内容放在一个字符串变量中,
每一个TIMER周期都去检查一下剪贴板中的内容是否与该字符串变量相同,如果不同,你知道
该怎么办了? 关联一个文件可用ASSIGNFILE(),有的说用ASSIGN就行,但我在D5中通不过.
 
procedure ClipboardChanged(var message: TMessage); message WM_DRAWCLIPBOARD;

procedure TForm1.ClipboardChanged(var message: TMessage);
begin
if Clipboard.HasFormat(CF_TEXT) then begin
//在这儿保存你的文本吧!可以这样定义文本格式。
//Clipboard.AsText 就是你所需要的。
[剪贴时间1]
内容。。。。。
[剪贴时间2]
内容。。。。。
[剪贴时间3]
内容。。。。。
end;
end;
 
关键是这个文件格式我不懂得如何设计啊!
 
->关键是这个文件格式我不懂得如何设计啊!
自定义就可以了
 
关键是判定符
 
ini文件你会用吧,自己建立一个INI文件,然后以时间做主键,类似下图
[2000-2-17 23:22:00]
content='sdfalsd flasdkfjalsdkfjlasdfkjasdflkjasdfkljdsf '
[2000-2-17 23:22:12]
content='2kjlfaskl23kljlfjlksadfjadsf'
.......
读取和建立等操作不用我说了吧!这样的话你就不用担心格式的问题了。
 
only you 的方法很好
 
ini 的方法不錯,但時間一久,剪貼的東西一多,讀存檔時間便拉的很長!

所以還是推薦使用直接使用 String ,
不過這時會有個問題,當剪貼的字串內有判別字符,
那就不準了,所以,建議使用兩個檔案,
一個為總文本,一個為 index !
 
多人接受答案了。
 
后退
顶部