Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-08-2007
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 22
luisgutierrezb Va por buen camino
se me ocurrio esto, cuestion de probarlo bien:

Código Delphi [-]
// basado en el codigo de Delphius

function AnioALetra(Anio: integer): string;
const
 LETRAS = 'KLMNPRSTVXZABCDEFHJ';
var dif: integer;
begin
 dif := (Anio + 14) mod 19 + 1;
 result := LETRAS[dif];
end;
Responder Con Cita
  #2  
Antiguo 01-08-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Cita:
Empezado por luisgutierrezb
se me ocurrio esto, cuestion de probarlo bien:


Código Delphi [-]
// basado en el codigo de Delphius

function AnioALetra(Anio: integer): string;
const
LETRAS = 'KLMNPRSTVXZABCDEFHJ';
var dif: integer;
begin
dif := (Anio + 14) mod 19 + 1;
result := LETRAS[dif];
end;



SOLUCIONADO

Gracias a todos por la ayuda. Implemente esta funcion y el resultado fue optimo. Ahora bien, utilice un poco de todas las ideas para hacer una acorde a los cambios que necesitaba y logre solucionarlo.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #3  
Antiguo 01-08-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Ahora, me surgio una duda. Que pasa si quiciera hacer el proceso inverso?? es decir, si segun la letra que introduzca, me devuelva al año que equivale, obviamente dentro de las 19 posibles letras.

Código Delphi [-]
 
function LetraAnio(Letra:string):string;
.....
 
...
//"2007"
Label1.Caption:=LetraAnio('T');

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #4  
Antiguo 01-08-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
SOLUCIONADO

Gracias a todos por sus consejos. Ya he logrado hacerlo.

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #5  
Antiguo 01-08-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Hola mamu, seria bueno y hasta cortés que postearas la solución para futuras consultas de compañeros que tengamos la misma duda.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 01-08-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Poder: 21
MaMu Va por buen camino
Cita:
Empezado por egostar
Hola mamu, seria bueno y hasta cortés que postearas la solución para futuras consultas de compañeros que tengamos la misma duda.

Salud OS.
Si, mil disculpas, se me pasó.

Esta es la solución, mas bien, una variante, pero que se ajustó perfectamente a mi aplicación.

Código Delphi [-]
function LetraAnio(Letra: string;Orden:Boolean):string;
const
 LETRAS = 'KLMNPRSTVXZABCDEFHJ';
var a,m,d:word;
    i,cont:integer;
begin
  cont:=0;
  DecodeDate(now(),a,m,d);
  for i:=1 to 19 do
    begin
      cont:=cont+1;
      if Orden=True
      then begin
      if Letra=LETRAS[i]
        then begin
          cont:=cont-1;
          if cont<=10 then Result:=IntToStr(2000+cont)
          else Result:=IntToStr(2000+cont-19);
        end;
      end
      else begin
      if Letra=LETRAS[i]
        then begin
          cont:=cont-1;
          if cont<=10 then Result:=IntToStr(2000+cont-19)
            else Result:=IntToStr(2000+cont);
        end;
      end;  
    end;
end;

Saludos
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita
  #7  
Antiguo 02-08-2007
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 22
luisgutierrezb Va por buen camino
a lo mejor es un poco tarde, pero se me ocurrio esto para lo inverso:

Código Delphi [-]
// basado en el codigo de Delphius

function LetraAAnio(Letra: Char): Integer;
const
  LETRAS = 'KLMNPRSTVXZABCDEFHJ';
var 
  i,j: integer; 
begin
  i := Pos(AnioALetra(Year(Now)), Letras);
  j := Pos(Letra, Letras);
  if i <= j then
    Result := Year(Now) + (j-i)
  else
    Result := Year(Now) - (i-j)
end;
Responder Con Cita
  #8  
Antiguo 02-08-2007
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.966
Poder: 29
delphi.com.ar Va camino a la fama
Yo tambien quiero:

Código Delphi [-]
const
   LETRAS = 'DEFHJKLMNPRSTVXZABC';
begin
   Result := LETRAS[(MyYear) mod 19 + 1];

Otra aún mas simple:

Código Delphi [-]
const
  LETRAS : array[0..19] of char = 'DEFHJKLMNPRSTVXZABC';
begin
  Result := LETRAS[(MyYear) mod 19];
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.

Última edición por delphi.com.ar fecha: 02-08-2007 a las 01:41:01.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
condición de query Dantael SQL 3 06-06-2007 06:44:37
filtrado por condicion aanil OOP 3 03-08-2006 20:13:22
Finalizar una Condición jdangosto OOP 3 02-12-2005 09:57:38
condicion en un edit !! romansiux Varios 5 10-04-2005 03:25:40
condicion IF haffo Varios 11 06-11-2003 23:36:04


La franja horaria es GMT +2. Ahora son las 12:47:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi