Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2007
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Angry Verificación de los datos grabados en CD o DVD

Hola.
Tengo escrita una pequeña aplicación que toma los archivos de un directorio y los graba en CD o DVD. La grabación funciona sin problemas.

Hoy necesito agregarle la posibilidad de verificar que los datos del CD o DVD recién grabado se hayan escrito correctamente (como la opción "verificar datos escritos" en programas como Nero). La implementación en principio es simple, ya que me limito a leer archivo por archivo en el CD o DVD, y voy comparándolos con los que están en el disco rígido.

El problema es que al ser un CD recién grabado, la lectura que realizo se está realizando desde la caché (o sea en memoria) y no fisicamente desde el CD recién grabado.

Obviamente me dice que todos los archivos son idénticos , pero la pregunta es cómo puedo hacer (¿ vaciar la cache ?) para que la lectura se haga desde el CD, como lo hace cualquier programa (Nero, por ejemplo) de grabación de CD.

Saludos cordiales desde Argentina, Tux
Responder Con Cita
  #2  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No me queda claro lo que dices de que la "lectura la realizas desde la caché". Si tienes que comparar los archivos. Si tú lees un archivo "E:\archivo.bmp" siendo "E" la letra del disco recién grabado... ¿cómo es eso de que lees el archivo desde la caché? No me queda claro.

Habría que ver también si guardas las rutas de los archivos grabados... para ir "comparándolos" con los archivos originales. Y entrecomillo "comparándolos" porque se me ocurre que puedes compararlos por su "MD5", por ejemplo, o de otro(s) modo(s)...

No sé. Yo creo que habría que aclarar unas cuantas cosas antes de echar para adelante...

A mí el asunto puede parecerme al principio no demasiado complicado, pero, cuando lo piensas un poco...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 15-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Lo que voy a decir puede que sea una tontería, pero puedes abrir y luego volver a cerrar la bandeja del cd, de esta manera sera como si insertaras un disco nuevo y no influiría la cache.

Es todo lo que puedo decirte por ahora, ya que no dices que método estas utilizando para grabar, ni que librerías utilizas (si lo haces) o si usas alguna aplicación de terceros.
Responder Con Cita
  #4  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo sigo sin ver dónde entra la "caché" esa (claro que tampoco sé de dónde sale). Lo digo en serio, si estoy confundido me lo hacéis saber por favor. Porque si suponemos que existe un disco en la unidad "E" (pongamos por caso) y yo escribo esto:

Código Delphi [-]
if FileExists('E:\archivo.bmp') then
  ShowMessage('El archivo existe');

¿Qué se supone que estoy "preguntando"? ¿Si existe el archivo en la "caché"? No, señor. Estoy preguntando si existe un archivo en la ruta que indico: ¿y no se me va a responder si existe o no existe? ¿Dónde entra ahí la "caché"?

Desde la ignorancia acreditada que me caracteriza, espero que me ilumine vuestra sin duda ilustrada ayuda.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 15-01-2007
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Smile

Desde ya les agradezco por su respuesta

La cosa es así:
1) Grabo unos archivos usando un componente de Delphi para grabación en CD/DVD.
2) Cuando termino de grabar deseo realizar una verificación de los archivos grabados.
3) Abro y cierro la tapa de la grabadora, pero el caché de Windows 2000 no se vacía. Cuando trato de leer los archivos de la grabadora para realizar la comparación con los del rígido, los lee del caché y no del CD/DVD en sí.

En definitiva necesito vaciar la caché de Windows para esa unidad, pero no se como. El Nero lo hace sin siquiera abrir la tapa....

Saludos cordiales desde Argentina, Tux
Responder Con Cita
  #6  
Antiguo 15-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo entiendo que el componente que estés utilizando para grabar en el CD tiene que proporcionarte la posibilidad de lidiar con la caché famosa. Pero, aún sí, sigo sin comprender cómo si yo trato de averiguar si existe un archivo en el CD Windows me va a decir una cosa u otra mirando en la caché... ¿pero no le estoy dando la ruta del archivo que quiero? ¿Entonces a qué se mete la caché por medio? Sigo sin comprenderlo, la verdad.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 16-01-2007
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Unhappy

