Anda di halaman 1dari 2

Procedimentos, Funes e Mtodos

As aes de um objeto devem ser definidas como mtodos. Quando a ao no pertence a um objeto, como uma transformao de tipo, essa ao deve ser implementada em forma de procedimentos e/ou funes.

Procedimentos
Procedimentos so sub-rotinas, que realizam uma tarefa e no retornam um valor. A declarao de um procedimento feita na seo interface e a definio, na seo implementation. Ao chamar o identificador do procedimento, com os parmetros necessrios, esse procedimento ser executado. Veja abaixo o exemplo de uma unit com a implementao um procedimento. [code] unit Tools; interface procedure ErrorMsg(const Msg: string); implementation uses Forms, Windows; procedure ErrorMsg(const Msg: string); begin Application.MessageBox(PChar(Msg), \'Operao invlida\', MB_ICONERROR); end; end. [/code]

Funes
Funes so muito semelhantes a procedimentos a nica diferena que as funes retornam um valor. O tipo do valor de retorno deve ser informado no cabealho da funo. Na implementao da funo deve-se atribuir o valor de retorno palavra reservada Result ou ao identificador da funo. Pode-se ento usar a funo em expresses, atribuies, como parmetros para outras funes, em qualquer lugar onde o seu valor possa ser usado. [code] function Average(A, B: Double): Double; begin Result := (A + B) / 2; end; [/code]

Mtodos
Mtodos so funes ou procedimentos que pertencem a alguma classe, passando a fazer parte de qualquer objeto dessa classe. Na implementao de um mtodo precisamos indicar qual a classe qual ele pertence. Para chamar um mtodo em algum lugar no pertencente sua classe, como procedimentos, funes ou mtodos de outras classes, deve ser indicado o objeto que deve executar o mtodo. Os mtodos usam os mesmos nveis de encapsulamento dos atributos. [code] type TFrmMsg = class(TForm) LblMsg: TLabel;

BtnOk: TButton; BtnCancelar: TButton; ImgMsg: TImage; public procedure ShowMsg(const Msg: string); end; procedure TFormMsg.ShowMsg(const Msg: string); begin LblMsg.Caption := Msg; ShowModal; end; [/code]

Parmetros
Existem trs tipos de passagem de parmetros, que devem ser indicados na declarao da funo ou procedimento. Parmetros de tipos diferentes de vem ser separados por ponto e vrgula. function MultiStr(const S: string; N: Double; var Erro: Integer): string; Quando no indicado o tipo de passagem, passado o valor do parmetro, como constante. Ao usar a palavra-chave var, no ser enviado o valor do parmetro e sim uma referncia a ele, tornando possvel mudar o valor do parmetro no cdigo do procedimento. Como alternativa voc pode passar um parmetro por referncia constante, para isso use a palavra const antes da declarao do parmetro.

Espero que te ajude. Abraos

Anda mungkin juga menyukai