Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi Firemonkey TEdit大写字母_Delphi_Firemonkey_Delphi Xe5_Delphi Xe6 - Fatal编程技术网

Delphi Firemonkey TEdit大写字母

Delphi Firemonkey TEdit大写字母,delphi,firemonkey,delphi-xe5,delphi-xe6,Delphi,Firemonkey,Delphi Xe5,Delphi Xe6,我对Android中Firemonkey TEdit的大写字母有问题 代码: 过程TFormMain.Edit1KeyDown(发送方:TObject;变量关键字:Word; var KeyChar:Char;Shift:TShiftState); 开始 KeyChar:=UpCase(KeyChar); 结束; 在Win32中它可以工作,但在Android中它不工作。使用ToUpper()或AnsiUpperCase()作为字符串 更新:为什么要使用OnKeyDown?根据您必须使用OnCha

我对Android中Firemonkey TEdit的大写字母有问题

代码:

过程TFormMain.Edit1KeyDown(发送方:TObject;变量关键字:Word; var KeyChar:Char;Shift:TShiftState); 开始 KeyChar:=UpCase(KeyChar); 结束; 在Win32中它可以工作,但在Android中它不工作。

使用ToUpper()或AnsiUpperCase()作为字符串

更新:为什么要使用OnKeyDown?根据您必须使用OnChangeTracking:“此事件提供了第一次响应用户对编辑控件文本所做修改的机会。”

所以把它放进去,比如

procedure TFormMain.Edit1ChangeTracking(Sender: TObject);
begin
  Edit1.text:= AnsiUpperCase(Edit1.text);
end;
对字符串使用ToUpper()或AnsiUpperCase()

更新:为什么要使用OnKeyDown?根据您必须使用OnChangeTracking:“此事件提供了第一次响应用户对编辑控件文本所做修改的机会。”

所以把它放进去,比如

procedure TFormMain.Edit1ChangeTracking(Sender: TObject);
begin
  Edit1.text:= AnsiUpperCase(Edit1.text);
end;
对字符串使用ToUpper()或AnsiUpperCase()

更新:为什么要使用OnKeyDown?根据您必须使用OnChangeTracking:“此事件提供了第一次响应用户对编辑控件文本所做修改的机会。”

所以把它放进去,比如

procedure TFormMain.Edit1ChangeTracking(Sender: TObject);
begin
  Edit1.text:= AnsiUpperCase(Edit1.text);
end;
对字符串使用ToUpper()或AnsiUpperCase()

更新:为什么要使用OnKeyDown?根据您必须使用OnChangeTracking:“此事件提供了第一次响应用户对编辑控件文本所做修改的机会。”

所以把它放进去,比如

procedure TFormMain.Edit1ChangeTracking(Sender: TObject);
begin
  Edit1.text:= AnsiUpperCase(Edit1.text);
end;

您必须使用ChangeTracking事件。它很好用

此代码在Android上运行

procedure TFormMain.Edit1Typing(Sender: TObject);
begin
  Edit1.Text:=AnsiUpperCase(Edit1.Text);
  Edit1.GoToTextEnd;
end;
此代码适用于windows

procedure TFormMain.Edit1ChangeTracking(Sender: TObject);
var
  thetext: String;
begin
  thetext := Edit1.Text;
  Edit1.OnChangeTracking := nil;
  Edit1.Text := '';
  Edit1.Text := AnsiUpperCase(thetext);
  Edit1.OnChangeTracking := Edit1ChangeTracking;
  Edit1.GoToTextEnd;
end;

您必须使用ChangeTracking事件。它很好用

此代码在Android上运行

procedure TFormMain.Edit1Typing(Sender: TObject);
begin
  Edit1.Text:=AnsiUpperCase(Edit1.Text);
  Edit1.GoToTextEnd;
end;
此代码适用于windows

procedure TFormMain.Edit1ChangeTracking(Sender: TObject);
var
  thetext: String;
begin
  thetext := Edit1.Text;
  Edit1.OnChangeTracking := nil;
  Edit1.Text := '';
  Edit1.Text := AnsiUpperCase(thetext);
  Edit1.OnChangeTracking := Edit1ChangeTracking;
  Edit1.GoToTextEnd;
end;

您必须使用ChangeTracking事件。它很好用

此代码在Android上运行

procedure TFormMain.Edit1Typing(Sender: TObject);
begin
  Edit1.Text:=AnsiUpperCase(Edit1.Text);
  Edit1.GoToTextEnd;
end;
此代码适用于windows

procedure TFormMain.Edit1ChangeTracking(Sender: TObject);
var
  thetext: String;
