Delphi – 使用可选的VAR参数调用过程?
发布时间:2020-12-15 09:43:33 所属栏目:大数据 来源:网络整理
导读:Delphi 2010 – 我有一个例程,它接受一个字符串并处理它.有3种不同类型的处理,我可能需要任何组合,包括所有3种处理方式.我试图确定如何调用我的例程,但我尝试的一切都会导致问题.我想做的是调用这样的程序…… StringProcess(StartString1,VarProcess1,VarPr
Delphi 2010 – 我有一个例程,它接受一个字符串并处理它.有3种不同类型的处理,我可能需要任何组合,包括所有3种处理方式.我试图确定如何调用我的例程,但我尝试的一切都会导致问题.我想做的是调用这样的程序……
StringProcess(StartString1,VarProcess1,VarProcess2,VarProcess3); 但它可能很容易就是这个我只想要2个进程 StringProcess(StartString1,'',VarProcess3); 程序定义类似于 procedure StringProcess(StartString: string; var S1:String; var S2:string; var S3:string); 总而言之…如何定义我的过程以返回1到3个VAR变量? Delphi希望我总是传递3个变量,如果我不需要它,我只需要忽略它.有没有办法传递“不存在”的VAR参数,并根据需要忽略它们? 谢谢 解决方法
问题是,只要StringProcess rountine尝试修改这些值,就必须有变量来表示S1,S2和S3.毫无疑问,您不想经历为您不感兴趣的值声明变量的头痛问题.
要考虑的一个选项是将所有变量捆绑到记录结构中,如下所示: type TStringData = record S1,S2,S3: string; end; procedure StringProcess(StartString: string; var StringData: TStringData); 但是我会更进一步.我怀疑你并没有在StringProcess例程中使用S1,S2和S3的输入.这意味着它们也可能是参数.在这种情况下,我宁愿建议你写: function StringProcess(StartString: string): TStringData; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |