DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: fhc2004
今日帖子: 12
在线用户: 18
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 10:33:02
标题:
各位给看一下,进来看看,可以学到东西的 浏览:3433
加入我的收藏
楼主: procedure TFrmMain.NLayerManageClick(Sender: TObject);
begin
  if FrmLayerControl = Nil then
    Application.CreateForm(TFrmLayerControl, FrmLayerControl);
  FrmLayerControl.ShowModal;
end;
这里的这个窗体(FrmLayerControl) 等于nil是什么意思?后面的createform中的参数各代表什么,谢谢,还有就是application这个东西是怎么用的
----------------------------------------------
2222
作者:
男 pgh (踏雪) ★☆☆☆☆ -
普通会员
2004/2/3 11:24:13
1楼: 对于Delphi来说,每一个应用或库,都有一个application对象,即你正在写的应用本身,他可拥有一些窗体,如  Application.CreateForm(TfmtMain, fmtMain);即表示当前应用创建一个窗体,所创建的窗体类为TfmtMain,而窗体的实例就是fmtMain。
一般来说,对于从TObject继承下来的所有windows控件,其实例实际上是一个指针,如果在C++语言里,是要使用引用调用的。表示的是windows有没有为此实例分配内存空间,即所指向的内存是否为空,FrmLayerControl=nil即表表示还没有分配,这时调用实例的创建例程进行创建,分配相应的内存空间,初始化有关的环境变量。
----------------------------------------------
-
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 11:27:22
2楼: 谢谢楼上的兄弟了,
----------------------------------------------
2222
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 11:28:59
3楼: 另外在问一个问题,就是在toolbar空间中 
 for j := 0 to 2 do
    for i := 0 to NMapTool.Items[j].Count-1 do
    if NMapTool.Items[j].Items[i].Tag <> 0 then
       NMapTool.Items[j].Items[i].Checked := False;这里的tag代表的什么意思?
----------------------------------------------
2222
作者:
男 pgh (踏雪) ★☆☆☆☆ -
普通会员
2004/2/3 11:41:25
4楼: tag是Delphi留给程序员使用的一个整型数,Delphi不会使用这个属性,程序可根据自已的需要自由(就如自已定义的一个变量一样)使用它而不会造成错误。
----------------------------------------------
-
作者:
男 waterstone (waterstone) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 12:57:54
5楼: Tag 太有用了

第一个设计它的人一定是个艺术家!


----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 13:28:39
6楼: 又有个新问题,不知道delphi里是不是有个VarClear这个函数,我找了半天也没有找到这个是字定义的函数,我想应该是delphi带有的吧
----------------------------------------------
2222
作者:
男 pgh (踏雪) ★☆☆☆☆ -
普通会员
2004/2/3 13:49:39
7楼: VarClear(V: Variant);清除可变变量的值。
----------------------------------------------
-
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 14:03:39
8楼: TBlobField(ADOQueryFileData.FieldByName('Info')).SaveToFile(FileName);这个函数代表的意思是什么,谢谢各位的帮忙,刚接触delphi不久,所以问的问题是比较菜的,请不要见笑

----------------------------------------------
2222
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/2/3 14:09:13
9楼: ADOQueryFileData.FieldByName('Info')取得的是TField类型的值
用TBlobField(*)将之强转换为TBlodField类型
然后调用TBlobField的SaveToFile方法
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 14:21:32
10楼: 楼上的兄弟能不能把这个说的更清楚一点,就是这条语句的具体作用是什么?
----------------------------------------------
2222
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/2/3 14:26:30
11楼: 将ADOQueryFileData的Info字段内容保存到文件FileName中
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 14:47:50
12楼: 各位今天碰到的函数比较多 if FindFirst(Path, $00000020, sr) = 0 then
这个findfirst函数的第二个参数和第三个参数代表什么东西,我看函数大全里也没有介绍这两个参数

----------------------------------------------
2222
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/2/3 15:04:55
13楼: 第1个是要找的文件,如 C:\*.*
第2个是要找的文件的属性,如 faAnyFile,这里是直接用了常量值,是一样的
Sr一定是个TSearchRec类型的变量,要传递给FindFirst函数用的
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 pgh (踏雪) ★☆☆☆☆ -
普通会员
2004/2/3 15:07:49
14楼: 一般来说,要学会查找帮助,其实这些问题都可在帮助文档内找到,只有学会了快速查找帮助,才是真正的收获。
----------------------------------------------
-
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 15:13:11
14楼: 楼上的兄弟非常的感谢,不知道你的qq是你的图片上显示的那一个,另外你知道数据库方面的知识吗?

----------------------------------------------
2222
作者:
男 pgh (踏雪) ★☆☆☆☆ -
普通会员
2004/2/3 16:52:54
15楼: 我的qq:11370586,欢迎交流。
----------------------------------------------
-
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/2/3 17:27:04
16楼: 我的QQ是下面那个
不过我开QQ少
数据库的问题不要问我
问bios他们,一个比一个悍哦~
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 waterstone (waterstone) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 18:43:54
17楼: 明白了!
要善于使用从 DOS 0.1 时就已经发挥巨大作用的这个

 绝密武器


此帖子包含附件:
JPEG 图像
大小:4.1K
----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
男 waterstone (waterstone) ★☆☆☆☆ -
盒子活跃会员
2004/2/3 18:45:52
18楼: 一般人我不告诉他!

----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/4 9:49:56
19楼: 大家互相交流了,现在有一段小程序,大家看看这段程序的目的是什么?
procedure RegMapX(); //注册
var
  Reg: TRegistry;
