Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

rutas de archivos con Windows Vista

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: rutas de archivos con Windows Vista Responder citando

Holaa todos, el problema con el que me encuentro es al ejecutar mi programa en Vista. Después de solucionar varias cosas me queda un último error, cuando mi programa tiene que cargar archivos, estos no son encontrados. También al abrir un componente Dialog, tampoco se direcciona a la ruta prefijada. Bueno, ahora que recuerdo tampoco me ha dejado crear un archivo que es una función que realiza mi programa. La verdad es que yo no tengo Vista sino mi compañero, pero no lo logra solucionar. Si teneis alguna idea de cómo solucionar este problema, os lo agradeceré. Un saludo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Solucionado más o menos Responder citando

Ya lo hemos solucionado. El problema es que en Vista "Archivos de programa" no existe, sino "Program Files". En mi aplicación cambié las rutas hacia esta dirección y solucionado. Aunque supongo que habrá alguna manera de no tener que modificar el código y sí algún parámetro del sistema operativo.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

una solucion sencilla es poder usar la ruta de la aplicacion tal y como te la devuelve Windows a nivel S.O y no a nivel del directorio usando la sentencia siguiente



Código:
String Ruta = Ruta = ExtractFilePath(::Application->ExeName);


asi en la variable "ruta", tienes el camino correcto de tu aplicación.

Saludos
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

No sé si te he entendido bien. Con esto conseguiré saber cual es la ruta real que usa Windows Vista, pero el problema es que el programa tiene que correr en cualquier SO. Pero quizá no te entendí correctamente.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

César C. Salazar González escribió:
... la ruta de la aplicacion tal y como te la devuelve Windows a nivel S.O y no a nivel del directorio usando la sentencia siguiente
Código:
String Ruta = ExtractFilePath(::Application->ExeName);

Cuando hablé de Windows, es para TODOS los Windows, no interesa si es Windows Vista o Windows 95, o Windows 3.1, la sentencia te devuelve la ruta donde se encuentra tu aplicacion y si haces algo como esto, suponiendo que tienes un TMemo con Informacion.
Código:
Memo1->Lines->SaveToFile(Ruta+"texto.txt")

El archivo texto.txt va a crearse en la RUTA de tu aplicacion
_________________
Cool


Ultima edición por Cesar C. Salazar Gonzalez el Mie 25 Jun, 2008 5:26 am, editado 2 veces
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Gracias César, llevo muy poco programando y cuesta a veces ver las cosas. Tienes razón, así funcionará bien. Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Bueno, veo que con este método algo no funciona. Creo que debe ser pq al pedir al SO la ruta la devuelve con este formato "C:\Ruta" y para utilizarla con los componentes diálogo debe ser "C:\\Ruta". ¿Si es así, debo añadir doble barra? ¿Cómo lo puedo hacer de una manera fácil?
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Antes de postear asegurate que lo que estas diciendo es correcto.

y no digas cosas que no son.
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Cierto, sí funciona, cometí un error. Si introduces la devolución de "ExtractFilePath(::Application->ExeName);" en un componente Memo, al representarlo en pantalla se ve con una sola "\", lo mismo que un ShowMessage. Si escribes las ruta por código hay que poner "\\". Me pierdo y no entiendo si hay dos por qué representa sólo una. Supongo que será algo muy sencillo no César.

P.D. Después de 4 horas de probar y probar posteé el anterior mensaje diciendo que no funcionaba, pero había cometido un error. Como comprenderás (César) si yo creo que no funciona no puedo hacer otra cosa que comentarlo. Ahora, si tan mal te sabe que se diga que algún código tuyo no funciona, pues mira, no contestes más mensajes. Para qué queremos un foro dónde no podemos tener dudas tontas o equivocarnos? Si ya supiera no preguntaría, y si creyera que algo hago mal, no diría que no funciona un código. O es que tu nunca te equivocas?

P.D.I. Me sabe realmente mal que me contestes así, pues te tengo bien valorado y siempre está ahí. Pero bueno, una cosa no quita a la otra.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

rauls66 escribió:
P.D.I. Me sabe realmente mal que me contestes así, pues te tengo bien valorado y siempre está ahí. Pero bueno, una cosa no quita a la otra.


No creo que haya cometido algo malo en decirlo, es mas el mensaje anterior no tiene ningún signo de admiración o exaclamción, eso significa que es solo un comentario: no esta en mayusculas (gritos), no tiene signos de (¡¡<msg> !!), por lo tanto no estoy diciendo nada malo, lo unico que estaba diciendo como un comentario es que: te asegures que esta correcto lo que dices, nada mas sin gritos, sin tonos "raros" es un comentario, el echo que lleve doble barra es por lo siguiente como la barra se usa para sencuencias de escape para las cadenas de texto

\n - Nueva linea
\t - tabulacion
\\ - Barra "\"
\" - comillas "


ejemplo: si quieres poner lo siguiente en una etiqueta de texto

En la unidad C:\ esta el directorio de "Windows"

esto debe escribirse asi

Código:
this->Label1->Text = "En la unidad C:\\ esta el directorio de \"Windows\""

Nota las "\" barras antes de los caracteres especiales.
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Cierto, no ahora lo veo claro. Me falta muchísima base. Gracias otra vez César.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.