会员登录 用户名: 密码: 登录 新会员注册 [找回密码]
当前位置:编程论坛 >> C/S程序开发专区 >> Delphi编程论坛 >> 这些代码要出现在库单元里的什么位置才正确?
首页
  发表一个新主题  发表一个新投票  回复主题 您是本帖的第 527 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
 * 贴子主题:这些代码要出现在库单元里的什么位置才正确? 悬赏分30 [已结帖] 报告本帖给版主  显示可打印的版本  把本贴打包邮递  把本贴加入论坛收藏夹  发送本页面给朋友  把本贴加入IE收藏夹 
 lfkm 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:15
  专家分:20
  提问帖:8/6
  回答帖:2
  总帖数:26
  经验值:119
  注 册:2008-4-19
给lfkm发送一个短消息 把lfkm加入好友 查看lfkm的个人资料 搜索lfkm在Delphi编程论坛的所有贴子 引用回复这个贴子 回复这个贴子楼主

发贴心情 这些代码要出现在库单元里的什么位置才正确?

做为新手来说.这可是个难道.请各位高手帮帮忙,能不能让它们对号入座,  2 里面的过程定义和TYPE、VAR、BEGIN。。END等这些要在 1 里哪个位置出现才不出编译错误?(先不管2里的是不是完整的程序)
这是库单元:-------------(用1来代表吧)
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

这是一些代码:---------(用2来代表吧)
function   LocalIP:string;   
  type   
          TaPInAddr   =   array   [0..10]   of   PInAddr;   
          PaPInAddr   =   ^TaPInAddr;   
  var   
          phe     :   PHostEnt;   
          pptr   :   PaPInAddr;   
          Buffer   :   array   [0..63]   of   char;   
          I         :   Integer;   
          GInitData             :   TWSADATA;   
    
  begin   
          WSAStartup($101,   GInitData);   
          Result   :=   '';   
          GetHostName(Buffer,   SizeOf(Buffer));   
          phe   :=GetHostByName(buffer);   
          if   phe   =   nil   then   Exit;   
          pptr   :=   PaPInAddr(Phe^.h_addr_list);   
          I   :=   0;   
          while   pptr^[I]   <>   nil   do   begin   
              result:=StrPas(inet_ntoa(pptr^[I]^));   
              Inc(I);   
          end;   
          WSACleanup;   
  end;


临渊羡鱼,不如退而结网.

发帖:2008-5-11 13:43:00
  鲜花(0)  鸡蛋(0)
 crazypig 帅哥哟,离线,有人找我吗?
  
  
  头 衔:默默无闻
  等 级:版主
  积 分:5668
  专家分:2897
  提问帖:4/4
  回答帖:298
  总帖数:343
  经验值:528
  注 册:2007-12-6
给crazypig发送一个短消息 把crazypig加入好友 查看crazypig的个人资料 搜索crazypig在Delphi编程论坛的所有贴子  引用回复这个贴子 回复这个贴子2

发贴心情 

lz看看这篇文章吧,有关单元文件结构的介绍。
http://hi.baidu.com/lingyin55/blog/item/dacd91dd2a80b8dd8d1029d0.html

有意义就是好好活,好好活就是做很多很多有意义的事。
我的博客,欢迎留言交流:http://hi.baidu.com/lingyin55

发帖:2008-5-11 16:25:00
 lfkm 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:15
  专家分:20
  提问帖:8/6
  回答帖:2
  总帖数:26
  经验值:119
  注 册:2008-4-19
给lfkm发送一个短消息 把lfkm加入好友 查看lfkm的个人资料 搜索lfkm在Delphi编程论坛的所有贴子 引用回复这个贴子 回复这个贴子3

发贴心情 

这些结构我也有,看了几遍。还是不明白怎么放它们。也许我是偏向操作型而不是理论型的吧。所以还是来点实际操作才能明白。

临渊羡鱼,不如退而结网.

发帖:2008-5-11 22:01:00
 若惜 美女呀,离线,快来找我吧!狮子座1984-8-13
  
  
  头 衔:好好活着
  等 级:贵宾
  积 分:8989
  专家分:4328
  提问帖:14/13
  回答帖:650
  总帖数:1004
  经验值:1536
  注 册:2007-7-17
给若惜发送一个短消息 把若惜加入好友 查看若惜的个人资料 搜索若惜在Delphi编程论坛的所有贴子  访问若惜的主页 引用回复这个贴子 回复这个贴子4

发贴心情 

var 是声明
 procedure  form.fun1
var

  begin
  
  end

大概就是这样子了呵呵


封沉往事

http://luxfhappy.blog.163.com/blog

http://memory_of_love.51.com

发帖:2008-5-12 8:23:00
 Godfear 帅哥哟,离线,有人找我吗?
  
  
  等 级:论坛游侠
  积 分:2309
  专家分:1317
  提问帖:18/14
  回答帖:175
  总帖数:295
  经验值:472
  注 册:2006-11-2
给Godfear发送一个短消息 把Godfear加入好友 查看Godfear的个人资料 搜索Godfear在Delphi编程论坛的所有贴子 引用回复这个贴子 回复这个贴子5

发贴心情 

操作型?自己多写代码!

