我学Delphi不久,最近照着书上的列子作了个文本编辑器 ,可是发现我的文本编辑器不能通过用 命令行 来打开文件, 就是不能用类似 “NotePad.exe aa.txt” 这样的命令行来打开aa.txt文件。这是怎么回事呀?? 我把它覆盖了Windows下的NotePad.exe程序,还是不行,望高手指教!!!!!
解决方案 »
- 请问怎么样让托盘图标一闪一闪的,就像qq来消息时那样?
- 怎样才能在DBGrid中,键入回车进行表格间跳转?
- 有关DWord类型,小弟不才啊
- 新手提问:创建自定义函数
- 谁知道ERWIN4.0乱码问题,在线等待!答对即送100分
- 请教高手,解决OFFICE的无缝连接问题!
- delphi和c++builder在数据库方面我觉得差不多
- 请教大虾:表单设计时,如何让菜单下弹出的表单在主表单的客户区内?
- 有《delphi5 开发人员指南》再买《delphi6 开发人员指南》是否是重复投资不值?
- 如何在edit中让字符向右靠齐
- 谁有电信工作的经验???
- 在线等待:TListBox在Win98下是否最多只能显示大约3万行?这样突破这个上限?
命令参数可以通过ParamStr获得。
procedure TForm1.FormCreate(Sender: TObject);var
i: Integer;
for i := 1 to ParamCount do
begin
if LowerCase(ParamStr(i)) = 'beep' then
Beep
else if LowerCase(ParamStr(i)) = 'exit' then
Application.Terminate;
end;
end;
1. 取得命令列参数的个数: ParamCount 函数
2. 呼叫 ParamStr(0), 传回执行档的档名(含路径)
3. 呼叫 ParamStr(n), 传回第n个参数的内容
例子:
procedure TForm1.FormCreate(Sender: TObject);
var
ix: integer;
begin
Memo1.Lines.Clear;
if ParamCount = 0 then
Memo1.Lines.Add('??统??.')
else
begin
Memo1.Lines.Add('档名:' + ParamStr(0));
for ix := 1 to ParamCount do
Memo1.Lines.Add(ParamStr(ix));
end;
end;
i: Integer;
if paramCount>0 then//先检测有带参数,ParamStr(0)就是程序名
for i := 1 to ParamCount do
begin
if pos('.txt',LowerCase(ParamStr(i)))>0 then//如果是文本文件就打开
begin
Memo1.loadfromfile(Paramstr(i);//
break;
end;
end;
end;
我是个初学者,也在试着写一个记事本,能把你的代码发给我看一下吗?
我的e_mail:[email protected]
var
i: Integer;
begin
if ParamCount>0 then //先检测有无带参数,ParamStr(0)就是程序名本身
for i := 1 to ParamCount do
begin
if (Pos('.txt',LowerCase(ParamStr(i)))>0) or //如果是.TXT文件就打开
(Pos('.pas',LowerCase(ParamStr(i)))>0) or //如果是.PAS文件就打开
(Pos('.bat',LowerCase(ParamStr(i)))>0) or //如果是.BAT文件就打开
(Pos('.log',LowerCase(ParamStr(i)))>0) or //如果是.LOG文件就打开
(Pos('.diz',LowerCase(ParamStr(i)))>0) or //如果是.DIZ文件就打开
(Pos('.ini',LowerCase(ParamStr(i)))>0) or //如果是.INI文件就打开
(Pos('.inf',LowerCase(ParamStr(i)))>0) or //如果是.INF文件就打开
(Pos('.htm',LowerCase(ParamStr(i)))>0) or //如果是.HTM文件就打开
(Pos('.html',LowerCase(ParamStr(i)))>0) or//如果是.HTML文件就打开
(Pos('.asm',LowerCase(ParamStr(i)))>0) or //如果是.ASM文件就打开
(Pos('.cpp',LowerCase(ParamStr(i)))>0) or //如果是.CPP文件就打开
(Pos('.c',LowerCase(ParamStr(i)))>0) or //如果是.C文件就打开
(Pos('.h',LowerCase(ParamStr(i)))>0) //如果是.H文件就打开
then
begin
FlatMemo1.Lines.LoadFromFile(Paramstr(i));
Break;
end;
end;
end;