Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-06-2011
vivamotos vivamotos is offline
Miembro
 
Registrado: ago 2006
Posts: 150
Poder: 18
vivamotos Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 27-06-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Un exe hecho en c++builder en linux?
Responder Con Cita
  #3  
Antiguo 27-06-2011
vivamotos vivamotos is offline
Miembro
 
Registrado: ago 2006
Posts: 150
Poder: 18
vivamotos Va por buen camino
.exe hecho en c++ builder en windows

Si un .exe hecho en c++ builder en windows y luego ejecutado en linux con wine.
Responder Con Cita
  #4  
Antiguo 27-06-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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.
Responder Con Cita
  #5  
Antiguo 27-06-2011
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
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.
Sí y no. En realidad es posible saber si está ejecutando en Wine+Linux. Incluso es posible saber si está ejecutando en un Windows instalado en una máquina virtual. Casi todos los sistemas operativos incluyen métodos para obtener información del sistema en el que se están ejecutando: microprocesador, memoria, discos, etc., así como la versión del sistema operativo. Al preguntarle a Wine este responde "Wine + Linux" (no conozco la respuesta exacta, pero se me entiende ). Claro que se puede configurar Wine para que engañe al sistema y le diga que es un Windows (en el peor de los casos, modificas el código fuente de Wine, recompilas... ).

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.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
Respuesta



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
Saber si una aplicación se está ejecutando Javi2 Varios 14 18-07-2019 21:19:40
Saber si se esta ejecutando un EXE en mi PC lcardcont API de Windows 2 08-06-2007 19:57:42
saber si una clase de java se esta ejecutando gulder Varios 2 08-05-2007 16:10:58
Como saber si una aplicacion se esta ejecutando? Javi2 Varios 3 23-07-2004 15:58:05
Saber si un programa se está ejecutando Aprendiendo OOP 1 02-04-2004 00:32:46


La franja horaria es GMT +2. Ahora son las 16:55:26.


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