求教! 这个问题实在是不懂! 望高手教教我!分不是问题!

chezha 2002-11-08 10:55:31
我学Delphi不久,最近照着书上的列子作了个文本编辑器 ,可是发现我的文本编辑器不能通过用 命令行 来打开文件, 就是不能用类似 “NotePad.exe aa.txt” 这样的命令行来打开aa.txt文件。这是怎么回事呀?? 我把它覆盖了Windows下的NotePad.exe程序,还是不行,望高手指教!!!!!
...全文
177 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chezha 2002-11-10
  • 打赏
  • 举报
回复
感谢: yang6130(月明@沧海)

我把它编译成功了!

procedure TForm1.FormCreate(Sender: TObject);
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;
chougoushi 2002-11-09
  • 打赏
  • 举报
回复
to chezha (我爱DelphI) :
我是个初学者,也在试着写一个记事本,能把你的代码发给我看一下吗?
我的e_mail:studiobuyi@sina.com
Linux2001 2002-11-09
  • 打赏
  • 举报
回复
没有命令行处理代码当然不行了
yang6130 2002-11-09
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);

var
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;
firetoucher 2002-11-09
  • 打赏
  • 举报
回复
up
你需要访问ParamStr数组
blucecat 2002-11-08
  • 打赏
  • 举报
回复
回复人: greencoding(绿色代码) ( ) 信誉:100 2002-7-17 1:30:55 得分:95



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;





chechy 2002-11-08
  • 打赏
  • 举报
回复
因为你必须让你的程序接收命令参数啊。
命令参数可以通过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;
内容概要:本文系统梳理了多个科研领域的前沿研究与技术实现,重点涵盖FDTD方法中的完美匹配层(PML)研究,以及Matlab/Simulink在电磁、电力、控制、通信、信号处理、图像处理、路径规划、能源系统优化等领域的仿真与算法实现。文中列举了大量基于Matlab和Python的科研案例,如风电功率预测、负荷预测、无人机三维路径规划、电池系统故障诊断、雷达模拟、通信编码、微电网优化调度等,并强调结合智能优化算法(如粒子群、遗传算法、深度学习等)提升系统性能。同时,提供了丰富的代码资源与仿真模型,涵盖永磁同步电机控制、逆变器设计、多智能体任务配、虚拟电厂调度等复杂系统,助力科研人员快速开展复现实验与创新研究。; 适合人群:具备一定编程基础,熟悉Matlab/Python工具,从事电气工程、自动化、通信、人工智能、新能源、控制科学等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并实现FDTD仿真中的PML边界条件以有效抑制数值反射;② 掌握Matlab/Simulink在多物理场建模、控制系统设计与优化算法中的综合应用;③ 借助提供的代码资源完成科研复现、课程设计、竞赛项目或工程原型开发; 阅读建议:此资源以科研实战为导向,不仅提供理论方法,更强调代码实现与仿真验证。建议读者结合自身研究方向,按目录顺序查阅相关模块,下载配套代码进行调试与二次开发,以达到学以致用、融会贯通的目的。

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