Holas lo que pasa es que en tu codigo
Código:
valores := valores + listbox1.items[i]; //armo la cadena con los
if i < 100 then valores := valores + ','; //valores
showmessage(format(palabra,[valores]));
Estas regresando en valores un
String
y que te pide es un
array de const
que no es lo mismo
'A','B','C',....'X' a 'A,B,C,D....,X'
hagamos una funcion que se llame
Código:
Function RegCadena(Palabra,Clave : String); String;
Var
I : Integer;
Ctemp : String;
Begin
Result := '';
While Pos('%s',Palabra) <> 0 Do
Begin
I := Pos('%s',Palabra);
Delete(Palabra,I,2);
CTem := Copy(Valores,1,Pos(',',Valores)-1);
Delete(Valores,1,Pos(',',Valores));
Insert(Ctem,Palabra,I);
End;
Result := Palabra;
End;
Ahora en tu codigo quedaria asi
var
palabra : string;
valores : String;
i : integer;
begin
//aqui te recomiendo que uses el listbox1.items.Count-1
// por que sabras cuantos Items tiene tu listbox
//por que si usas 100 puede ser que listbox1.items[100] no exista y te marque error
for i := 0 to listbox1.items.Count-1 do
Begin
palabra := palabra + '%s'; //agrego los %s para sustituir
valores := Valores + listbox1.items[i]+','; //armo la cadena con los
End;
showmessage(RegLaCadena(palabra,Valores));
//format(palabra,[Valores])
end;
esperando que sea de tu utilidad
Saludos desde Puebla MExico
asanxt@hotmail.com