Hola.
No tengo control si la lectura se realizará desde la caché de lectura del sistema operativo o del mismo CD. Me doy cuenta que se realiza desde la cache porque al leer los archivos del CD recién escrito la luz de la unidad ni se enciende, y la lectura es rapidísima. Eso lo controla el sistema operativo. He probado expulsar el CD y volverlo a insertar, pero Windows se da cuenta que es el mismo CD (por el número de serie) y la lectura la realiza desde la cache de lectura.

El componente que estoy usando (MagicBurner) solo controla la parte de grabación, pero no veo que tenga ninguna funcion para vaciar la cache de lectura de unidades removibles.

Poder se que se puede, sin ir más lejos Nero lo hace cuando activamos la opción de "verificar los datos escritos".


Saludos desde Argentina, Tux
Responder Con Cita
  #8  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A ver... no sabemos qué hace Nero, ¿verdad? Tú dices que no tienes control sobre si la lectura se realizará desde la caché del sistema operativo o desde el CD, pero, ¿esto cómo es posible?

Si eres tú quien implementa la comprobación de los archivos, eres tú el que tiene que codificar lo que sea menester para llevar a cabo la tarea. Ahora bien, tú grabaste los datos en el CD... y hasta aquí la participación de la caché del sistema operativo y del componente MagicBurner.

A partir de ahí (en mi ignorante opinión) eres tú quien debe implementar la comprobación de los archivos grabados. Y ya me dirás porqué no puedes hacerlo como quieras...

Es decir, si guardas antes de grabar las rutas de los archivos a grabar, por un lado, y luego compruebas que los archivos están donde deben estar en el CD... hágase esto como se tenga que hacer, repito que no sé dónde entra la caché del sistema operativo...

Pongamos por caso que grabas el archivo "C:\archivo.bmp" en el CD que se encuentra en la unidad "E". Para comprobar que el archivo se grabó correctamente una posible forma sería obtener el MD5 del archivo "C:\archivo.bmp" y compararlo con el del archivo "E:\archivo.bmp". Evidentemente este último ha de existir: de no ser así ya sabríamos que la grabación no terminó correctamente.

Pero tú para comprobar la existencia del archivo "E:\archivo.bmp" utilizarás la función "FileExists" (por simplificar el ejemplo) y le dirás al sistema operativo que te diga si el archivo "E:\archivo.bmp" existe o no existe: no si existe en la caché o no existe en la caché, sino si existe el archivo "E:\archivo.bmp". Así que no sé si me estoy perdiendo algo o qué...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 16-01-2007
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
¿No te servirá la función FlushFileBuffers?

// Saludos
Responder Con Cita
  #10  
Antiguo 16-01-2007
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Cita:
Empezado por dec
Pongamos por caso que grabas el archivo "C:\archivo.bmp" en el CD que se encuentra en la unidad "E". Para comprobar que el archivo se grabó correctamente una posible forma sería obtener el MD5 del archivo "C:\archivo.bmp" y compararlo con el del archivo "E:\archivo.bmp". Evidentemente este último ha de existir: de no ser así ya sabríamos que la grabación no terminó correctamente.

Pero tú para comprobar la existencia del archivo "E:\archivo.bmp" utilizarás la función "FileExists" (por simplificar el ejemplo) y le dirás al sistema operativo que te diga si el archivo "E:\archivo.bmp" existe o no existe: no si existe en la caché o no existe en la caché, sino si existe el archivo "E:\archivo.bmp". Así que no sé si me estoy perdiendo algo o qué...
Lo haga con md5sum, o con una función de comparación en memoria usando streams, lo haga de la forma en que lo haga, el problema no es ese. El problema está en la cache de lectura que Windows implementa en las unidades removibles, en este caso la grabadora de CD. Esta cache hace que al CD recien grabado no me lo lea fisicamente.

