在delphi中,要在interface部分声明过程,应将声明写在什么位置?

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:43:31
unit paixu;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Edtdata: TEdit;
input: TButton;
Listdata: TListBox;
sort: TButton;
Labresult: TLabel;
procedure inputClick(Sender: TObject);
procedure sortClick(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
type
queue=array[1..10]of integer;
procedure sort1(var queue1:queue;n:integer);
procedure swap(var x,y:integer);

var
Form1: TForm1;
i:integer;
dataarray:queue;

能不能帮我看一下错在哪里,怎么改。

去掉type后,提示[Error] paixu.pas(32): Unsatisfied forward or external declaration: 'sort1'。

首先要去掉type后,
提示[Error] paixu.pas(32): Unsatisfied forward or external declaration: 'sort1'

是由于你在implementation中没有过程的实现,即该过程的具体代码

如果过程要执行的操作只适用于Form1的话,我建议将过程定义到TForm1中的private中。这样符合面向对象的观点

Type关键字的后面,如:
Type
TForm1:TForm
...
end;

procedure YourProc(a: integer);

有的对象定义得比较长:如TForm1的,注意不要写在那里面,不然就弄成TForm1的过程了。

你用了两个Type,Type只用一次就行了,把第二个去掉就行了。
//type<==这个去掉
queue=array[1..10]of integer;
procedure sort1(var queue1:queue;n:integer);
procedure swap(var x,y:integer);