![]() |
Archivos .conf para asignar rutas de las tablas?
hola mi pregunta es la siguiente, se q con un archivo .conf se puede asignar la ruta de donde esta la base de datos, y asi q el usuario pueda mover las tablas y solo le asigna la ruta en dicho archivo hasta ahi todo bien. sin embargo yo le asigno la ruta de la linea del archivo .conf q corresponde a la ruta a cada uno de los TTables, y al ser bastantes quiero saber si existe alguna manera (Objeto, procedimiento, funcion, etc) con la cual le asigna en el menor numero de pasos posibles a las tablas la ruta en su propiedad DatabaseName y asi evitar la larga lista de asignar TTable por TTable el valor a DatabaseName.
Gracias Salu2 Tecoman-Colima-Mexico |
Hola. Supongo que trabajas con archivos planos (paradox, dbase o algo similar).
Si todos los TTable están ligados a un mismo TDatabase... te bastaria con almacenar una sola vez la ruta, y luego asignarla a su propiedad Directory. Si no usas un objeto TDatabase, te recomiendo su uso, pues tenes un mayor control de este tipo de cosas. Otra opción es hacer un ciclo que recorra los componentes del owner, y asigne la propiedad correspondiente a las tablas. Suponiendo que todas las tablas están en un mismo formulario, bastaria algo como:
Hasta luego. ;) |
Perdon Juan Antonio piensi como tu sobre relacionar las TTable con TDatabase el punto es como pues buscando en las propiedades de los TTable no encontre ninguna propiedad q me permita enlazarme con la base de datos. Pense en la propiedad DataBaseName pero no se le puede relacionar de esa manera.
Asi como los relaciono?. Nota: Ayuda mucho el ciclo de los objetos pero quisiera conocer el camino q se usa con un Database Salu2 Tecoman-Colima-Mexico |
Precisamente es con DatabaseName.
Primero a un TDatabase le asignas un valor en su propiedad DatabaseName. Digamos dbFactu. Luego a todos los TTable, TQuery o TStoredProc que ronden por tu aplicación, en su propiedad DatabaseName también les asignas (escribiendo o eligiendo del combo) dbFactu, y listo. Para aprender algunas otras cosas importantes sobre el programar orientado a bases de datos, te recomiendo la lectura de un libro de delphi. Podes empezar con La cara oculta de delphi, que para delphi 4, Ian Marteens lo ha puesto gratuitamente a disposición del público en su página web. Hasta luego. ;) |
Gracias Juan solo q eso q me mencionas ya lo habia intentado
(Primero a un TDatabase le asignas un valor en su propiedad DatabaseName. Digamos dbFactu. Luego a todos los TTable, TQuery o TStoredProc que ronden por tu aplicación, en su propiedad DatabaseName también les asignas (escribiendo o eligiendo del combo) dbFactu, y listo.) Sin embargo como lo quiero hacer con Pdx no existen bases de datos como explicitas como en Firebird por ejemplo asi q a la propiedad databasename del TDatabase le asigno la ruta de donde estan las tablas y le asigno True a connected y si se conecta pero cuando le asigno a DatabaseName del TTable el TDatabase manda un mensaje de q es una base de datos desconocidas. Y de hecho ya habia bajado Delphi 4 de la pagina de Marteens y lo estoy leyendo. Gracias Salu2 |
Pues hay algo que no has entendido bien. Yo me he conectado una sola vez a Paradox en mi vida (hace unos 6 años), pero lo hice de esta forma y me fue fenomenal....
De memoria: Database.DatabaseName = dbFactu Database.Directory = 'c:\pruebas\pdx\juan' Table1.DatabaseName = dbFactu; (date cuenta que no es un apuntador al database... que ese el BDE lo encuentra y asigna internamente; es el mismo string que has puesto en el DatabaseName del DB). Hasta luego. ;) |
Cita:
// Saludos |
bueno... de la forma descrita por mi, no es necesario el uso del alias...
|
Pues lo pruebo como dices y me marca error:
Cita:
// Saludos |
A mi marca el mismo error al tratar de hacerlo como dijo Juan Antonio
|
bien... bien.
Me han obligado a abrir mi viejo y querido delphi 4 (por suerte ahora lo tengo a mano). Lo que he hecho es lo siguiente: He botado en la forma: un TDatabase: Database1 y un TTable: Table1. Las propiedades mas relevantes son:
He puesto a true la propiedad connected del TDatabase, y al hacer doble clic sobre el TTable he podido añadir los campos sin problemas. Luego, para verificar, he puesto también a true la propiedad Active del Table1; he añadido un DataSource enganchado a este, y un dbGrid enganchado al DataSource. y Pun, tengo los datos de muchos paises en mi vista de diseño... Espero lo dicho sea de utilidad. En lo personal, preferiria este método, con el que no tengo que crear ningun alias en el BDE y tengo control "total" de donde estarán los datos de mi aplicación. Hasta luego. ;) |
Probado y corroborado q si funciona (y) gracias de esta manera Juan
Gracias Salu2 Tecoman-Colima-Mexico |
Cita:
// Saludos |
La franja horaria es GMT +2. Ahora son las 08:43:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi