Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
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 16-02-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
A ver, se trata de una función suelta, no es para que la pongas dentro de ningún evento. Tal función la usarías en el momento que desees:

Código Delphi [-]
implementation

uses Date Utils;

function LaboralAnterior(ADate: TDate): TDate;
const
  Dias: array[1..7] of Integer = (3, 1, 1, 1, 1, 1, 2);

begin
  Result:= ADate - Dias[DayOfTheWeek(ADate)];
end;

procedure TForm7.FormCreate(Sender: TObject);
begin
  ...
end;

procedure TForm7.FormActivate(Sender: TObject);
begin
  HFecha.DateTime := LaboralAnterior(Now);
end;

// Saludos
Responder Con Cita
  #2  
Antiguo 16-02-2012
ZiriusB ZiriusB is offline
Miembro
 
Registrado: oct 2010
Posts: 86
Poder: 16
ZiriusB Va por buen camino
Me da exactamente el mismo error...lo estoy colocando justo como me dices pero me salta el error que comente arriba...

Código Delphi [-]
Result:= ADate - Dias[DayOfTheWeek(ADate)];

ERROR: [DCC Error] PaseHoras.pas(105): E2066 Missing operator or semicolon

justo en esa linea, pense que me faltaba algun parentesis o cerrar con ; pero lo copie tal cual como lo pasaste para ver! es decir esa linea pues
__________________
"Ningun precio es alto por el privilegio de ser uno mismo..."
Responder Con Cita
  #3  
Antiguo 16-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

A mi no me dá error ni siquiera en el evento OnCreate...

Código Delphi [-]
implementation

uses DateUtils;

function LaboralAnterior(ADate: TDate): TDate;
const
  Dias: array[1..7] of Integer = (3, 1, 1, 1, 1, 1, 2);
begin
  Result:= ADate - Dias[DayOfTheWeek(ADate)];
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   DateTimePicker1.Date:=  LaboralAnterior(Now);
end;
Este código funciona correctamente.

Por otro lado el error : Missing operator or semicolon, se produce por que falta un operador entre dos expresiones o por que falta un punto y coma entre dos sentencias.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 16-02-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
¡Ah! pero, cómo gastan líneas
Código Delphi [-]
function LaboralAnterior(ADate: TDate): TDate;
const
  Dias: array[1..7] of Integer = (3, 1, 1, 1, 1, 1, 2);

begin
  Result := ADate - Dias[DayOfTheWeek(ADate)];
end;
Lo siento pero el profe ya no acepta trabajos después de clase
Que ganas de destrozar la autoestima de los otros, ¡porqué no se me ocurrió antes!

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 17-02-2012
Avatar de kapcomx
kapcomx kapcomx is offline
Miembro
 
Registrado: jun 2007
Ubicación: Puebla México
Posts: 350
Poder: 20
kapcomx Va por buen camino
desde otro form

interesante funcion esa.

oye ZiriusB y si la ejecutas desde el formulario donde mandas a llamar el formulario que contiene ese datetimepicker.

algo asi como

Código Delphi [-]
 
formx.HFecha.DateTime := LaboralAnterior(Now);
formx.show;

saludos...
Responder Con Cita
  #6  
Antiguo 17-02-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y bueno, si les parecen muchas líneas, también podemos hacer así la función:

Código Delphi [-]
function LaboralAnterior(ADate: TDate): TDate;
begin
    Result := IncDay(ADate, -1-2*Integer(DayOfTheWeek(ADate) = 1)-Integer(DayOfTheWeek(ADate) = 7));
end;



// Saludos
Responder Con Cita
  #7  
Antiguo 17-02-2012
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por roman Ver Mensaje
Y bueno, si les parecen muchas líneas, también podemos hacer así la función:

Código Delphi [-]
function LaboralAnterior(ADate: TDate): TDate;
begin
    Result := IncDay(ADate, -1-2*Integer(DayOfTheWeek(ADate) = 1)-Integer(DayOfTheWeek(ADate) = 7));
end;



// Saludos
¿-1-2?

Lo tuyo ya es de presumido Te voy a acusar con el profe porque nos estás haciendo quedar mal

Yo me quedo con el case, definir el decremento y calcular.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
La semana del DBA roman Noticias 5 18-02-2010 19:49:33
restar/sumar 3 meses a un datetimepicker Milperrimo Varios 3 17-11-2007 00:50:16
Dia de la semana lokodelphi Varios 5 18-05-2006 22:46:32
La semana del Cu... jhonny Humor 0 23-12-2003 17:55:53
Contar dias de la semana entre fechas lolobs Varios 1 04-09-2003 16:11:24


La franja horaria es GMT +2. Ahora son las 23:26:13.


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