文件保存问题(50分)

  • 主题发起人 主题发起人 xjlaokai2000
  • 开始时间 开始时间
是borland的,这个不是win32api
 
showmessage(ExtractFileDir('e:/版本6/e.sd'));

//各位 试 一 下
//有的机子 会 得 错误 结果
//ExtractFileDir (我是永远不用了)
 
D5+WIN98,结果如下:
e:/版本6
 
d6 +2000

e:/版本
 
那可能d6的bug了,d5在win2000下正常啊
而且我的程序大量使用(bcb5 的),从没出过问题
 
(1)我查了trim函数的帮助如下:
Trim removes leading and trailing spaces and control
characters from the given string S.
我的理解是:从所给的字符串中除去开头及结尾的空格和控制字符。
但我不知道哪些是所说:control characters(控制字符)?

(2)在判断edit输入是是否为空后,我想如果为空则给出一个
message,并将焦点放在edit1控件上,但如何使程序停在这,等
用户输入了内容后再使程序继续向下执行?
;procedure TForm1.Button1Click(Sender: TObject);
begin

Edit1.Text:=Trim(Edit1.Text);
; if Edit1.Text='' then
; showmessage('您输入的路径及文件名不能为空');
; edit1.SetFocus;

//?如何程序停在这里,等用户输入了内容后再使程序继续向下执行?

;xlsfilename:=edit1.text;
label1.caption:=ExtractFilePath(xlsfilename);
label2.Caption:=ExtractFileDir(xlsfilename);

;if not DirectoryExists(ExtractFileDir(xlsfilename)) then
; ; ; if not ForceDirectories(ExtractFileDir(xlsfilename))
; ; ;then
; ; raise Exception.Create('Cannot create xlsfilename');
end;
end.

(3)如何在程序中判断用户输入了按了键盘上的某个字符?
如按下了/ ;: ;* ;? ;< > |等按键,我想在程序中用户输入时,
如果按了上述按键,则触发一个message,告诉用户不能输入
这些字符。这里不牵扯到第(2)个问题中的问题:即给了
showmessage后,如何使程序“等待”继续输入?
 
(2).当用户输入完按回车触发处理事件时不用停留吧?IF 为空则给出一个消息并用EXIT退出处理事件。
当用户输入再次回车的时候已经有了内容会进行处理。
(3).在KeyPress中加入以下代码:
begin
if (not(key IN ['0'..'9','A'..'Z','a'..'z',#13,#46,#8]))THEN ;BEGIN
showmessage('输入字符错误');
key:=#0;
end;
 
(1)哪些是所说:control characters(控制字符)?
实际上就是 <=' ' ,就是ascii码小于或者等于16进制 $20 (就是空格),那些字符给删除了
这些字符包含回车、换行、空格、tab键、换页、esc键等等
 
> edit1.SetFocus;
>//?如何程序停在这里,等用户输入了内容后再使程序继续向下执行?
应该直接就停留了吧?
不过我觉得还可以加句:edit1.clear;
 
多人接受答案了。
 
后退
顶部