begin
// 注册
  Reg:=Tregistry.Create ;
  Reg.RootKey :=HKEY_LOCAL_MACHINE;
  Reg.OpenKey ('SOFTWARE\Mapinfo\MapX\5.0',true);
  Reg.WriteString('GeoDictionary',ExeFilePath+'Maps\GeoDict.DCT');
  Reg.CloseKey;
  Reg.Destroy;
end;我想问一下这个注册完后,对我的程序能够造成什么样的影响,谢谢
----------------------------------------------
2222
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/4 10:05:37
20楼: 另外问个函数  TVarData(Empty).vType := varError;
  TVarData(Empty).vError := 2147614724; // DISP_E_PARAMNOTFOUND;
  TVarData(Nothing).VType := varDispatch;这个函数代表的是什么意思?
----------------------------------------------
2222
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/4 13:40:47
21楼: 哪个朋友对chart这个空间比较熟,我如何将这个空间和数据库连接起来
----------------------------------------------
2222
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/2/4 13:49:24
22楼: 19楼的无法看出他要干什么,目的很不明确!
20楼的:如果数据的类型是:错误的那么,赋予他错误号
  又比如:
    var

  V: Variant;
begin
  ...
  if TVarData(V).VType = varEmpty then ...;

  ...
  VarClear(V);

  TVarData(V).VType := varInteger;
  TVarData(V).VInteger := 1234567;
  ...

end;

21楼的不知道,还没用过!
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/4 16:29:30
23楼:      dm.ADOQueryRecord.Last;
    if dm.adoqueryrecord.active=false then  dm.ADOQueryRecord.active:=true;
      UserName := DM.ADOQueryRecord.FieldByName('UserName').AsString;
      SocketID := DM.ADOQueryRecord.FieldByName('SocketID').AsString;
      ComeTime := DM.ADOQueryRecord.FieldByName('ComeTime').AsString;
      showmessage(username);
      showmessage(socketid);
      showmessage(cometime);
 DM.ADOQueryRecord.Close;
  DM.ADOQueryRecord.SQL.Clear;
  SQLString := 'SELECT *' + #13;
  SQLString := SQLString + 'FROM Record'+ #13;
  SQLString := SQLString + 'WHERE UserName = '' + UserName + '' + #13;
  SQLString := SQLString + 'AND SocketID = '' + SocketID + '' + #13;
  SQLString := SQLString + 'AND ComeTime = '' + ComeTime + '';
  DM.ADOQueryRecord.SQL.Add(SQLString);
  DM.ADOQueryRecord.Open;
  DM.ADOQueryRecord.Edit;
  DM.ADOQueryRecord.FieldByName('GoTime').AsString := FormatDateTime('tt', Now);
  DM.ADOQueryRecord.FieldByName('Connecting').AsBoolean := False;
  DM.ADOQueryRecord.Post;
在这里USERNAME,SOCKETID,COMETIME都是好的,用showmessage显示都是好的
但是接下来的错误我找了半天也没有找到,这里SQL SERVER数据库是好的,所有的字段名都是存在的,但是提示如下,请各位给看看到底是那里出错了,谢谢各位了
---------------------------
Debugger Exception Notification
---------------------------
Project Project_practice.exe raised exception class EOleException with message '[Microsoft][ODBC SQL Server Driver][SQL Server]列名 'UserName' 无效。'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------

----------------------------------------------
2222
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/4 17:00:23
24楼: 刚才的问题解决了,是我的数据库的表名忘了改了,以上的程序是登陆服务器的时候记录登陆的时间和断开的时间的程序,希望对大家有所帮助
----------------------------------------------
2222
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 9:17:12
25楼: ADOQuerySymbolStyle.Locate('Type', CBoxFeatureType.Text, [loCaseInsensitive])我用的adoquery空间,请问最后一个参数该怎么确定,谢谢我看帮助里讲的看不太懂
----------------------------------------------
2222
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 13:59:24
26楼: 请给看看25楼的问题,谢谢
----------------------------------------------
2222
作者:
男 axsoft (axsoft) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 14:58:46
27楼: 25楼:[loCaseInsensitive]是大小写不敏感,也就是'a'='A'
----------------------------------------------
-
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 15:03:07
28楼: // 从数据库中下载地图
procedure LoadMap();
var
  Path, FileName: String;
begin
  Path := ExeFilePath + 'Maps\';
  if Not DM.ADOQueryFileData.Active then
    DM.ADOQueryFileData.Open;
  DM.ADOQueryFileData.First;
  while Not DM.ADOQueryFileData.Eof do
  begin
    FileName := Path + DM.ADOQueryFileData.FieldByName('Name').AsString;
    TBlobField(DM.ADOQueryFileData.FieldByName('Info')).SaveToFile(FileName);
    DM.ADOQueryFileData.Next;
  end;
end;看一下这段程序说说他的作用是什么?
----------------------------------------------
2222
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/2/5 15:06:16
29楼:  ExeFilePath 运行文件所在目录
NAME字段存图片的文件名
INFO存图片
把图片输出到 PATH(ExeFilePath\maps\)下的中
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 15:43:30
30楼: 楼上的兄弟,现在我的程序运行到这里老提示---------------------------
Debugger Exception Notification
---------------------------
Project Project_practice.exe raised exception class EInvalidCast with message 'Invalid class typecast'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------
错误在TBlobField(DM.ADOQueryFileData.FieldByName('Info')).SaveToFile(FileName);请你给看一下

----------------------------------------------
2222
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/2/5 15:53:16
31楼: 无效类型:偶也搞不懂了
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/2/5 16:06:32
32楼: Info字段必须是Blob类型的才行
比如Access里的OLE类型
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 lzgvcd (111) ★☆☆☆☆ -
盒子活跃会员
2004/2/5 17:05:53
33楼: 具体到SQL SERVER中是用的vchar吗,我用的就是这个呀
----------------------------------------------
2222
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行82.03125毫秒 RSS