delphi
function Ptos2Str(L: TList; Prec: integer = 4; SinUltimo: boolean = false; EdSoloUno: boolean = false): string; var i, p, np: integer; x, y: double; FormatoTmp: TFormatSettings; begin GetLocaleFormatSettings( 0, FormatoTmp); FormatoTmp.ThousandSeparator:= ','; FormatoTmp.DecimalSeparator:= '.'; p:= round(power(10,Prec)); np:= L.count; if SinUltimo then dec(np); if EdSoloUno then np:= 1; for i:= 0 to np-1 do begin x:= TGPoint(L[i]).x; y:= TGPoint(L[i]).y; if Prec>0 then begin x:= round(x*p)/p; y:= round(y*p)/p; end; result:= result + '('+FloatToStr(x, FormatoTmp)+','+FloatToStr(y, FormatoTmp)+') '; end; end;
Como veis, quiero construir una cadena del estilo '(1,2) (1.33,4)...' muy larga, pero eso, que llega un punto en el que no crece más y no se ni porque ni como arreglarlo.
He probado a usar ansistring directamente, a hacer varios tipos de casts, pero nada, de aqui no paso... ¿ideas?