Ver Mensaje Individual
  #17  
Antiguo 09-10-2013
Avatar de cesarsoftware
cesarsoftware cesarsoftware is offline
Miembro
 
Registrado: nov 2006
Posts: 241
Reputación: 20
cesarsoftware Va por buen camino
Tambien en probado con esto
Código Delphi [-]
type
   string437 = type AnsiString(437);
   function ExtraeGolpesDeMaquina(nombre: string; senal: word): string437;
Código Delphi [-]
function TFormMain.ExtraeGolpesDeMaquina(nombre: string; senal: word): string437;
var
  i: word;
  maquina: integer;
  res: string437;
begin
  maquina := BuscaIndiceDeMaquina(nombre);
  if maquina = -1 then
  begin
    res := String437('[3,' + nombre + ',Máquina no encontrada]');
    Result := res;
    Exit;
  end;
  res := '[0,';
  if senal = 0 then
  begin
    // todos los golpes
    for i := 0 to 5 do
      res := res + String437(IntToStr(DCx[maquina].Contadores[i])) + ',';
    res := Copy(res, 1, Length(res) - 1); // quitarle ultima coma
  end
  else
  begin
    if (senal < 1) or (senal > 6) then
      res := '[4,' + 'Señal fuera de rango'
    else
      res := res + String437(IntToStr(DCx[maquina].Contadores[senal - 1]));
  end;
  res := res + ']';
  Result := res;
end;

Y la uso asi
Código Delphi [-]
  if comando = 'golpes' then
  begin
    msg := ExtraeGolpesDeMaquina(parametro, senal);
    TServidorSocket(Sender).rxClientes[rxCliente].Envia(AnsiString(msg));
  end;

Y al pasar por la funcion del mensaje anterior, he probado a que convierta a 437 y el tipo no es String437 y que la deje tal cual si el tipo si es String437, y en esta aplicación no funciona.
__________________
Disfruta de la vida ahora, vas a estar muerto mucho tiempo.
Responder Con Cita