Ver Mensaje Individual
  #5  
Antiguo 25-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Reputación: 15
BrunoBsso Va por buen camino
No sé si te guste, pero hice una función a tu medida (y hasta con tu nick)
Código Delphi [-]
function gcc32(Horario:TTime):String;
var
  I:Integer;
  HoraAux,S:String;
begin
  Result:='';
  HoraAux:=TimeToStr(Horario);
  S:='';
  I:=1;
  while (HoraAux[i] <> ':') do begin
    S:=S+HoraAux[i];
    Inc(I);
  end;
  S:=IntToStr(StrToInt(S)-1); //Le saco 1 a la hora
  if (S[1]='-') then //Verifico un posible número negativo
    S:='23';
  if (Length(S)=1) then //Verificar existencia de ceros (8 -> 08)
    S:='0'+S;
  Result:=Result+S;
  //Ya puse la hora
  S:='';
  Inc(I);
  while (HoraAux[i] <> ':') do begin
    S:=S+HoraAux[i];
    Inc(I);
  end;
  if (Length(S)=2) then
    S[2]:='0'
  else
    if (Length(S)=1) then
      S:='0'+S;
  Result:=Result+S;
  //Tengo los minutos
end;
Creo que es fácil de entender, porque es todo código a mano.
Aunque siempre la mejor alternativa es usar lo que te brinda el lenguaje, esta creo que no es una mala alternativa.
Saludos!

EDIT: ya verifica números negativos, ahora anda joya.

Última edición por BrunoBsso fecha: 25-03-2010 a las 13:47:08. Razón: Negativos...
Responder Con Cita