Saber si se esta ejecutando windows o linux
Buenos días,
Tengo el problema en directorios cuando ejecuto mi .exe, hecho en c++ builder, en Linux. Es por eso, que quisiera saber como puedo saber si estoy en linux o en windows a traves de alguna función o algo, para controlar los paths de una forma u otra. Grácias. |
¿Un exe hecho en c++builder en linux?
|
.exe hecho en c++ builder en windows
Si un .exe hecho en c++ builder en windows y luego ejecutado en linux con wine.
|
Supongo, y repito lo de supongo, que si estás ejecutando el programa desde wine entonces estará "aislado" del entorno y no sabrá que se está ejecutando realmente en un linux.
|
Cita:
De todas formas, no es necesario preguntar en qué sistema se está ejecutando para configurar las rutas de los archivos. En FreePascal existen una serie de funciones que hacen el trabajo por ti, como por ejemplo la función GetTempDir que devuelve la ruta completa al directorio "temporal", o GetUserDir que devuelve la ruta al directorio del usuario (/home/<usuario> en POSIX o C:/Documents and Settings/<usuario> en Windows, etc.) y GetAppConfigFile te devuelve la ruta completa a un "archivo de configuración por defecto" para tu aplicación (/home/<usuario>/.config/<aplicacion>.cfg en POSIX, etc). No estoy seguro, pero posiblemente Delphi y Builder también tenga funciones similares, y si no existen deberíais exigir a CodeGears que las implementen, máxime cuando quieren que sus compiladores generen ejecutables para MacOS y Linux. En el peor de los casos, basta con comprobar las variables de entorno o el registro de Windows, que sé de buena tinta que existen en Windows. Además, hacerlo así hará que tu aplicación se adapte a la configuración personalizada, ya que hay gente que cambia las rutas de los directorios del sistema por conveniencia, por ejemplo poner el directorio "Documents and settings" en otra partición o disco de forma que si tienen que reinstalar el sistema dicha información (documentos, configuraciones, etc.) no se pierda. |
La franja horaria es GMT +2. Ahora son las 21:22:00. |
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