Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Buscar un archivo (https://www.clubdelphi.com/foros/showthread.php?t=46381)

Caral 31-07-2007 19:22:17

Hola
Cita:

Escrito por Egostar:
Ya he visto lo que has hecho amigo Carlos
En principio es lo mismo que el programa de Lepe, solo un poco mas extendido.:)
Intente hacerlo con una base de datos, cambiando el memo por un dbmemo, pero, no me lee de la tabla, pienso que debe ser por tener un solo memo creado y repetido tantas veces como dias.
Me gustaria hacerlo con una base de datos, no se como, no me sale, me das un empujón.:D
Saludos

egostar 31-07-2007 19:51:01

Cita:

Empezado por Caral
Hola

En principio es lo mismo que el programa de Lepe, solo un poco mas extendido.:)
Intente hacerlo con una base de datos, cambiando el memo por un dbmemo, pero, no me lee de la tabla, pienso que debe ser por tener un solo memo creado y repetido tantas veces como dias.
Me gustaria hacerlo con una base de datos, no se como, no me sale, me das un empujón.:D
Saludos

Veo que muestras la información cuando das click en el día, puedes hacer esto en el mismo evento.

Código Delphi [-]
  TuQuery.SQL.Text := 'select campo_memo from tabla where fecha = :fecha';
  TuQuery.ParamByName('fecha').AsDate := Fecha;
  TuQuery.Open;
  if TuQuery.RecordCount > 0 then begin
    mmo.Lines.Add(TuQuery.fields[0].asString);
  end;

Salud OS.

Caral 31-07-2007 20:47:42

Hola
No hay manera, por mas que intento, no me recoge la informacion.
Sigo intentando.
Saludos

Caral 31-07-2007 20:56:08

Hola
Puedes intentar hacer una base de datos, ojala access, y veras a lo que me refiero, no da errores, pero no carga nada, le he dado vueltas al codigo y nada.
Saludos

Caral 31-07-2007 21:12:11

Hola
Me acaba de pasar algo curioso, usando este codigo:
Código Delphi [-]
  ShortDateFormat := 'mm/dd/yyyy';
  ADOQuery1.SQL.Text := 'Select Comentarios From Dias WHERE Fecha = '+DateToStr(Fecha);
   ADOQuery1.Active := True;
   ShortDateFormat := 'dd/mm/yyyy';
   mmo1.Lines.Text:= ADOQuery1.Fields[0].Text;
Me devuelve la palabra (MEMO) en cualquier dia que presione.
Que sera?, nunca me ha pasado algo asi.:D
Saludos

egostar 31-07-2007 22:25:39

Hola amigo Carlos.

Hice las pruebas con una tabla paradox, no tengo access (sorry), aqui te pongo como quedaron las funciones

Código Delphi [-]
procedure TFrCelda.pnl1Click(Sender: TObject);
begin
  Selected := not Selected;
  Form1.Query1.Close;
  Form1.Query1.ParamByName('fecha').AsDate := Fecha;
  Form1.Query1.Open;
  if Form1.Query1.RecordCount > 0 then begin
     mmo1.Lines.Add(Form1.Query1.FieldByName('CampoMemo').Value);
  end;
end;

procedure TFrCelda.Panel1Click(Sender: TObject);
begin
  with Form1.Table1 do begin
     Open;
     Append;
     Form1.Table1Fecha.Value := Fecha;
     Form1.Table1CampoMemo.Value := Mmo1.Text;
     Form1.Table1Status.Value := 0;
     Post;
     Close;
  end;
  mmo1.Lines.Clear;
end;

La sentencia SQL del query es esta

Código SQL [-]
 
select * from agenda
where fecha = :fecha

Funciona sin problema.

Salud OS

Edito

Cuando agregas comentario debes de validar que no exista esa fecha asignada, de otra forma tendrás latosas inconsistencias :D

Caral 31-07-2007 23:04:08

Hola
Lo voy a revisar, te comento, gracias.
Saludos

Caral 01-08-2007 04:39:17

Hola
Bueno, aqui los resultados:
Ya coloque la base de datos, con la tabla Dias y los campos, Fecha, Comentarios, Estado.
Coloque el codigo que me diste, en Access no es igual la sintaxis, pero esencialmente similar, asi:
Recoger informacion:
Código Delphi [-]
procedure TFrCelda.pnl1Click(Sender: TObject);
begin
  Selected := not Selected;
  Form1.ADOQuery1.Close;
  Form1.ADOQuery1.Parameters.ParamByName('fecha').Value := Fecha;
  Form1.ADOQuery1.Open;
  if Form1.ADOQuery1.RecordCount  > 0 then
  begin
  mmo1.Lines.Add(Form1.ADOQuery1.Fields[1].AsString);
  end;
end;
Y Grabar la informacion:
Código Delphi [-]
procedure TFrCelda.Panel1Click(Sender: TObject);
begin
   with Form1.ADOTable1 do begin
     Open;
     Append;
     Form1.ADOTable1Fecha.Value := Fecha;
     Form1.ADOTable1Comentarios.Value := mmo1.Text;
     Form1.ADOTable1Estado.Value := '0';
     Post;
     Close;
  end;
  mmo1.Lines.Clear;
