私はコード生成でいくつかの作業を行っています。私がする必要があることの 1 つは、次のように、パラメーターの 1 つが関数呼び出しである関数呼び出しを作成することです。
result := Func1(x, y, Func2(a, b, c));
TStringList.CommaText はパラメータ リストの生成に非常に役立ちますが、ツリーをたどって外部関数呼び出しを作成すると、最終的に次のようになります。
result := Func1(x, y, "Func2(a, b, c)");
3 番目の引数にカンマが含まれており、無効なコードが生成されたため、引用しています。しかし、関数の引数が内部に二重引用符を含む文字列になる可能性が十分にあるため、StringReplace all double quotes with empty strings のような単純なことはできません。コンマを含む行をエスケープしないようにする方法はありますか?