Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-12-2011
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Buen dia Foro..

Disculpa por meterme aca y no abrir un hilo nuevo, pero ya que estaba este problema planteado y al codigo lo saque de este hilo, me gustaria consultar una duda y un problema que tengo con tal codigo..
Yo estoy utilizando este codigo
Código Delphi [-]
if MiTabla.Locate('campo1; campo2; campo3', VarArrayOf[Valor1, Valor2, Valor3], []) then

pero el error que me salta ami es
Código:
[Error] Not enough actual parameters
yo lo interprete como que no hay suficientes parametros.. les paso mi codigo actual
Código Delphi [-]
...
var
  mes, anioo: Word;
  fecha: TDate;
  dia, mess: string;

begin
  case Meses.ItemIndex of
    1: mes:=1;
    2: mes:=2;
    3: mes:=3;
    4: mes:=4;
    5: mes:=5;
    6: mes:=6;
    7: mes:=7;
    8: mes:=8;
    9: mes:=9;
    10: mes:=10;
    11: mes:=11;
    12: mes:=12;
  end;
  case mes of
    1: mess:='ENERO';
    2: mess:='FEBRERO';
    3: mess:='MARZO';
    4: mess:='ABRIL';
    5: mess:='MAYO';
    6: mess:='JUNIO';
    7: mess:='JULIO';
    8: mess:='AGOSTO';
    9: mess:='SEPTIEMBRE';
    10: mess:='OCTUBRE';
    11: mess:='NOVIEMBRE';
    12: mess:='DICIEMBRE';
  end;
  case anio.ItemIndex of
    1: anioo:=2011;
    2: anioo:=2012;
    3: anioo:=2013;
    4: anioo:=2014;
    5: anioo:=2015;
    6: anioo:=2016;
    7: anioo:=2017;
    8: anioo:=2018;
    9: anioo:=2019;
    10: anioo:=2020;
  end;
  if not (DM.Q_agen_tur.Locate('MES; ANIO', VarArrayOf[mess, anioo], []))then
...

Me podrian decir donde o que estoy haciendo mal.. Desde ya muchisimas gracias..
Responder Con Cita
  #2  
Antiguo 02-12-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Vales.

Cita:
Yo estoy utilizando este codigo

Código Delphi [-]
if MiTabla.Locate('campo1; campo2; campo3', VarArrayOf[Valor1, Valor2, Valor3], []) then
La sintáxis correcta es:
Código Delphi [-]
   Locate('Campo1; Campo2;...', VarArrayOf ( [Valor1, Valor2, ...] ), [])

Por favor recordá que : nueva pregunta = nuevo hilo

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 02-12-2011
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Buen día.

Además de lo ya dicho por ecfisa, añadiría que tu código puede mejorar de varias maneras. Por ejemplo, mirá este código equivalente (pero más compacto):

Código Delphi [-]
...
var
  Año: Word;
  Mes: string;
const
  NombreMes: array[1..12] of string = ('ENERO', 'FEBRERO', 'MARZO', 'ABRIL', 'MAYO'
    , 'JUNIO', 'JULIO', 'AGOSTO', 'SEPTIEMBRE', 'OCTUBRE', 'NOVIEMBRE', 'DICIEMBRE');

begin
  //cuidado, el primer elemento del ComboBox (parece ser eso) tiene index 0, quizas haya que 
  //correr el arreglo, pero lo dejo así para que sea equivalente con el código publicado originalmente
  Mes := NombreMes[Meses.ItemIndex];
  Año := Anio.ItemIndex + 2010;
  if not DM.Q_agen_tur.Locate('MES; ANIO', VarArrayOf([Mes, Año]), []) then
...

Un saludo.

Cita:
Empezado por Vales08 Ver Mensaje
Disculpa por meterme aca y no abrir un hilo nuevo, pero ya que estaba este problema planteado y al codigo lo saque de este hilo, me gustaria consultar una duda y un problema que tengo con tal codigo..
Con respecto de esto, en este caso particular yo no veo problema en que no se abra un hilo nuevo, de hecho, creo que es mejor hacer tu consulta aquí para estar en contexto de lo ya dicho antes.

Un saludo.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 02-12-2011 a las 17:52:37.
Responder Con Cita
  #4  
Antiguo 02-12-2011
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Poder: 14
Vales08 Va por buen camino
Muchas gracias por sus respuestas, me comi los parentesis, aunque en verdad yo como no sabia la sintaxis me guie de la que habian expuesto y no sabia que los llevaba a tales parentesis, ahora me funciona barbaro..

Y con respecto al mejoramiento del codigo te lo agradezco jachguate, lo tendré en cuenta, aunque asi me funciona muy bien y estoy apunto de terminar este proyecto para ser entregado y rendir la tesis. si fuera en otra ocasion me tomaria el tiempo para hacerlo..

Muchas gracias por su tiempo, me fueron de gran ayuda..
Responder Con Cita
  #5  
Antiguo 12-12-2011
Avatar de PepeLolo
PepeLolo PepeLolo is offline
Miembro
 
Registrado: jun 2003
Ubicación: Fuenlabrada - Madrid - Espagna
Posts: 265
Poder: 21
PepeLolo Va por buen camino
Y porque no realizas el borrado del registro directamente con una sentencia
Código SQL [-]
DELETE FROM tuTabla WHERE mes = :mes and anio = :anio
si hay registros los borrará, en caso contrario no sucederá naa.
__________________
PepeLolo
El hombre el único virus que mide más de unas cuantas micras
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 01:57:07.


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