end;
Para grabar la informacion no hay problema lo hace perfectamente.
Para recoger la informacion, solo recoge el primer dato de la tabla y no respeta la fecha.
Fecha...........Comentarios.........Estado
05/07/2007......nada.................0
06/07/2007......otro..................0
Siempre muestra el primer dato, no importa en que dia se presione.
A que se debera esto, no lo entiendo.?
Saludos

Neftali [Germán.Estévez] 01-08-2007 10:32:25

Ya veo que habéis seguido por el camino de la Base de Datos.
De todas formas, ya que el ejemplo estaba arriba, he subido un par de cambios (versión 2)
* Que se carguen todos los ficheros al crear o cambiar de mes
* Cambios para que los ficheros se creen en el directorio de applicación (carpeta) y no en C:\Dias (que era un poco molesto).

Seguramente si váis avanzando con la verión de BD también te pueden servir.

Un saludo.

Caral 01-08-2007 18:30:18

Hola
Muy Util la modificacion ademas de practica, me alegro que le ayas metido mano, espero que Lepe no se enoje con nosotros por tocar su juguete, mas bien ojala le gusten los cambios.
La parte de la base de datos es interesante, por que da la oportunidad de incorporar el calendario a un proyecto, el problema es que todavia no camina, nos das un empujon?.
Saludos

egostar 01-08-2007 19:34:12

Cita:

Empezado por Caral
Para grabar la informacion no hay problema lo hace perfectamente.
Para recoger la informacion, solo recoge el primer dato de la tabla y no respeta la fecha.
Fecha...........Comentarios.........Estado
05/07/2007......nada.................0
06/07/2007......otro..................0
Siempre muestra el primer dato, no importa en que dia se presione.
A que se debera esto, no lo entiendo.?
Saludos

Ta raro Carlos, yo no tengo problema, si me muestra los datos correctamente

http://img54.imageshack.us/img54/2491/calendarioym1.png

Salud OS.

Edito: Lo que agregue en el evento donde muestras el comentario, es borrar el memo antes de mostrarlo, porque se duplica

Código Delphi [-]
mmo1.lines.clear;

Caral 01-08-2007 21:09:52

Hola
Pues nada amigo, esto a mi no me camina y creo que no tiene que ver con access, veo que usas los componentes BDE, creo que la diferencia esta ahi, yo estoy usando ADO.
Podrias hacer una prueba con ADO?, a ver que pasa, no se si se pueden usar con paradox.
Saludos

egostar 01-08-2007 21:45:58

Hola amigo, puedes colocar el programa en el ftp del club y tambien la base para hacer pruebas con lo mismo.:confused:

Salud OS

Caral 01-08-2007 23:09:49

Hola
Aqui esta:
http://www.terawiki.clubdelphi.com/a...29%28BD%29.zip
A ver que podemos hacer, no se por que se me esta escapando de las manos.
Saludos

egostar 02-08-2007 00:03:58

Se me hace que ya se donde esta el problema amigo Carlos, tu campo de fecha está asignado como TIMESTAMP solo el primero no tiene hora, por eso es que siempre toma el primero.

Cambia el campo por solo fecha y no FECHA-HORA

Salud OS.

Edito

Aquí como está la base.

Caral 02-08-2007 00:16:21

Hola Amigo
En access no hay Fecha existe Fecha/hora y se le pone una entrada dependiendo de lo que se necesite en mi caso fecha corta osea 01/08/2007 asi se guardara en la tabla.
No crees que sea otra cosa?.
Vamos bájate OpenOffice y lo revisas.:D
Saludos

egostar 02-08-2007 00:20:38

Cita:

Empezado por Caral
Hola Amigo
En access no hay Fecha existe Fecha/hora y se le pone una entrada dependiendo de lo que se necesite en mi caso fecha corta osea 01/08/2007 asi se guardara en la tabla.
No crees que sea otra cosa?.
Vamos bájate OpenOffice y lo revisas.:D
Saludos

Si entiendo, por eso no me gusta access, luego luego las limitaciones :D:D:D, ya en serio, me imagno que necesitas pasar la hora tambien , porque no la pasas como 00:00:00, y buscas la llave como fecha + '00:00:00'.

La otra, porque no mejor usas un campo string de 10 posiciones y pasas la fecha :rolleyes:,

Bueno, solo es mi humilde (palabra muy de moda en el sector NOTICIAS :D:D) punto de vista.....

Salud OS

Edito. si ves la imagen que puse, asi me está guardando los registros, (fecha y hora)

Caral 02-08-2007 00:40:58

Hola
Ya se me había ocurrido lo del string, cuando hay desesperacion se recurre a eso:D , pero da un error en Fecha.
Es la primera vez que me pasa algo asi, siempre pongo la fecha sin hora y sin problemas y en access, creo que el problema esta a la hora de la captura en la variable Fecha, esta es de tipo DateTime y no la puedo cambiar a solo Date.
Estos son los misterios sin resolver, buen programa por cierto.:D
Amigo, estamos mal, no hay manera, necesitamos un exorcista, Lepe?.:rolleyes:
Saludos
Edite una Palabra: Desorcisador, ya que el que exorcisa o un esorcisador buen exorcista sera.:D


La franja horaria es GMT +2. Ahora son las 10:51:48.

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