Ver Mensaje Individual
  #2  
Antiguo 11-06-2003
shaktale shaktale is offline
Miembro
 
Registrado: may 2003
Ubicación: Euskal Herria
Posts: 39
Reputación: 0
shaktale Va por buen camino
Lo siento, era fallo mío.

No se trataba del paso de los parametros, sino de tratar la propiedad Text como un string normal, el problema es que no te deja asignar caracter por caracter. El nuevo codigo me queda así (ahora ya funciona):

Código:
 procedure ParsReal(var a:Array of TEdit);
  var
    i,j:integer;
    aux:string;
  begin
    for i:=0 to Length(a)-1 do
      for j:=1 to Length(a[i].Text) do
        if a[i].Text[j]='.' then
        begin
          aux:=a[i].Text;
          aux[j]:=',';
          a[i].Text:=aux;
        end
        else if (a[i].Text[j]<'0') or (a[i].Text[j]>'9') then
          raise Exception.Create(a[i].Name+' real no válido');
  end;

De todas formas aún tengo una duda: he tenido que quitar el var en el parametro porque al compilar me decia que un objeto constante no puede ser pasado como un parametro var.

Un saludo
Responder Con Cita