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