El problema es (voy a usar las letras de unidades de tu mensaje) es que cuando leo la unidad E: ,no me lee fisicamente el CD, sino que (al ser pocos datos los que grabo en el CD, 150 Mb como mucho) a los archivos los lee de la memoria (ya que Windows cachea las lecturas en las unidades removibles, y al ser un CD recién grabado, entonces su contenido está "cacheado"). Y al no leer fisicamente el CD, entonces NO puedo verificar si REALMENTE los datos se grabaron correctamente.

Gracias por la paciencia...

Saludos desde Argentina, Tux
Responder Con Cita
  #11  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues muy bien puedes llevar razón. Aunque yo sigo sin entender cómo es posible que intente averiguar si existe el archivo "E:\archivo.bmp" y el sistema operativo me responda si existe o no "en la caché". No es eso lo que quiero saber: quiero saber si existe el archivo "E:\archivo.bmp".

Quiero decir que la caché estará estupenda para otros menesteres, pero, cuando uno no quiere saber si existe un archivo en la caché sino en una ruta en concreto, lo suyo (digo yo... vamos, que lo mismo estoy diciendo estupideces) es que se me respondiera si existe o no el archivo en la ruta que especifico.

De hecho si uno mira la ayuda sobre la función "FileExists", por ejemplo, en ningún lado se dice "Si el archivo está en una unidad removible es posible que esta función retorne "True" aunque el archivo no se encuentre en la ruta especificada...". Por ningún lado pone eso, así que ya me diréis qué pensáis sobre esto...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #12  
Antiguo 16-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Me parece dec que no estas entendiendo a rretamar, el no quiere saber si el archivo existe. El quiere leer su contenido para poder compararlo con el archivo original.
Responder Con Cita
  #13  
Antiguo 16-01-2007
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
Una pregunta ingenua: ¿que el caché no debería de ser lo suficientemente inteligente para determinar si debe comparar con la versión en memoria o la de disco? Es que yo, de verdad, no tengo idea de como funciona el caché.

// Saludos
Responder Con Cita
  #14  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. Pero es que es lo mismo (en mi ignorancia). Si yo le digo a Windows lee este archivo... estoy diciéndole justamente eso: lee este archivo... no el que tengas en tu caché... lo de si existe el archivo es una forma de simplificar el razonamiento (si lo es) pero vendría a ser lo mismo en lo referente a leer el archivo: EL QUE YO DIGA, no el que Windows decida...

Ahora bien, no estoy quitando la razón al compañero... ya he dicho que bien puede ser que suceda tal como dice él...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #15  
Antiguo 16-01-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por roman
Una pregunta ingenua: ¿que el caché no debería de ser lo suficientemente inteligente para determinar si debe comparar con la versión en memoria o la de disco? Es que yo, de verdad, no tengo idea de como funciona el caché.
Yo, si te digo la verdad, tampoco estoy seguro de que cache estamos hablando. Porque una cosa es copiar archivos desde el explorador de windows a un disquete y luego intentar leerlos de nuevo, por si nunca habéis probado, windows no lee los archivos del disquete sino que lo hace desde la cache. Pero en el caso de una grabadora de Cd es diferente, la información se graba en bruto en el grabadora desde el propio programa, así que cuando intentemos acceder a un archivo del cd no creo que este almacenado en ninguna cache. Son cosas completamente diferentes. O eso creo yo ...

Otra cosa seria si el programa utilizara la propia api de windows para copiar los archivos al cd, entonces puede que windows mantuviera una copia local de los mismos, pero esto ya son suposiciones ...

Lo dicho, yo no tengo muy claro de que cache estamos hablando ...
Responder Con Cita
  #16  
Antiguo 16-01-2007
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Hagamos una simple prueba que refleja lo que estoy comentando:

1) Desde el explorador de Windows, vas a la unidad de CD, eliges una carpeta que contenga (por ejemplo) varios archivos que ocupan 30 Mb, y a través de copiar-pegar los copias a otra carpeta del disco rígido.

