Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 20
oregon Va por buen camino
Otra variante

Cita:
Empezado por Deiv
Vaya!
Hasta que al fin utilizaré mi primer INI desde que programo. Gracias Neftali.

¿Los INIs no son vulnerables y propensos a ser cambiados, editados o alterados? Esto podría ocasionar que la Aplicación funcione mal verdad? ¿Se puede encriptar o no tendría sentido de INI? ¿Cómo protegerlo?
Lo del fichero *.ini me parece una buena idea. Sin embargo...

Un posibilidad que me gustaría consultaros, y que creo que podría ser, en parte, la solución para el problema que plantea aquí Deiv, es la de generar el fichero *.ini al iniciar el programa, y que se borre al cerrarlo.

Me explico, con la solución, tal y como está ahora, se distribuye el fichero *.ini con la aplicación, y como dice Deiv, la pueden cambiar (accidentalemente o por malas artes). Encriptarlo o protegerlo creo que requiriría muchas líneas de código, y no es un material tan "privado" que merezca la pena, ¿no? Tal y como dice Neftali...

Cita:
Empezado por Neftali
Creo que no tiene sentido proteger este fichero. Si alguien lo toquetea la aplicación funcionará mal, pero es que si borran el EXE también funcionará mal, y si cambian el Datos.txt también y si borran cualquiera de ellos también,...
La solución que planteo (y que no se si es fácil de hacer), es crear, por código, un fichero *.ini en el directorio donde esté en ese momento la aplicación, con las dos o tres líneas que necesitemos. Así nos aseguramos que esté configurado como esté configurado el ordenador de cada usuario, nuestro ficheros se creen y se abran siguiendo una determinada configuración.
Por otra parte, al salir, se puede eliminar el fichero por código, así quitamos basurilla al equipo del usuario, no dejamos pistas, y no modificamos su configuración personal. Además es más facil de distribuir la aplicación final, porque sólo con el ejecutable sirve.
Por si fuera poco, aunque toquiteen el fichero *.ini mientras corre la aplicación, ya no importará. Además, será borrardo y generaremos uno nuevo y correcto cuando volvamos a ejecutar el programa.

No hablo por experiencia, pero creo que no es complicado generar ese fichero, ya que es un fichero de texto plano ascii, con una extensión de terminada. Y para borrarlo... como sabemos donde esta y como se llama, creo que tampoco debería ser mucho problema.

Bueno, creo que me he extendido demasiado. Pero ahí dejo la idea (o la tontería, que juzguen los expertos ).

Suerte!

Última edición por oregon fecha: 18-01-2007 a las 15:50:21.
Responder Con Cita
  #2  
Antiguo 18-01-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.484
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por oregon
...ahí dejo la idea (o la tontería, que juzguen los expertos
No me parece en absoluto una tontería. Con un memo, propiedad Visible a False y el texto dentro, con una línea podemos generar el fichero.

Código Delphi [-]
  // Grabar en el evento OnCreate.
  Memo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName) + 'Schema.INI');

Similar para borrarlo al salir.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 18-01-2007
oregon oregon is offline
Miembro
 
Registrado: oct 2006
Posts: 90
Poder: 20
oregon Va por buen camino
Me alegra saber que no era una tontería.

Por otra parte, y con la idea de Neftali de usar un Memo, se puede complicar la cosa y dar opciones al usuario, permitiéndole que elija, mientras corre la aplicación, entre separar por comas, punto y coma, comillas, guiones,... Simplemente se puede cambiar el contenido del memo con lo que elija el usuario, y se vuelve a generar el fichero *.ini con la nueva configuración.

Otra utilidad que se me ocurre aplicando la idea de Neftali es permitir al usuario importar ficheros con otro tipo de separadores. Por ejemplo, nuestra aplicación abre ficheros separados por ";", pero resulta que nos envian, conseguimos o lo que sea un fichero exportado de excell con ",". De esta manera, se puede seleccionar el separador, regenerar un *.ini, cargar el fichero y volver a las opciones iniciales. Es más complicado, pero por ideas que no quede.

Por curiosidad... ¿cómo se haría para borrarlo?
Responder Con Cita
  #4  
Antiguo 18-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
Si únicamente se requiere configurar el separador, yo mejor optaría por alterar por código esa entrada del registro y restaurarla al terminar.

// Saludos
Responder Con Cita
  #5  
Antiguo 18-01-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.484
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por oregon
¿cómo se haría para borrarlo?
Delphi ya tiene implementada la función DeleteFile; El nombre del fichero es el mismo de antes.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 18-01-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.484
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Personalmente prefiero no trastear en el Registro. Primero porque me es más incómodo y segundo, porque me he encontrado ya varias veces, que segun cómo estén configurados los usuarios en los sistemas windows, no tienen permisos para leer y/o escribir en el registro.

También he de decir que en TS, también me han dado problemas de acceso los ficheros .INI; Al final tuvimos que renombrarlos a ".ISI"
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 18-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
Creo que ando medio dormido. ¿Qué es TS?

// Saludos
Responder Con Cita
  #8  
Antiguo 18-01-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.484
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Neftali
...que en TS


Perdón, que no se en qué estaba pensando. Con TS me refería a Terminal Server (que es como a menudo trabajamos), pero eso no tiene nada que ver con lo que hablábamos. Los permisos de los usuarios, son los permisos en todos sitios.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Actualizar datos de una base de datos en un reporte Marymania Impresión 4 27-11-2006 19:47:32
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
ubicar archivo, con datos sacados de base de datos Giniromero Varios 19 20-10-2005 16:23:02
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 22:17:01.


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
Copyright 1996-2007 Club Delphi