fnAnsiInsert function

dynamic fnAnsiInsert(
  1. dynamic v1,
  2. dynamic v2,
  3. dynamic v3
)

Expression function AnsiInsert(s,p,new): Inserts a string (ANSI count). The Dart result differs from the Windows engine; see the manual, Appendix C.3.

Implementation

dynamic fnAnsiInsert(dynamic v1, dynamic v2, dynamic v3) {
  final substr = varToStr(v1);
  var s = varToStr(v2);
  final i = varToInt(v3) - 1; // 1-based → 0-based
  final pos = i.clamp(0, s.length);
  return s.substring(0, pos) + substr + s.substring(pos);
}