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 30-07-2007 20:53:32

Buscar un archivo
 
Hola a todos y gracias de antemano por vuestra ayuda.
Tengo este codigo en un boton:
Código Delphi [-]
procedure TFrCelda.pnl1Click(Sender: TObject);
var  Ruta: String;
begin
Selected := not Selected;
if DateToStr(Fecha) = '' Then   begin   
ShowMessage('día seleccionado no contiene nada');
   end   else
Ruta:= 'C:\'+FormatDateTime('dd-mm-yyyy',Fecha )+'.text';
   mmo1.Lines.LoadFromFile(Ruta);
end;

El problema lo tengo cuando no encuentra el archivo, me manda un error.
Lo que quiero en que me mande un mensage y no pase nada.
El archivo esta incluido en (Fecha) y la direccion en (Ruta).
se podra.?
saludos

Edito: No he podido arreglar el codigo, si me haceis el favor os lo agradezco.
Saludos

roman 30-07-2007 20:59:29

Código Delphi [-]
try
  mmo1.Lines.LoadFromFile(Ruta);
except
  ShowMessage('ni hablar, no encuentro tal archivo');
end;

// Saludos

delphi.com.ar 30-07-2007 21:01:51

Código Delphi [-]
  if FileExists(Ruta) then
    mmo1.Lines.LoadFromFile(Ruta);

Ante la evaluación negativa podrías mostrar otro mensaje.

PD:
Dudo que sea válido el código:
Código Delphi [-]
if DateToStr(Fecha) = '' Then
Ya que DateToStr nunca será '', en el caso de que la fecha sea 0 su conversión a string será: '30/12/1899', por lo que te recomiendo preguntar suponiendo que es lo que quieres:
Código Delphi [-]
if Fecha = 0 then...
Saludos!

egostar 30-07-2007 21:03:40

Hola amigo Carlos

No te sirve la función FileExists() :confused:

Código Delphi [-]
  Selected := not Selected;
  if DateToStr(Fecha) = '' then begin
     ShowMessage('día seleccionado no contiene nada');
  end
  else Ruta:= 'C:\'+FormatDateTime('dd-mm-yyyy',Fecha )+'.text';
  if FileExists(Ruta) then
     memo1.Lines.LoadFromFile(Ruta);

Salud OS

Edito: Orale, no sean tán rápidos......:D:D:D:D

Por otro lado, no será que quieres que la extensión sea TXT en lugar de TEXT. :D

Caral 30-07-2007 21:05:09

Hola
Gracias Roman.
Me sigue mandando el error:
Código Delphi [-]
Selected := not Selected;
  if DateToStr(Fecha) = '' Then
  begin
  ShowMessage('día seleccionado no contiene nada');
  end
  else
  Ruta:= 'C:\'+FormatDateTime('dd-mm-yyyy',Fecha )+'.text';
  try
  mmo1.Lines.LoadFromFile(Ruta);
  except
  ShowMessage('ni hablar, no encuentro tal archivo');
  end;
Saludos

roman 30-07-2007 21:08:47

Cita:

Empezado por Caral
Me sigue mandando el error:

Eso ha de ser porque lo ejecutas desde el IDE. Pero viendo las otras respuestas, yo también usaría el FileExists.

// Saludos

Caral 30-07-2007 21:09:48

Hola
Sois unos verdaderos Maestros quedo asi:
Código Delphi [-]
procedure TFrCelda.pnl1Click(Sender: TObject);
var
 Ruta: String;
begin
  Selected := not Selected;
  Ruta:= 'C:\'+FormatDateTime('dd-mm-yyyy',Fecha )+'.text';
  if FileExists(Ruta) then
  begin
  mmo1.Lines.LoadFromFile(Ruta);
  end
  else
  ShowMessage('día seleccionado no contiene nada');
end;
Muchas gracias por la ayuda, Maestros y amigos.
Saludos

Caral 30-07-2007 21:14:08

Hola
A proposito de este asunto.
Estoy modificando un programa que hizo Lepe, de un calendario dinamico, muy interesante.
El asunto era poder escribir en el y que se grabara la informacion en un archivo.
Ahora, cuando se preiona el dia, sale el archivo, lo que se me ocurria era que al elecutar el Programa saliera de una vez el archivo, lo que pasa es que crea unos componentes y hace otras cosas que no entiendo, cuando lo termine lo trato de subir a ver si os ocurre algo.
Saludos

Neftali [Germán.Estévez] 31-07-2007 11:25:46

Cita:

Empezado por Caral
Ahora, cuando se preiona el dia, sale el archivo, lo que se me ocurria era que al elecutar el Programa saliera de una vez el archivo,...