学学Service,看看XML

发帖:2008-5-12 9:06:00
 lfkm 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:15
  专家分:20
  提问帖:8/6
  回答帖:2
  总帖数:26
  经验值:119
  注 册:2008-4-19
给lfkm发送一个短消息 把lfkm加入好友 查看lfkm的个人资料 搜索lfkm在Delphi编程论坛的所有贴子 引用回复这个贴子 回复这个贴子6

发贴心情 

连这些基础的都搞不明白怎么写码呀。
DELPHI不只是会在组件里写就完了吧。而组件里也不能什么都可以写的呀。我们还要在组件外定义,在组件内才能使用吧。现在相信很多新手对组件里写代码实现功能没多大阻碍,反而是出了组件外怎么办。
我看了几本书都是只简单的说说单元结构,而没有一二个例子让人看明白的。

临渊羡鱼,不如退而结网.

发帖:2008-5-12 12:19:00
 苦寒 帅哥哟,离线,有人找我吗?
  
  
  等 级:论坛游民
  积 分:2631
  专家分:1434
  提问帖:0/0
  回答帖:167
  总帖数:178
  经验值:284
  注 册:2008-4-25
给苦寒发送一个短消息 把苦寒加入好友 查看苦寒的个人资料 搜索苦寒在Delphi编程论坛的所有贴子 引用回复这个贴子 回复这个贴子7

发贴心情 

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  function   LocalIP:string;   
implementation

{$R *.dfm}


function   LocalIP:string;   
  type   
          TaPInAddr   =   array   [0..10]   of   PInAddr;   
          PaPInAddr   =   ^TaPInAddr;   
  var   
          phe     :   PHostEnt;   
          pptr   :   PaPInAddr;   
          Buffer   :   array   [0..63]   of   char;   
          I         :   Integer;   
          GInitData             :   TWSADATA;   
    
  begin   
          WSAStartup($101,   GInitData);   
          Result   :=   '';   
          GetHostName(Buffer,   SizeOf(Buffer));   
          phe   :=GetHostByName(buffer);   
          if   phe   =   nil   then   Exit;   
          pptr   :=   PaPInAddr(Phe^.h_addr_list);   
          I   :=   0;   
          while   pptr^[I]   <>   nil   do   begin   
              result:=StrPas(inet_ntoa(pptr^[I]^));   
              Inc(I);   
          end;   
          WSACleanup;   
  end;


end.
你在函数中用到的一些其他单元文件必须要放到uses中,否则是不行的。


一生一死一悲欢
一冬一夏一苦寒

发帖:2008-5-12 12:57:00
 lfkm 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:15
  专家分:20
  提问帖:8/6
  回答帖:2
  总帖数:26
  经验值:119
  注 册:2008-4-19
给lfkm发送一个短消息 把lfkm加入好友 查看lfkm的个人资料 搜索lfkm在Delphi编程论坛的所有贴子 引用回复这个贴子 回复这个贴子8

发贴心情 

以下是引用[i]苦寒在2008-5-12 12:57:00[/i]的发言:
unit Unit1;
............
............
 {$R *.dfm}

 
 function   LocalIP:string;   
   type   
           TaPInAddr   =   array   [0..10]   of   PInAddr;   
           PaPInAddr   =   ^TaPInAddr;   
   var   
           phe     :   PHostEnt;   
           pptr   :   PaPInAddr;   
           Buffer   :   array   [0..63]   of   char;   
           I         :   Integer;   
           GInitData             :   TWSADATA;      
   begin   
................
...........................
   end;

 
 end.
 你在函数中用到的一些其他单元文件必须要放到uses中,否则是不行的。



如果我里面加个按钮的话。那形式是不是这样:
unit Unit1;
............
............
 {$R *.dfm}

 function   LocalIP:string;   
   type   
           TaPInAddr   =   array   [0..10]   of   PInAddr;   
           PaPInAddr   =   ^TaPInAddr;   
   var   
           phe     :   PHostEnt;   
           pptr   :   PaPInAddr;   
           Buffer   :   array   [0..63]   of   char;   
           I         :   Integer;   
           GInitData             :   TWSADATA;   
     
   begin   
.....................................
...........
   end;
procedure TForm1.Button1Click(Sender: TObject);-----加的按钮。
begin
.............................
end;
end.


[此贴子已经被作者于2008-5-12 17:12:16编辑过]

临渊羡鱼,不如退而结网.

发帖:2008-5-12 17:10:00

本主题贴数8,分页:[返回帖子列表] [上一页] [1] [下一页]

此主题已经结帖:

crazypig-5,苦寒-15,Godfear-5,若惜-5

 *快速回复:这些代码要出现在库单元里的什么位置才正确?  [ 回帖是一种美德 :) ]
会员账号 用户名    还没注册?    密码    忘记密码?
内容
  • HTML标签: 不可用
  • UBB标签: 可用
  • 贴图标签: 可用
  • 多媒体标签:可用
  • 表情字符转换:可用
  • 上传图片:不可用
  • 最多15KB
  • 点击表情图即可在帖子中加入相应的表情
                                
    邮件回复 显示签名   [Ctrl+Enter直接提交贴子]

    管理选项锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告