| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2781 人关注过本帖
标题:高手帮忙看一下代码中绝对地址的写法可以改为相对地址吗?
只看楼主 加入收藏
hszxgb
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2020-10-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:15 
高手帮忙看一下代码中绝对地址的写法可以改为相对地址吗?
如下代码中刷红绝对地址的写法,能不能改成相对地址比如&&后的写法。


*根据运动员号码查询比赛成绩
ydybm=ALLTRIM(thisform.text1.Value)                           &&待查询运动员号码
*判断运动员号码是否存在
SELECT COUNT(*) FROM e:\学习\运动会管理系统\data\运动员 WHERE 运动员号码==ydybm INTO ARRAY shu
IF shu=0                                                      &&不存在该编号
   MESSAGEBOX(ydybm+"号码不存在!",0+48,"提示")
   RETURN                                                     &&结束查询
ELSE
   *查询姓名、性别、单位名称
   SELECT 姓名,性别,单位名称;
   FROM e:\学习\运动会管理系统\data\运动员,;                  &&data\运动员
   e:\学习\运动会管理系统\data\参赛单位;                      &&data\参赛单位
   WHERE 运动员.单位编码=参赛单位.单位编码 AND 运动员号码==ydybm INTO ARRAY xm
   *在文本框中显示姓名、性别、单位名称
   thisform.txtXM.Value=xm(1)
   thisform.txtXB.Value=xm(2)
   thisform.txtDW.Value=xm(3)
   *查询该运动员的参赛项目、名次、得分
   SELECT 项目名称,名次,得分;
   FROM e:\学习\运动会管理系统\data\运动项目,;               &&绝对地址e:\学习\运动会管理系统\data\运动项目
   e:\学习\运动会管理系统\data\个人得分;                    &&绝对地址e:\学习\运动会管理系统\data\个人得分
   WHERE 运动项目.项目编码=个人得分.项目编码 AND 运动员号码==ydybm INTO CURSOR grxx
   *设置表格数据源显示该运动员的参赛项目、名次、得分
   thisform.grid1.RecordSource="grxx"
ENDIF
搜索更多相关主题的帖子: 单位 运动 data 项目 管理系统 
2020-10-28 23:03
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1730
专家分:3324
注 册:2012-2-29
收藏
得分:5 
请你自己试一下不就知道了吗?
2020-10-29 05:23
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:5 
  PUBLIC mypath
  cCurrentProcedure = SYS(16,1)
  nPathStart = AT(":",cCurrentProcedure)- 1
  nLenOfPath = RAT("\", cCurrentProcedure) - (nPathStart)
  mypath=SUBSTR(cCurrentProcedure, nPathStart, nLenofPath)
  SET DEFAULT TO (mypath)


只求每天有一丁点儿的进步就可以了
2020-10-29 07:55
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:610
专家分:1784
注 册:2017-7-16
收藏
得分:5 
***核心主程序位置
PUBLIC mypath
mypath=sys(5)+sys(2003)+"\"
2020-10-29 08:26
hszxgb
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2020-10-5
收藏
得分:0 
回复 2楼 schtg
我试了不行啊!有什么办法可以不用绝对地址,绝对地址应该会在文件整体搬家后影响使用吧!
2020-10-29 09:52
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:5 
用别名
2020-10-29 10:14
hszxgb
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2020-10-5
收藏
得分:0 
回复 4楼 gs2536785678
PUBLIC mypath
mypath=sys(5)+sys(2003)+"\"
你好 你这个全局变量名mypath有特定含义吗?
2020-10-29 10:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
用相对路径可以
示例:
程序代码:
cDefaultPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefaultPath)
cDir = cDefaultPath + "data"
MD (cDir)
cDBF = cDefaultPath + "data\tmp.dbf"
CREATE TABLE (cDBF) (f1 I) 
INSERT INTO tmp VALUES (1)
INSERT INTO tmp VALUES (2)
INSERT INTO tmp VALUES (3)
USE
SELECT * FROM data\tmp
CLOSE DATABASES ALL 
DELETE FILE (cDBF)
RD (cDir)
2020-10-29 10:45
hszxgb
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2020-10-5
收藏
得分:0 
回复 3楼 wengjl
PUBLIC mypath
  cCurrentProcedure = SYS(16,1)
  nPathStart = AT(":",cCurrentProcedure)- 1
  nLenOfPath = RAT("\", cCurrentProcedure) - (nPathStart)
  mypath=SUBSTR(cCurrentProcedure, nPathStart, nLenofPath)
  SET DEFAULT TO (mypath)
你好 你这个代码改成这样有什么区别?
PUBLIC mypath
  cCurrentProcedure = SYS(16,1)
  nPathStart = 1
  nLenOfPath = RAT("\", cCurrentProcedure) - 1
  mypath=SUBSTR(cCurrentProcedure, nPathStart, nLenofPath)
  SET DEFAULT TO (mypath)
或者这样
PUBLIC mypath
  cCurrentProcedure = SYS(16,1)
  nLenOfPath = RAT("\", cCurrentProcedure) - 1
  mypath=SUBSTR(cCurrentProcedure,1, nLenofPath)
  SET DEFAULT TO (mypath)

[此贴子已经被作者于2020-10-29 11:04编辑过]

2020-10-29 11:02
hszxgb
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2020-10-5
收藏
得分:0 
回复 8楼 吹水佬
cDefaultPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefaultPath)
cDir = cDefaultPath + "data"
MD (cDir)
cDBF = cDefaultPath + "data\tmp.dbf"
CREATE TABLE (cDBF) (f1 I)
INSERT INTO tmp VALUES (1)
INSERT INTO tmp VALUES (2)
INSERT INTO tmp VALUES (3)
USE
SELECT * FROM data\tmp
CLOSE DATABASES ALL
DELETE FILE (cDBF)
RD (cDir)
你这个中第一行这样写有什么区别?cDefaultPath = ADDBS(JUSTPATH(SYS(16,1)))
2020-10-29 11:11
快速回复:高手帮忙看一下代码中绝对地址的写法可以改为相对地址吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019054 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved