線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1116
推到 Plurk!
推到 Facebook!

宣告函數的問題

尚未結案
Julien
一般會員


發表:36
回覆:28
積分:12
註冊:2002-11-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-04 16:06:16 IP:59.120.xxx.xxx 未訂閱
之前以Delphi維護系統,最近半年我則是自用ANSI C 語法,來維護工程繪圖軟體的程式.遇到了個函數宣告的問題. >若 >跟 > ================================== [宣告區]
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-04 16:48:25 IP:61.70.xxx.xxx 未訂閱
1.Delphi 在宣告區,使用的引數都有編寫在()裡面,C語言可以不用,請問這個不同的地方在哪呢? C也要吧...    2.若Delphi也可以不用在()裡編寫引數,又是怎麼回事呢? 不太確定您問的這問題...    跟JAVA探討一些"函數覆寫"等等的話題有相互關係嗎? 沒關係...    以下為用法,您參考參考. 不是很確定你現在的問題是什麼,是要把C轉Delphi還是Delphi轉C,請再把問題描述清楚一些.
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, ComCtrls, ShellCtrls, FileCtrl;    type
  TForm1 = class(TForm)
    Button1: TButton;
    DBGrid1: TDBGrid;
    procedure Button2Click(Sender: TObject);
  private
   procedure test2(s:string);
  public
  end;    var
  Form1: TForm1;    implementation    {$R *.dfm}    procedure test(s:string);
begin
end;    function test1(s:string):string;
begin
result:=s;
end;    procedure TForm1.test2(s:string);
begin
showmessage(s);
end;    function test3():string;
begin
end;    procedure TForm1.Button2Click(Sender: TObject);
var
 s:string;
begin
test('test');
s:=test1('1234');
test2('1234df');
test3;//無引數不用括號
end;    end.
發表人 - supman 於 2005/07/04 16:51:06
Julien
一般會員


發表:36
回覆:28
積分:12
註冊:2002-11-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-05 14:28:58 IP:59.120.xxx.xxx 未訂閱
我並無需改寫程式,只是有遇到很多如以下寫法的程式碼,才疑雲滿佈地來請教 ================================================ [ > > [
yhchu
一般會員


發表:2
回覆:70
積分:24
註冊:2004-01-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-07 18:29:44 IP:220.130.xxx.xxx 未訂閱
C++ 的引數宣告只會更嚴謹。你之所以看到像這樣的 code    
[SubRoutine宣告區]
//這個空白括號,對只寫過Delphi的人來說,實在令人費解
Private void dragComponent_rotate(); //    [SubRoutine程式]
Private void dragComponent_rotate
(
Dpoint3d *pt,
int view,
int drawMode
)
{.......}
應該是因為 function overloading 的關係。也就是說其實也有 private void dragComponent_rotate(Dpoint3d *pt, int view, int drawMode) 的函數宣告,也有 private void dragComponent_rotate() 的函數宣告,C 編譯器會依據引用時的參數數目及型態決定呼叫的是哪一個。
系統時間:2024-06-02 12:01:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!