![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Muchas gracias a todos los que han respondido, A Delphius, a "Mie..." y a Juanramones.
Vi llas respeustas, saque tiempo para estudiarlas y comprendi el uso de las instrucciones como tal. Segun comprendi ..es algo asi como un archivo texto o plano (extencion .ini)dodne la informacion de guarda y se organiza por secciones, y de esta misma manerta se debe leer. Se me vienen ahora dos nuevas inquietudes. 1. Que ventaja tiene esta forma de implementar con archivo .ini el procedimiento que mencione al principio (osea que el usuario cambie en modo ejecucion la BD que quiera trabajar). comparado con el uso de una BD pequeña donde se tenga la misma informacion que estamos guardando en los archivos .ini, algo asi como una BD con las rutas y datos de configuracion..... para el uso de las BD dodne esta la informacion que el intersa al usuario. No seria mas conveniente por cuestiones de seguridad esta forma, dado que el .ini puede ser abierto y alterado facilmente con Notepad.? 2. Agradezco el ejemplo de juanramones... pero me confundo al hacerle seguimiento a la logica. Segun alcanzo a percibir.... Al abrir el form principal, se extrae del archivo Inicio la linea udl=db1.udl. Luego (y aqui es doden me pierdo..) se llena un comobobox con la lista de las BD contenida en el archivo Bases.ini y se compara con la la mencionada anteriormente..... y se ordena al Comobobox que muestre esta ultima. Imagino que aqui actuara el usuario, cambiara la opcion del combobox y grabara al hacer click en el boton. Quedado la nueva seleccion guardada en inicio.ini. Mi Inquietud es.... No es en este momento donde se debe ejecutar la conexion con la BD. Porque al parecer en el codigo del FormShow se realiza la conexion con la primera BD que se leyó, sin esperar que el usuario elija alguna. Bueno tal ves lo entendi mal yo.... pero reitero mi pregunta Numero 1. Este tipo de informacion de rutas de BD, no se podria administrar desde otra BD? Gracias, y disculpenme en la demora de la retroalimentacion. Saludos. FELIPEDIAZ |
|
#2
|
|||
|
|||
|
Felipe,
estás en lo correcto con que la Conexión debe volver a realizarse cuando el usuario haga click en el Botón y por lo que veo Usted comprendió perfectamente la lógica del código. La idea del ejemplo es dar una orientación en el manejo del archivo .ini y que lo pudiera luego personalizar de acuerdo con la pregunta realizada. De igual manera estoy de acuerdo con que es más seguro trabajar con una Base de Datos Pequeña para seleccionar las conexiones a las Bases de Datos en Producción, por cuestiones de seguridad, dado que como lo menciona, cualquiera puede abrir el archivo .ini y conocer donde tiene ubicadas dichas bases de datos. Pero también creo que si no existe problema con la seguridad, el uso de archivos .ini es mucho más sencillo y funcional dentro de una aplicación. ________________________________________ Con colaboración podemos lograr cosas grandes. |
|
#3
|
||||
|
||||
|
Quisiera agregar a lo dicho por juanramones que el empleo de archivos .ini es muy útil cuando se deben obtener datos por default.
Cuando un archivo ini pierde algún dato, o alguna sección es posible restaurar aquellos valores valiendose del tercer parámetro, seteando un valor por defecto. Además, ante la perdida de un archivo ini, se crea automáticamente. Y podemos aprovechar, como dije antes, este momento para indicar valores por defecto que pueden ser útiles. De una y otra manera podemos llegar a tener una cierta consistencia de información. Es cierto que con el block de notas podemos editar el contenido. Pero como dijo juanramones lo que debes mantener con mayor seguridad conviene usar BD, pero para información que facilmente puede ser "recuperable" no vale el ezfuerzo en emplear una base de datos. Saludos, |
|
#4
|
|||
|
|||
|
Uso de archivos .ini
Gracias nuevamente juanramones y delphius por la aclaracion... creo que utilizaré los archivos .ini, pues en el fondo creo que no tendre problema con la seguridad, pero queria resolver esa inquietud, asi estoy mas tranquilo.
Bueno me disculpan nuevamente.... quisera confirmar algunas cosas. 1. Cuando juanramones utiliza .. udl=db1.udl, ... ¿ Udl ... Haria las veces de un alias para el usuario y db1.udl se reemplazaria por el nombre del Archivo (*Mdb, en acces por ejemplo) o el directorio ( como en paradox o Firebird) ? o cuando te refieres a archivos Udl .....son algunos archivos de un tipo ya predefinidos? como por decir *ini o .Jpg o .Xls. En otras palabras no se si utilizaste una palabra por dar ejemplo o concluyo que ignoro (o ignoraba) la existencia de archivos .udl y para que se utilizan. Bueno, la experiencia que he tenido durante un buen tiempo es desarrollando aplicaciones con delphi y paradox y estoy muy interesado en realizar una mas robusta en Firebird (ya lo he estado comprendiendo), pero esta parte de utilizar .ini no la conocia y mi interes es dar la opcion al usuario de escoger la bases de datos que desee trabajar. A proposito ¿Ven algun inconveniente al implementar esto con firenbird? 2. Algo que solo quiero confirmar.... Cuando tengo por decirlo ud1=db1.udl ud2=db2.udl ud3=db3.udl .. y asi sucesivamente. Supongamos 6 items, ¿podria concluir... a. Para agregar un item nuevo, solo utilizo la instruccion de escribir con los neuvos valores sin preocuparme por el orden? es decir el se agrega de ultimo? b. Esto.. sonara un poco obvio... si por casualidad un usuario piensa crear un nuevo item, pero utiliza una variable ud(cuaqluiera, ejm ud1) que ya ha sido usada ...... simplemente se reescribe..... es decir que solo por codigo tendria yo que controlar el hecho que no altere una ruta pensado crear otra. 3. Esta pregunta es para Delphius, (obtener datos por default). Cuando dices "ante la perdida de un archivo ini, se crea automáticamente" o "información que facilmente puede ser "recuperable"". No se como interpretarlo, me asaltan inquietudes... ¿Quien se encarga de crear ... o de que forma se crea automaticamente el dato perdido? Es decir, la aplicacion que desarrolle...dependera de los datos que contiene los archivos .ini para que pueda correr correctamente. es como el indice que el usuario utilizara para trabajar un grupo de informacion (la BD seleccionada). Si se pierde un dato.. ya sea que alguien abrio el archivo con notepad, y lo borró. o borraron el archivo completo. Para formular bien la pregunta.... lo haré con un ejemplo (disculpenme si parece algo absurdo).... Ejmp. Entro al explorador de Windows y busco cuaqluier arcihivo .ini, supongamos que lo borro... le doy eliminar. Luego reinicio el PC. y trato de buscar el archivo..... ¿El archivo aparecerá nuevamente? O si borro un dato? como identificaría el archivo .ini que se borro a conciencia o que fue un error? Tal ves desconozco alguna propiedad de los archivos .ini, en la ayuda de delphi hacen enfasis en la froma de maniupularlos desde delphi, no se dodne hay mas tema para compreder esto de la recuperacion.. Por ultimo si me puedes ayudar ya sea con saber donde encuentro mas detalles de estos archivos. Me da algo de pena seguir preguntando pero cuando dices "es posible restaurar aquellos valores valiendose del tercer parámetro, seteando un valor por defecto" Que es ese tercer parametro y que es Setear? (creo que setear es adjudicar un valor auna variable, y no se es como ayuda a conseguir lo anterior ) Bueno, deseo felicitar y agradecer a todos los foristas nuevamente.... si el nivel de atencion y respuesta que he recibido aqui, fuese el que utilizaran las instituciones en general.... el mundo seria diferente. De verdad muchas gracias... aunque no los conozco personalmente, la ayuda que he recibido de ustedes me motiva a seguir aprendiendo, pues no me siento solo y se que este efecto se multiplica en otros compañeros. A todos los colaboradores, Mis respetos y admiracion por su don de compartir y ayudar a otros. |
|
#5
|
|||
|
|||
|
Para la Primera pregunta:
Cita:
Los archivos con extensión .udl son archivos de configuración de Base de Datos (Microsoft Data Link) que se pueden utilizar en los objetos de conexión a BD de Delphi, como TADOConnection, en la propiedad ConnectionString en el Object Inspector aparece la opción al presionar el botón elipsis <...> Ejemplo de un archivo .udl (podría ser db1.udl) Código:
[oledb] ; Everything after this line is an OLE DB initstring Data Source=C:\BD\db.mdb; Provider=Microsoft.Jet.OLEDB.4.0; Password=""; User ID=Admin; Mode=Share Deny None; Extended Properties=""; Jet OLEDB:System database=""; Jet OLEDB:Registry Path=""; Jet OLEDB:Database Password=""; Jet OLEDB:Engine Type=5; Jet OLEDB:Database Locking Mode=1; Jet OLEDB:Global Partial Bulk Ops=2; Jet OLEDB:Global Bulk Transactions=1; Jet OLEDB:New Database Password=""; Jet OLEDB:Create System Database=False; Jet OLEDB:Encrypt Database=False; Jet OLEDB:Compact Without Replica Repair=False; Jet OLEDB:SFP=False; En los archivos de ejemplo de Delphi puede encontrar el siguiente: C:\Program Files\Common Files\System\Ole DB\Data Links\DBDEMOS.udl En cuanto a lo de los motores de BD que mencionas (Firebird, Paradox, MS Jet), el código inicial está pensado para el MS Jet, pero creo que para los demás sería trabajar con las cadenas de conexión propias o con ODBC. Para la Segunda pregunta: Cita:
a. Si. Para agregar un ítem nuevo basta con la instrucción y se agrega al final de la sección que se esté indicando. b. Si se reescribe. Ej:
El valor de la variable VAR1 en las dos instrucciones del ejemplo quedaría en el último, osea 'valor 2' ________________________________________ Con colaboración podemos lograr cosas grandes. |
|
#6
|
||||
|
||||
|
Consulta
Hola, yo tengo una duda son respecto a ini. Tengo una aplicación conectando con un adoconection una DB con Microsof Sql Server. Lo que yo quiero es que al instalar mi aplicación en otra pc mediante ini pueda recuperar el alias de la DB de la otra pc que tenga el sql server.
Si alguien tiene alguna idea Muchas Gracias de ante mano. |
|
#7
|
|||
|
|||
|
Archivo .ini con SQL Server
Para la Pregunta:
Cita:
Creo que se puede solucionar utilizando una carpeta compartida de solo lectura en el servidor de SQL Server y así compartir o el archivo .ini o el archivo de configuración de la conexión .dsn. ________________________________________ Con colaboración podemos lograr cosas grandes. |
|
#8
|
||||
|
||||
|
Cita:
Inicialmente estará vacio, pero es aquí donde entra lo de parametros por defecto. Cita:
El tercer parámetro sirve para el caso eventual de que no exista la variable o la sección. Este parámetro actua como un valor por defecto. Por ejemplo tu haces: Dato := ini.ReadInteger('UNA SECCION','Una variable',45); En Dato se colocará el valor asociado a "Una variable". En caso de que la lectura falle, quedará registrado en Dato el valor 45. Y una vez realizado esto, en forma automática (estamos hablando del caso de fallo) la clase creará ya sea la sección y/o la variable con dicho valor por defecto. Si se emplean los write y read en forma apropiada, se puede conseguir dejar al archivo ini en un estado de "por defecto". Que si bien no es la condición que ha establecido el usuario, se consigue volver al estado inicial de cuando se creo el archivo por primera vez. A esto me refiero cuando dije "facilmente recuperable". Lo obvio es que el valor por defecto a asignar corresponda a un valor permitido y que pueda ser empleado en forma posterior. Varios sistemas emplean este mecanismo.... inclusive incorporan un botón que dice "Predeterminado" o "Default" que lo que hace es cambiar el valor de algunas o todas la variables por el valor default con el que el sistema inicialmente venía. Espero que se entienda la idea. Si quieres saber mas sobre ini, busca en los foros porque el tema se ha tratado en reiteradas oportunidades. Te sugiero también que revises la ayuda que viene con Delphi. Saludos, |
|
#9
|
|||
|
|||
|
Bueno, creo que ya me siento con orientacion de hacia donde debo seguir.
Gracias nuevamente... espero encontrarlos en un nuevo hilo. Saludos.
__________________
El Calentamiento Global acabara con la tierra. No mas Barreras, No mas Guerras, No mas discrimiancion, No mas violencia, No mas indiferencia, No mas terrorismo, No mas secuestros. !Valoremos la vida! |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como utilizar TExcelApplication | Jose Roman | OOP | 17 | 19-07-2021 15:48:41 |
| ¿Debo utilizar un archivo de recurso (.RES)? | Jome | Varios | 2 | 18-06-2006 08:21:01 |
| como Utilizar una DLL de VB | KaTo | Varios | 0 | 30-05-2004 19:01:30 |
| Como utilizar un DCR y PAS | andrestsas | Varios | 1 | 26-10-2003 19:31:58 |
| como utilizar sql plus | fcran | Oracle | 2 | 10-09-2003 02:44:01 |
|