导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
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即表表示还没有分配,这时调用实例的创建例程进行创建,分配相应的内存空间,初始化有关的环境变量。
----------------------------------------------
-
作者:
2004/2/3 11:27:22
2楼:
谢谢楼上的兄弟了,
----------------------------------------------
2222
作者:
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不会使用这个属性,程序可根据自已的需要自由(就如自已定义的一个变量一样)使用它而不会造成错误。
----------------------------------------------
-
作者:
2004/2/3 12:57:54
5楼:
Tag 太有用了 第一个设计它的人一定是个艺术家!
----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
2004/2/3 13:28:39
6楼:
又有个新问题,不知道delphi里是不是有个VarClear这个函数,我找了半天也没有找到这个是字定义的函数,我想应该是delphi带有的吧
----------------------------------------------
2222
作者:
pgh (踏雪)
★☆☆☆☆
-
普通会员
2004/2/3 13:49:39
7楼:
VarClear(V: Variant);清除可变变量的值。
----------------------------------------------
-
作者:
2004/2/3 14:03:39
8楼:
TBlobField(ADOQueryFileData.FieldByName('Info')).SaveToFile(FileName);这个函数代表的意思是什么,谢谢各位的帮忙,刚接触delphi不久,所以问的问题是比较菜的,请不要见笑
----------------------------------------------
2222
作者:
2004/2/3 14:21:32
10楼:
楼上的兄弟能不能把这个说的更清楚一点,就是这条语句的具体作用是什么?
----------------------------------------------
2222
作者:
2004/2/3 14:47:50
12楼:
各位今天碰到的函数比较多 if FindFirst(Path, $00000020, sr) = 0 then 这个findfirst函数的第二个参数和第三个参数代表什么东西,我看函数大全里也没有介绍这两个参数
----------------------------------------------
2222
作者:
pgh (踏雪)
★☆☆☆☆
-
普通会员
2004/2/3 15:07:49
14楼:
一般来说,要学会查找帮助,其实这些问题都可在帮助文档内找到,只有学会了快速查找帮助,才是真正的收获。
----------------------------------------------
-
作者:
2004/2/3 15:13:11
14楼:
楼上的兄弟非常的感谢,不知道你的qq是你的图片上显示的那一个,另外你知道数据库方面的知识吗?
----------------------------------------------
2222
作者:
pgh (踏雪)
★☆☆☆☆
-
普通会员
2004/2/3 16:52:54
15楼:
我的qq:11370586,欢迎交流。
----------------------------------------------
-
作者:
2004/2/3 18:43:54
17楼:
明白了! 要善于使用从 DOS 0.1 时就已经发挥巨大作用的这个
此帖子包含附件: 大小: 4.1K
----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
2004/2/3 18:45:52
18楼:
一般人我不告诉他!
----------------------------------------------
我来自农村广阔的田野我的每一个动作都很夸张http://waterstone.51r.com
作者:
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
作者:
2004/2/4 10:05:37
20楼:
另外问个函数 TVarData(Empty).vType := varError; TVarData(Empty).vError := 2147614724; // DISP_E_PARAMNOTFOUND; TVarData(Nothing).VType := varDispatch;这个函数代表的是什么意思?
----------------------------------------------
2222
作者:
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楼的不知道,还没用过!
----------------------------------------------
作者:
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
作者:
2004/2/4 17:00:23
24楼:
刚才的问题解决了,是我的数据库的表名忘了改了,以上的程序是登陆服务器的时候记录登陆的时间和断开的时间的程序,希望对大家有所帮助
----------------------------------------------
2222
作者:
2004/2/5 9:17:12
25楼:
ADOQuerySymbolStyle.Locate('Type', CBoxFeatureType.Text, [loCaseInsensitive])我用的adoquery空间,请问最后一个参数该怎么确定,谢谢我看帮助里讲的看不太懂
----------------------------------------------
2222
作者:
2004/2/5 13:59:24
26楼:
请给看看25楼的问题,谢谢
----------------------------------------------
2222
作者:
axsoft (axsoft)
★☆☆☆☆
-
盒子活跃会员
2004/2/5 14:58:46
27楼:
25楼:[loCaseInsensitive]是大小写不敏感,也就是'a'='A'
----------------------------------------------
-
作者:
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\)下的中
----------------------------------------------
作者:
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楼:
无效类型:偶也搞不懂了
----------------------------------------------
作者:
2004/2/5 17:05:53
33楼:
具体到SQL SERVER中是用的vchar吗,我用的就是这个呀
----------------------------------------------
2222