Ver Mensaje Individual
  #3  
Antiguo 16-03-2010
Jucho69 Jucho69 is offline
Miembro
 
Registrado: ene 2007
Ubicación: Ciudad Habana, Cuba
Posts: 118
Reputación: 20
Jucho69 Va por buen camino
Hola

No soy un experto ni por mucho, pero como me han ayudado tambien en este Foro trato de hacer lo mismo

A mi me funciona esta solución:

Adapté una función que encontré en Trucosmania.

function GetToken(Cadena,Separador:string;Token:integer):string;
var
Posicion:integer;
begin
while Token > 1 do begin
Delete(Cadena,1,Pos(Separador,Cadena));
Dec(Token);
end;
Posicion:=Pos(Separador,Cadena);
if Posicion=0
then result:=cadena
else Result:=Copy(Cadena,1,Posicion-Length(Separador));
end;


Luego hice esta solución:

Busco la fecha con el formáto que tenga y la almaceno en un label como en este caso

label13.Caption:=GetLocalT; //// fecha del Sistema ////
for n:=1 to 1 do
Combobox28.Items.Add(GetToken(label13.Caption,' ',n));
Combobox28.Items.Delete(2);
for n:=1 to 2 do
Combobox28.Items.Add(GetToken(label13.Caption,'/',n));
for n:=1 to 3 do
sep:=(GetToken(label13.Caption,'/',n));delete(sep,5,20);
b:=(GetToken(label13.Caption,'/',n));delete(b,2,20);

Al final tengo un combo con varios itens que corresponden a partes de la fecha, solo tienes que usarlos (unirlos) segun necesites y funciona con otros formátos de fecha de la pc, (01/03/2009 o 1/3/09) yo tuve problemas con eso y para no meterme en configuraciones de pc de los usuarios hice esto.

No obstante estoy a la caza de soluciones mejores y menos complicadas
que algun maestro debe tener por aquí.

Saludos
Responder Con Cita