2) Durante la copia, la unidad de CD se enciende y los archivos se leen de allí.

3) Desde el explorador eliges la misma carpeta de la unidad de CD, y copias esos datos a una carpeta del disco rígido diferente a la de 1)

Sorpresa...la copia en este caso es mucho más rápida...y la unidad de CD ni se mueve. Es que Windows tiene en la cache de disco los datos de la unidad de CD, y los lee de allí.

Esa es la idea de la caché....acelerar el acceso manteniendo en memoria los últimos datos leídos, y -como la memoria es limitada- ir descartando de la caché los datos "menos solicitados". En situaciones normales esto es una bendición, ya que los accesos redundantes (como en este ejemplo) son mucho más veloces. Pero para realizar la verificación de los datos recientemente escritos en la unidad de CD por mi programa y al ser estos leídos de la cache, entonces no se realiza la lectura "física" y no puedo leer REALMENTE los datos del CD, que es lo que quiero.

Espero que no los canse con este "ladrillo".

Saludos desde ARgentina, Tux
Responder Con Cita
  #17  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A mí personalmente no me cansa en absoluto, pero, es que lo que dices no responde a mi inquietud. Si Windows utiliza una caché para copiar archivos desde un CD al disco duro, es decir, si la primera copia la hace desde el CD y sucesivas copias las hace a partir de su caché... es problema de Windows, y yo estaré contento de que lo haga lo más rápido posible así que todos contentos.

Pero en este caso no se trata de Windows, se trata de mi programa. Y mi programa quiere saber si existe un archivo en la ruta "E:\archivo.bmp" y no le interesa para nada la caché y aquí Windows no tendría que contradecirme y decirme si existe el archivo o no existe el archivo en no sé qué caché: mi pregunta es simple, ¿existe el archivo "E:\archivo.bmp"? Y Windows tiene que limitarse a contestar a esa pregunta.

Tú no puedes controlar que Windows use no sé qué caché en sus tareas, pero, sí que puedes controlar que en tu programa se inquiera la existencia de un archivo en determinada ruta: no en ninguna caché ni en otro sitio distinto, exactamente en la ruta que le indicas. Y aquí vuelvo otra vez a la documentación de la función "FileExists", por ejemplo: en ningún lado se menciona que retornará "True" si el archivo solicitado existe en no sé qué caché. Es decir, esta función retornará "True" si el archivo "E:\archivo.bmp" existe y "False" en cualquier otro caso.

Ahora bien, ya me atrevo a preguntar... ¿tú lo has comprobado? Es decir, realmente la función "FileExists" te retorna "True" para un archivo "E:\archivo.bmp" que no existe en el cederrón, porque el mismo cederrón no se encuentre ya en el dispositivo sin ir más lejos? Porque yo me apuesto algo (je, je, je...) que si el cederrón no está en la unidad la función "FileExists" no puede retornar "True" en modo alguno si se le pasa como parámetro la ruta de un archivo que haya de estar en dicha unidad/cederrón.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #18  
Antiguo 16-01-2007
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
Yo creo compartir la inquietud de dec. El sistema de caché debe funcionar de forma tal que no haya errores, de lo contrario sería altamente ineficaz, porque no sólo interviene aquí, sino en muchas operaciones de disco. Ahora, esto lo digo desde mi lógica, pero como ya mencioné, sé nada acerca del asunto.

Aún así, pregunto: ¿qué te hace (rretamar), asegurar que va a fallar por estar leyendo del caché? Sé que no tiene mucho sentido lo que pregunto. Pero ¿no se podría hacer una prueba haciendo fallar a propósito la copia en unos cuantos bytes por ahí? Si la verificación, tal como se hace ahora, sigue diciendo que todo está bien, pues habremos concluido que en efecto es culpa del caché.

// Saludos
Responder Con Cita
  #19  
