字符串,帮忙啊~~

didibaba 2002-03-25 04:35:57
windows文件拒绝/ * < > \ |这6种字符来定义文件,但是我在实际应用中就出现非要用 / 不可的情况。我试过用数学符号" /"(2个字符)来代替,但是程序又不知道怎样写,请帮忙啊~~~~~~~~~我快要疯了!
我试过:
procedure TExamineeDetail.IdentityCardKeyPress(Sender: TObject;
var Key: Char);
begin
if key='/' then key:='/' ; //请注意后面的/是2个字符
end;
还试过:
procedure TExamineeDetail.IdentityCardKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key=191 then //191为/(一个字符)的ASC码
key:=xxx; //具体我忘了用XXX代替
end;

DELPHI我又用得不久,很多语句还不知道。请高手指教!
...全文
54 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
imchk6 2002-03-25
  • 打赏
  • 举报
回复
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key='/' then
begin
key:=#0;
Edit1.SelText := '/' ;
end;
imchk6 2002-03-25
  • 打赏
  • 举报
回复
if key='/' then
begin
key:=#0;
Edit1.SelText := '/' ;
end;
王集鹄 2002-03-25
  • 打赏
  • 举报
回复
建议你在保存的时候在处理
这样对用户对自己都方便一些

//请参考
//from
http://kingron.myetang.com

(*//
标题:对全角半角字符串的处理
说明:使用于运用程序中避免用户输入字符不统一
设计:Zswang
日期:2002-01-24
支持:wjhu111@21cn.com
//*)

///////Begin Source
const
cCharCn: array[#32 .. #126] of string[2] =
(
{ }' ',{!}'!',{"}'"',{#}'#',{ }'$',{%}'%',{&}'&',{'}''',{(}'(',
{)}')',{*}'*',{+}'+',{,}',',{-}'-',{.}'。',{/}'/',{0}'0',{1}'1',
{2}'2',{3}'3',{4}'4',{5}'5',{6}'6',{7}'7',{8}'8',{9}'9',{:}':',
{;}';',{<}'<',{=}'=',{>}'>',{?}'?',{@}'@',{A}'A',{B}'B',{C}'C',
{D}'D',{E}'E',{F}'F',{G}'G',{H}'H',{I}'I',{J}'J',{K}'K',{L}'L',
{M}'M',{N}'N',{O}'O',{P}'P',{Q}'Q',{R}'R',{S}'S',{T}'T',{U}'U',
{V}'V',{W}'W',{X}'X',{Y}'Y',{Z}'Z',{[}'[',{\}'\',{]}']',{^}'^',
{_}'_',{`}'`',{a}'a',{b}'b',{c}'c',{d}'d',{e}'e',{f}'f',{g}'g',
{h}'h',{i}'i',{j}'j',{k}'k',{l}'l',{m}'m',{n}'n',{o}'o',{p}'p',
{q}'q',{r}'r',{s}'s',{t}'t',{u}'u',{v}'v',{w}'w',{x}'x',{y}'y',
{z}'z',{{}'{',{|}'|',{ }'}',{~}'~');

function StrToGBText(mStr: string): string; { 返回字符串转换成全角字符串 }
var
I: Integer;
begin
Result := '';
for I := 1 to Length(mStr) do
case mStr[I] of
#32 .. #126: Result := Result + cCharCn[mStr[I]];
else Result := Result + mStr[I];
end;
end; { StrToGBText }

function GBTextToStr(mText: string): string; { 返回字符串转换成半角字符串 }
var
I: Integer;
J: Char;
S: string;
begin
Result := '';
for I := 1 to Length(WideString(mText)) do begin
S := WideString(mText)[I];
if Length(S) > 1 then for J := #32 to #126 do
if cCharCn[J] = S then begin
S := J;
Break;
end;
Result := Result + S;
end;
end; { GBTextToStr }
///////End Source

///////Begin Demo
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text := StrToGBText(Memo2.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo2.Text := GBTextToStr(Memo1.Text);
end;
///////End Demo

王集鹄 2002-03-25
  • 打赏
  • 举报
回复
procedure TFormMarkDdiamond.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'/': begin
Key := #0;
Edit1.SelText := '/' ;
end;
end;
end;

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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