单机程序放在WINNT上共享会有问题吗?我的第一个DELPHI程序,还有一个问题,内详。请尽量帮帮我吧!(200分)

  • 主题发起人 主题发起人 da-li
  • 开始时间 开始时间
D

da-li

Unregistered / Unconfirmed
GUEST, unregistred user!
我在单机上用DELPHI5。0做的一个表单管理程序,有两个DB库。我是把每份表
单当作一条记录存放在M。DB中,身份确认放在PASS。DB库。由于表单要给不
同的部门分别填制(采用DBEDIT来对应记录中的字段),我规定了密码来校验
各部门的权限,例如:权限为1的业务部门只能填写DBEDIT1和DBEDIT2,权
限为2办公室的只能填写DBEDIT3和DBEDIT4来进行审核。
1、现在问题是如果把这份表单放在WINNT上共享,在不同的工作站上分别对
这份表单按密码进行填制。
单机上能运行的程序放在WINT上让工作站共享,会不会出问题,如何解决?
2、现在的程序,业务部门有可能在经办公室审核后再进行修改,如何解决这
个问题。如何解决在新加入表单时有权填写,按“提交”后则不允许修改?做
到只针对一条记录写保护,对其它没有经“提交”的记录则允许修改
 
<1> BDE->Configuration->drivers->native ->paradox->Net Dir 设为网络共享目录 ,每部 workstation 设为同一个,
根据密码设 DBEDIT->ENABLED
<2>表里加一个field 判断是否“提交”,决定 EDIT
 
感谢你的回答,还有问题想请教:
(1) 我在单机上运行时,库放在D:/下,当我用BDE->Configuration->drivers->native ->paradox->Net Dir查看,发现所指向的路径为c:/,
为什么库的路径不对?只有在WINNT网络才需要把库放在NET DIR下吗?
我对DELPHI初学不久,有些概念理解不是很透。我要把DEPHI5。0也装在WINNT服
务器上吗?
(2)这张表单要经过多重部门审核,我按你的方法只能‘提交’一次,如我想业务部
提交后不允许修改,财务部填入后按提交则业务、财务都不允许修改,然后办公室再
填再提交,直到汇总到总经理处。我想过用再加几个FIELDS来判断是否允许修改,但
有简单点的办法吗?

 
《1》 映射一个路径,如 p: , netdir对应他,手工改每部机一样,
DEPHI5单机即可。
《2》一个字段用几个字符,比如‘101’,第一位代表业务部EDIT ,第二位代表财务部 EDIT,etc
 
那我是不是必须在NT服务器上装DELPHI5?不然我找不到BDE设置项。
只拷贝执行文件和两个库文件到服务器上可不可以让工作站共享。该如何进行呢?


 
装个BDE就可以了
 
BDE需安装与每部工作站关键是BDE配置好, EXE 放那里没关系, 库需放与NT上
 
只要在winnt上安装BDE即可,
关于权限问题还是要你来设置的。
即用字段值来判断。
顺便说一下,您可以让一个部门先输入,第一个部门没输入
第二个部门不应看到此表单。
 
十分感谢各位相助!
我还有些麻烦,请看
(1)请问如何截取一个字符串字段中的第N个字符,从N到N+X字符如何取得呢?
(2)我的表单要经过多重部门审核,如我想业务部提交后不允许修改,储运部填入后
按提交则业务、储运部都不允许修改.每到一个部门审核一次,按提交后则审核内容
都不允许修改,直到汇总到总经理处。我想在DBGRID中用一个字段来显示当前提交
状态.在FORM表上用一个BUTTON来显示当前提交状态.
源代码为:
procedure Tadd.Button3Click(Sender: TObject);
var
chk:string;
begin
chk:=main.table1.fieldbyname('text1').asstring;
case strtoint(pass.ch) of //pass.ch为密码等级
1:begin
main.table1.fieldbyname('text1').asstring:='业';
add.button3.caption:='已提交到储运部';
end;
2:begin
main.table1.fieldbyname('text1').asstring:=chk+'储';
add.button3.caption:='已提交到财务部';
end;
end;
end;

procedure Tadd.FormShow(Sender: TObject);
begin
case strtoint(pass.ch) of
1:begin
if main.table1.fieldbyname('text1').asstring<>'业'
then
add.button3.caption:='提交到储运部';
if main.table1.fieldbyname('text1').asstring='业'
then
add.button3.caption:='已提交到储运部';
end;
2:begin
if main.table1.fieldbyname('text1').asstring<>'业储'
then
add.button3.caption:='提交到财务处';
if main.table1.fieldbyname('text1').asstring='业储'
then
add.button3.caption:='已提交到财务处';
end;
end;
end;
end.
如何限制储运部多次按BUTTON3,每按一次则由原来的'业储'变为'业储储',则封锁
DBEDIT失去作用?(有更好的编制方法吗)
(3)我想实现业务部每新增一个表单时,当到达办公室审核时,显示新增记录中的第一
个字段"合同号"内容,并告诉是新记录在数据库中的第X条和第Y条记录上("合同号"
为第一个字段,有索引,新增记录后则不知道跳哪儿去了),我只能做到有新增记录.其
它该如何实现,请各位高手帮忙.
 
多人接受答案了。
 
copy (string,n,n+x)
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
573
import
I
后退
顶部