Antiguo 16-01-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Yo propongo una prueba muuuuuuuuuuuuuuy sencilla. Graba en un cederrón un par de archivos y a continuación (quitando el cederrón de la unidad) usa la función "FileExists" para tratar de averiguar si dichos archivos están el cederrón. Si la función te devuelve "True"... me la corto, como suele decirse.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #20  
Antiguo 16-01-2007
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Cita:
Empezado por dec
Pero en este caso no se trata de Windows, se trata de mi programa. Y mi programa quiere saber si existe un archivo en la ruta "E:\archivo.bmp" y no le interesa para nada la caché y aquí Windows no tendría que contradecirme y decirme si existe el archivo o no existe el archivo en no sé qué caché: mi pregunta es simple, ¿existe el archivo "E:\archivo.bmp"? Y Windows tiene que limitarse a contestar a esa pregunta.
Windows te dice que el archivo existe, pero no lo lee de la unidad de CD, sino de la memoria. Es transparente para las aplicaciones, como bien lo muestra el ejemplo de copiar archivos que puse en el programa anterior.

Cita:
Empezado por dec
Tú no puedes controlar que Windows use no sé qué caché en sus tareas, pero, sí que puedes controlar que en tu programa se inquiera la existencia de un archivo en determinada ruta: no en ninguna caché ni en otro sitio distinto, exactamente en la ruta que le indicas. Y aquí vuelvo otra vez a la documentación de la función "FileExists", por ejemplo: en ningún lado se menciona que retornará "True" si el archivo solicitado existe en no sé qué caché. Es decir, esta función retornará "True" si el archivo "E:\archivo.bmp" existe y "False" en cualquier otro caso.

Ahora bien, ya me atrevo a preguntar... ¿tú lo has comprobado? Es decir, realmente la función "FileExists" te retorna "True" para un archivo "E:\archivo.bmp" que no existe en el cederrón, porque el mismo cederrón no se encuentre ya en el dispositivo sin ir más lejos? Porque yo me apuesto algo (je, je, je...) que si el cederrón no está en la unidad la función "FileExists" no puede retornar "True" en modo alguno si se le pasa como parámetro la ruta de un archivo que haya de estar en dicha unidad/cederrón.
El problema es que no solamente necesito que el archivo exista (fileexists), sino que quiero leer su contenido, para compararlo con el que está en el disco rígido y ver SI LA ESCRITURA EN EL CD SE REALIZO CORRECTAMENTE.

Los pasos que hace mi programa son:

1) Hay unos archivos en una carpeta del disco rígido.

2) A esos archivos los grabo en la unidad de CD, con el componente Magicburner.

En este momento, Windows guarda una copia de los datos escritos en la cache de disco, como hace con todas las unidades. Eso lo hace en forma transparente.

3) Al terminar la grabación, leo con mi programa la unidad de CD y comparo el contenido (archivo por archivo) con los que están en el disco rígido. De esa forma debería poder comprobar que se grabaron correctamente en el CD, o sea QUE SON LEGIBLES DESDE EL CD.

Es el paso 3 el que no está funcionando, por culpa de la cache que windows implementa en las unidades.

Y ahí es donde aparece el problema, porque al empezar a leerlos la unidad de CD ni se mueve, sin embargo los puedo leer, porque están cacheados en memoria. Y al no poderlos leer fisicamente desde el CD, entonces no puedo saber si la grabación se realizó correctamente.

Saludos , Tux
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como pasar datos de una hoja de Excel a Bases de Datos de Paradox Goyo OOP 1 06-02-2007 01:57:20
Añadir datos desde una base de datos a un TListBox proyecto Conexión con bases de datos 1 21-11-2006 07:01:19
Guardar en 1 base de datos SQL, datos procedentes de 2 tablas distintas adaypr C++ Builder 1 05-09-2006 11:56:33
Verificación de dni luna Varios 4 29-05-2004 21:33:46
Reto Para Expertos En Base De Datos Y Tipos De Datos.... (blob) frankmch Conexión con bases de datos 2 08-09-2003 19:44:52


La franja horaria es GMT +2. Ahora son las 19:46:49.


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