Esto no he acabado de enterderlo...
Si te refieres a que al entrar no haya que pulsar sobre el día actual para que haga algo, sino que lo haga automáticamente, se podría hacer usando el Now y llamando al evento/procedimiento de presionar el día sobre el actual.

Pero lo dicho, no se si estoy desvariando...

Caral 31-07-2007 17:36:39

Hola
Gracias Neftali, el problema es que se genera un mes completo, parecido al datetimepicker, con campos para escribir, cada campo es un dia, cada dia un archivo, cada archivo se nombra con el nombre del dia asi: (02/07/2007.text).
Cuando se da un click al dia, este trae su correspondiente archivo, lo que queria hacer es que cuando se creara el mes se trajera la informacion de los dias de paso, pero no lo he conseguido.
Se que es muy dificil de entender sin ver el codigo, solamente estoy esperando que se solucione el problema de los adjuntos para colocarlo aqui, asi lo entendereis mejor.
Saludos

egostar 31-07-2007 17:42:03

No se que quieras hacer amigo Carlos pero me imagino que es algo como una agenda, porque no usas una tabla donde tenga la fecha y un memo y puedes mostrar un tipo calendario con un memo mostrando el contenido de ese dia.

Salud OS.

Caral 31-07-2007 17:55:31

Hola
Me leíste el pensamiento amigo, ya lo intente, hacerlo empezando un programa, con una base de datos, un memo, etc, no tiene reto, para mi el reto esta en hacerlo con este calendario que hizo Lepe, este genera los meses con un solo memo, usa un Frame, ese es mi problema el Frame, que no lo logro dominar, ya me conoces, asta que no lo logre no lo dejo.:D
Una vez que tenga esto, me gustaria colocarlo aqui para que lo veais y me podais ayudar con mas informacion.
La idea de este calendario de Lepe esta muy bien, mi idea era ayudar a algunos que quieren hacer un sistema para un Hotel, reservaciones, habitaciones ocupadas etc, es una practica interesante.
Con suerte algun dia puedo decir que soy un casi, programador.:D
Saludos

egostar 31-07-2007 18:03:11

Algo así?

http://www.clubdelphi.com/foros/show...96&postcount=3

Salud OS.

Neftali [Germán.Estévez] 31-07-2007 18:05:31

Cita:

Empezado por Caral
...solamente estoy esperando que se solucione el problema de los adjuntos para colocarlo aqui, asi lo entendereis mejor.

Recuerdo vágamente el calendario de Lepe, que se generaba en ejecución segun los días del mes.
Si tienes problemas con los adjuntos, puedes subirlo al directorio temporal del FTP, cuando el problema de los adjuntos quede solucionado o cuando acabe el hilo lo movemos/borramos (lo que convenga) y listo.

Caral 31-07-2007 18:11:58

Hola
Vamos amigo, no bromees.:D
Para hacer algo asi necesito muchos, pero muchos años mas.
A proposito, cuando lo liberas.:)
Saludos

Caral 31-07-2007 18:13:54

Hola
Gracias Neftali
Lo voy a subir le calendario, como lo tengo, cuando se normalice la situacion lo borras, por favor.
Saludos

Caral 31-07-2007 18:23:00

Hola
Aqui esta:
http://www.terawiki.clubdelphi.com/a...Pruebas%29.zip
Probadlo y ya me direis algo.
Como digo, la idea es que se vea la informacion de los archivos al crear el mes, de momento.
Saludos

egostar 31-07-2007 18:23:39

Cita:

Empezado por Caral
Hola
Vamos amigo, no bromees.:D
Para hacer algo asi necesito muchos, pero muchos años mas.
A proposito, cuando lo liberas.:)
Saludos

Siento decirte amigo Carlos que no lo puedo liberar porque es un desarrollo que me ha pagado un cliente y forma parte de su portafolio de servicios.

Salud OS.

Caral 31-07-2007 18:28:04

Hola
Ya se amigo, sabes que era un broma, se que vosotros os dedicais a esto y no es tan facil liberar los programas y menos si os han pagado el proyecto.
Saludos

egostar 31-07-2007 19:15:20

Ya he visto lo que has hecho amigo Carlos, está muy bien, pero me sigue dando vueltas el hecho de que quieras usar archivos de texto para implementar lo escrito en cada dia.

Yo usaría una tabla con esta estructura

Fecha {Date}
Comentarios {Memo}
Status { Integer, Para realizar borrados lógicos no físicos }

No se pero a mi no me gusta ser tan drástico al borrar algo, mejor le asigno un estado para saber si está inactivo, activo, borrado, etc... Uno nunca sabe cuando salta la liebre :D

En fin solo es mi punto de Vista (MS) :D:D:D.

Salud OS.


La franja horaria es GMT +2. Ahora son las 21:01:59.

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