You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在TMS WEB Core中使用Delphi的CharInSet函数报错如何解决?

在TMS WEB Core中替代CharInSet的解决方案

你遇到的错误是因为TMS WEB Core的Pascal转译器尚未实现CharInSet配合['0'..'9']这类字符范围集合的语法,因此无法正常解析执行。可以用以下几种替代方案实现相同的字符判断逻辑:

方法一:直接字符范围比较

这是最简单直接的方式,通过判断字符是否在'0'到'9'的ASCII范围内实现:

procedure TForm1.WebButton1Click(Sender: TObject);
var
  c: Char;
begin
  c := 'A';
  if (c >= '0') and (c <= '9') then
    ShowMessage('该字符是数字')
  else
    ShowMessage('该字符不是数字');
end;

方法二:使用Pos函数检查字符存在性

通过Pos函数判断目标字符是否包含在数字字符串中:

procedure TForm1.WebButton1Click(Sender: TObject);
var
  c: Char;
begin
  c := 'A';
  if Pos(c, '0123456789') > 0 then
    ShowMessage('该字符是数字')
  else
    ShowMessage('该字符不是数字');
end;

方法三:调用JavaScript原生方法

借助TMS WEB Core对JavaScript的直接调用能力,使用JS的数字解析逻辑判断:

procedure TForm1.WebButton1Click(Sender: TObject);
var
  c: Char;
begin
  c := 'A';
  if not IsNaN(JS.Window.parseInt(c)) then
    ShowMessage('该字符是数字')
  else
    ShowMessage('该字符不是数字');
end;

以上三种方法均能在TMS WEB Core环境中正常运行,替代CharInSet的功能。

内容的提问来源于stack exchange,提问作者Shaun Roselt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 05:32:11