begin
  thetext := Edit1.Text;
  Edit1.OnChangeTracking := nil;
  Edit1.Text := '';
  Edit1.Text := AnsiUpperCase(thetext);
  Edit1.OnChangeTracking := Edit1ChangeTracking;
  Edit1.GoToTextEnd;
end;

您必须使用ChangeTracking事件。它很好用

此代码在Android上运行

procedure TFormMain.Edit1Typing(Sender: TObject);
begin
  Edit1.Text:=AnsiUpperCase(Edit1.Text);
  Edit1.GoToTextEnd;
end;
此代码适用于windows

procedure TFormMain.Edit1ChangeTracking(Sender: TObject);
var
  thetext: String;
begin
  thetext := Edit1.Text;
  Edit1.OnChangeTracking := nil;
  Edit1.Text := '';
  Edit1.Text := AnsiUpperCase(thetext);
  Edit1.OnChangeTracking := Edit1ChangeTracking;
  Edit1.GoToTextEnd;
end;



UpCase
工作正常。在决定解决方案之前,你需要诊断并理解问题。我想在TEdit上自动为所有输入的字母加上大写字母。不管怎样,键盘类型是否有一种设置所有大写字母的方法?@edmund我们知道你想做什么,但你还没有给我们足够的信息来理解为什么你的代码不能像你希望的那样执行。@DavidHeffernan抱歉,当用户在Edit1上输入时,将其全部设置为大写。@LHristov它在Android上不起作用,但在Win32中起作用。
UpCase
工作正常。在决定解决方案之前,你需要诊断并理解问题。我想在TEdit上自动为所有输入的字母加上大写字母。不管怎样,键盘类型是否有一种设置所有大写字母的方法?@edmund我们知道你想做什么,但你还没有给我们足够的信息来理解为什么你的代码不能像你希望的那样执行。@DavidHeffernan抱歉,当用户在Edit1上输入时,将其全部设置为大写。@LHristov它在Android上不起作用,但在Win32中起作用。
UpCase
工作正常。在决定解决方案之前,你需要诊断并理解问题。我想在TEdit上自动为所有输入的字母加上大写字母。不管怎样,键盘类型是否有一种设置所有大写字母的方法?@edmund我们知道你想做什么,但你还没有给我们足够的信息来理解为什么你的代码不能像你希望的那样执行。@DavidHeffernan抱歉,当用户在Edit1上输入时,将其全部设置为大写。@LHristov它在Android上不起作用,但在Win32中起作用。
UpCase
工作正常。在决定解决方案之前,你需要诊断并理解问题。我想在TEdit上自动为所有输入的字母加上大写字母。不管怎样,键盘类型是否有一种设置所有大写字母的方法?@edmund我们知道你想做什么,但你还没有给我们足够的信息来理解为什么你的代码不能像你希望的那样执行。@DavidHeffernan抱歉,当用户在Edit1上输入时,请将其全部大写。@LHristov它在Android上不起作用,但在Win32中起作用。我们不知道此代码在哪里,在什么上下文中运行。我在EDIT1KeyDown中添加了此代码。请编辑Q以包含此代码。我们不知道此代码在哪里,它在什么上下文中运行。我在Edit1Keydown中添加了它。请编辑Q以包含代码我们不知道此代码在哪里,它在什么上下文中运行。我在Edit1Keydown中添加了它。请编辑Q以包含代码我们不知道此代码在哪里,它在什么上下文中运行。我在Edit1Keydown中添加了它。请编辑Q以包含代码谢谢!我会试试的。对不起。。我犯了一个错误。不幸的是,它只能在windows平台上工作。让我进一步调查。好的,我找到了解决办法。请看我上面编辑的代码安卓解决方案(上图)在Delphi 10.1 Berlin的安卓和Windows上运行,无需使用GoToTextEndThank!我会试试的。对不起。。我犯了一个错误。不幸的是,它只能在windows平台上工作。让我进一步调查。好的,我找到了解决办法。请看我上面编辑的代码安卓解决方案(上图)在Delphi 10.1 Berlin的安卓和Windows上运行,无需使用GoToTextEndThank!我会试试的。对不起。。我犯了一个错误。不幸的是,它只能在windows平台上工作。让我进一步调查。好的,我找到了解决办法。请看我上面编辑的代码安卓解决方案(上图)在Delphi 10.1 Berlin的安卓和Windows上运行,无需使用GoToTextEndThank!我会试试的。对不起。。我犯了一个错误。不幸的是,它只能在windows平台上工作。让我进一步调查。好的,我找到了解决办法。请看我上面编辑的代码安卓解决方案(上图)在Delphi 10.1 Berlin中在安卓和Windows上运行,无需使用GoToExtend