Page 1 sur 1

cr lf en fonction de l'os

Publié : sam. 11/juil./2009 12:24
par Geo Trouvpatou
Salut.

Est-ce que ce code est juste ?

Code : Tout sélectionner

Global CR$ = Chr(13)
Global LF$ = Chr(10)

CompilerIf #PB_Compiler_OS = #PB_OS_Windows
    Global EOL$ = CR$ + LF$  
CompilerEndIf

CompilerIf #PB_Compiler_OS = #PB_OS_Linux
    Global EOL$ = LF$
CompilerEndIf

CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
    Global EOL$ = CR$
CompilerEndIf
Ou peut-être mieux encore puisque cela économise 2 variables.

Code : Tout sélectionner

CompilerIf #PB_Compiler_OS = #PB_OS_Windows
    Global EOL$ = Chr(13) + Chr(10)  
CompilerEndIf

CompilerIf #PB_Compiler_OS = #PB_OS_Linux
    Global EOL$ = Chr(10)
CompilerEndIf

CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
    Global EOL$ = Chr(13)
CompilerEndIf
Bye.

Publié : sam. 11/juil./2009 18:15
par lionel_om
Tu n'étais pas loin avec le premier:

Code : Tout sélectionner

CompilerIf #PB_Compiler_OS = #PB_OS_Windows
    #EOL$ = #CRLF$ 
CompilerEndIf
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
    #EOL$ = #LF$
CompilerEndIf
CompilerIf #PB_Compiler_OS = #PB_OS_MacOS
    #EOL$ = #CR$
CompilerEndIf
/Liå

Publié : sam. 11/juil./2009 20:26
par Flype
Salut,

Effectivement, c'est mieux dans ce cas de définir des constantes et non des variables.

Et on peut aussi utiliser CompilerSelect / CompilerEndSelect...

Code : Tout sélectionner

CompilerSelect #PB_Compiler_OS
  CompilerCase #PB_OS_Windows : #EOL$ = #CRLF$ 
  CompilerCase #PB_OS_Linux   : #EOL$ = #LF$ 
  CompilerCase #PB_OS_MacOS   : #EOL$ = #CR$ 
CompilerEndSelect

Publié : dim. 12/juil./2009 9:13
par Geo Trouvpatou
Merci à tous les deux, je vais pouvoir avancer un peu.

Par contre j'aimerais bien savoir d'où sortent ces constantes #CR$ #LF$ etc... parce que dans la doc je suis allé dans la rubrique "Liste des constantes PureBasic" et à par les #PB_xxx elles n'apparaissent pas.

C'est peut-être un secret qui se transmet de Purebasiciens en Purebasiciens depuis des générations (enfin depuis 2000)

Bye.