c/s程序 自动更新问题???

Forever4158 2007-11-12 07:55:37
本人参加工作3个月,pb是来公司后学的。最近在做一个项目,项目经理让我做自动升级程序,看了一个原程序,懂点。但和实际不符合。我想知道怎样查找文件夹下了的某一文件,截取文件名显示在文本框中.求救?


这是我写的代码 不知道 有没有错误 ,请高手帮我看看,指点一下思路!
int li_i,li_l,loops,li_file,li_j
string ls_Str,ls_str1,ls_str2,ls_str3,ls_str4
long ll_filelen
ls_Str4=Message.StringParm
ls_str2=string(today(),"yyyymmdd")
ls_Str=trim(sle_filename.text)
ll_filelen = FileLength(ls_Str) //获取文件长度
li_file = FileOpen(ls_Str,StreamMode!, Read!,LockRead!,Replace!)
if li_file<>1 then
MessageBox("系统提示","请重新打开文件!")
Return
end if
//判断字节数
if ll_filelen>32765 then
if Mod(ll_filelen, 32765) = 0 THEN
loops = ll_filelen/32765
else
loops = (ll_filelen/32765) + 1
end if
else
loops = 1
end if
//检索数据
declare mycur cursor for
select t_name from t_data where t_name=:ls_str;
open mycur;
fetch mycur into :ls_str1;
do while sqlca.sqlcode=0
boolean l_true=true
choose case l_true
case ls_str1='' or isnull(ls_Str1)
insert into t_data (ver,t_name,t_size,t_date) values(:ls_str4,:ls_str,:ll_filelen,:ls_str2);
for li_j=1 to loops
hpb_1.SetStep=20
hpb_1.position++
next
hpb_1.position=100
case ls_str1<>''
updateblob t_data set t_size=:ll_filelen,t_date=:ls_str2 where t_name=:ls_str1;
for li_j=1 to loops
hpb_1.SetStep=20
hpb_1.position++
next
hpb_1.position=100
end choose
fetch mycur into :ls_str1;
loop
close mycur;
if sqlca.sqlnrows>0 then
Commit USing Sqlca;
cbx_3.checked=true
MessageBox("系统提示","程序上传服务器成功!")
else
// MessageBox("",sqlca.sqlerrtext)
Rollback Using SqLca;
messagebox("系统提示","程序上传服务器失败!")
cbx_2.checked=false
hpb_1.position=0
end if
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forever4158 2007-11-14
  • 打赏
  • 举报
回复
这个函数我知道 可是我不想在文本框中显示前面的路径,只想显示可执行文件 如:a.txt,a.exe等
ShingU 2007-11-13
  • 打赏
  • 举报
回复
我想知道怎样查找文件夹下了的某一文件,截取文件名显示在文本框中.求救?

有一个函数GetFileOpenName(),可以选择一个文件。

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