计事本(100分)

  • 主题发起人 主题发起人 gggyniriu
  • 开始时间 开始时间
G

gggyniriu

Unregistered / Unconfirmed
GUEST, unregistred user!
我是一个编程新手,我用Delphi编了一个简单的计事本,有打开和保存的功能,我想弄的是,当我打开一个已经保存的文本文档时,自动向文本框内填加文本,而不是再去单击打开按钮,
 
呵呵,没有太看懂,那你就打开已保存的文本文档时候接着再调用打开按钮的代码不就可以了吗?
 
看看delphi自带的例子,在
C:/Program Files/Borland/Delphi5/Demos/Doc/Textedit
 
你的意思是不是说把你的记事本设置为默认打开某类文件的工具,比如说.txt?
 
对,是啊,就像Windows自带的记事本一样,当打开一个记事本文件的时候,编辑区自动就会有上一次保存的内容
 
先谢谢大家了
 
放在注册表里面 然后读出来
 
谢谢大家
 
我感觉好像可以在窗体的create事件中加入什么代码
 
多人接受答案了。
 
我的问题还没有得到解决呢,请哪位好心人帮助啊
 
procedure RegisterFileType(cMyExt, cMyFileType, cMyDescription, ExeName: string;
IcoIndex: integer;
DoUpdate: boolean = false);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey(cMyExt, True);
//写入自定义文件后缀
Reg.WriteString('', cMyFileType);
Reg.CloseKey;
//写入自定义的文件类型
//格式为:HKEY_CLASSES_ROOT/cMyExt/(Default) = 'cMyFileType'

//下面为该文件类型创建关联
Reg.OpenKey(cMyFileType, True);
Reg.WriteString('', cMyDescription);
//写入文件类型的描述信息
Reg.CloseKey;

// 下面为自定义文件类型选择图标
// 加入键格式为 HKEY_CLASSES_ROOT/cMyFileType/DefaultIcon
///(Default) = 'Application Dir/Project1.exe,0'
Reg.OpenKey(cMyFileType + '/DefaultIcon', True);
Reg.WriteString('', ExeName + ',' + IntToStr(IcoIndex));
Reg.CloseKey;

// 下面注册在资源管理器中打开文件的程序
Reg.OpenKey(cMyFileType + '/Shell/Open', True);
Reg.WriteString('', 'Open');
Reg.CloseKey;

//格式:HKEY_CLASSES_ROOT/Project1.FileType/Shell/Open/Command
//(Default) = '"Application Dir/Project1.exe&quot
"%1"'
Reg.OpenKey(cMyFileType + '/Shell/Open/Command', True);
Reg.WriteString('', '"' + ExeName + '&quot
"%1"');
Reg.CloseKey;

//最后,让资源管理器实现我们加入的文件类型,只需调用SHChangeNotify即可
if DoUpdate then SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
finally
Reg.Free;
end;
end;

procedure RelationFile;
begin
RegisterFileType('.txt', '.txt', 'Txt 文件',
ExtractFilePath('你的软件.EXE', 0, true);
end;
 
非常感谢
 
后退
顶部