codetools, lcl: added support for toWString from Giulio Bernardi

git-svn-id: trunk@14698 -
This commit is contained in:
vincents 2008-03-31 21:39:52 +00:00
parent 0153631ad7
commit abafe7aa85
2 changed files with 14 additions and 4 deletions

View File

@ -405,6 +405,10 @@ begin
if FirstError<>nil then Result:=FirstError.ErrorMessage; if FirstError<>nil then Result:=FirstError.ErrorMessage;
end; end;
{$if not declared(toWString)}
const toWString = char(5);
{$endif}
procedure TLFMTree.ProcessValue; procedure TLFMTree.ProcessValue;
var var
s: String; s: String;
@ -429,13 +433,14 @@ begin
CloseChildNode; CloseChildNode;
end; end;
toString: toString, toWString:
begin begin
CreateChildNode(TLFMValueNode); CreateChildNode(TLFMValueNode);
TLFMValueNode(CurNode).ValueType:=lfmvString; TLFMValueNode(CurNode).ValueType:=lfmvString;
while Parser.NextToken = '+' do begin while Parser.NextToken = '+' do begin
Parser.NextToken; // Get next string fragment Parser.NextToken; // Get next string fragment
Parser.CheckToken(toString); if not (Parser.Token in [toString,toWString]) then
Parser.CheckToken(toString);
end; end;
CloseChildNode; CloseChildNode;
end; end;

View File

@ -2411,6 +2411,10 @@ var
procedure ProcessProperty; forward; procedure ProcessProperty; forward;
{$if not declared(toWString)}
const toWString = char(5);
{$endif}
procedure ProcessValue; procedure ProcessValue;
procedure RaiseValueExpected; procedure RaiseValueExpected;
@ -2440,13 +2444,14 @@ var
WriteLRSExtended(Output,flt); WriteLRSExtended(Output,flt);
parser.NextToken; parser.NextToken;
end; end;
toString: toString, toWString:
begin begin
toStringBuf := parser.TokenWideString; toStringBuf := parser.TokenWideString;
while parser.NextToken = '+' do while parser.NextToken = '+' do
begin begin
parser.NextToken; // Get next string fragment parser.NextToken; // Get next string fragment
parser.CheckToken(toString); if not (parser.Token in [toString,toWString]) then
parser.CheckToken(toString);
toStringBuf := toStringBuf + parser.TokenWideString; toStringBuf := toStringBuf + parser.TokenWideString;
end; end;
if WideStringNeeded(toStringBuf) then begin if WideStringNeeded(toStringBuf) then begin