PureBasic

Forums PureBasic
Nous sommes le Mer 11/Déc/2019 17:14

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 8 messages ] 
Auteur Message
 Sujet du message: Un seul code pour 2 OS possible ???
MessagePosté: Mar 12/Aoû/2014 16:11 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 15:14
Messages: 426
Localisation: Grenoble
Bonjour à tous,

j'ai quelques codes sous Windows que je re-compile sous Linux mais en fait, je suis obligé de ré-écrire de toutes petites parties car

1) Problème sur les chemins : eh oui, Microsoft a déclaré le '\' comme séparateur, là où le reste du monde utilise le '/'...
- puis-je automatiser avec une macro (If CompilerOS alors separateur = '\' etc.) sachant qu'il me faut un exemple car je n'ai jamais utilisé les macros
- par exemple, si je travaille avec GetCurrentDirectory()+"\symbols\" puis idem sous Linux : GetCurrentDirectory()+"/symbols/"

2) Problème de polices : il semble que sous Linux, les utilisateurs aient de très grands écrans ou une petite vue... les polices sont plus grandes que sous Windows
- Quelles polices sont communes ?
- Si je dois embarquer une police avec mon logiciel, un TTF fonctionne partout ? puis-je forcer les polices systèmes ?
- Comment s'assurer que le même code donnera le même aspect ?

3) Problème de "fenêtre" et Gadget : même ordre d'idée que ci-dessus...
- Comment puis-je déterminer la bonne hauteur
- Une macro peut-elle me permettre de remplacer une constante (#Win-High-Offset par exemple) ?

Merci d'avance pour vos aides très précieuses comme toujours :)

_________________
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Un seul code pour 2 OS possible ???
MessagePosté: Mar 12/Aoû/2014 16:24 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 20/Juin/2006 22:17
Messages: 1384
Localisation: Lorraine
Le développement d'interface sous Linux et très compliqué car chaque utilisateur utilise son propre bureau (Gnome, Kde, Xfce, Window Maker, Mate...) et ca propre police c'est un peut la philosophie de Linux de personnaliser ca distrib. Le texte d'un bouton sous Gnome risque d'être tronqué sous KDE ou décalé sous xfce. Il faut systématiquement appliquer une police avec une taille pour chaque Gadget afin forcer le même résultat sous chaque environnements. C'est la seul solution que j'ai trouvé pour que ca fonctionne au mieux.

Autrement pour les '/' j'utilise la fonction "Rechercher - Remplacer" de PB quand je veut convertir un '\' en '/'.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Un seul code pour 2 OS possible ???
MessagePosté: Mar 12/Aoû/2014 16:35 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 22/Aoû/2010 15:24
Messages: 6863
Localisation: IDF (Yvelines)
MetalOS a écrit:
Autrement pour les '/' j'utilise la fonction "Rechercher - Remplacer" de PB quand je veut convertir un '\' en '/'.
j'ai abandonné le dev sous linux, mais il me semble que "/" fonctionne aussi bien sous windows que sous linux.

Test (sous windows et Linux) si tu as une valeur non nul avec ce code qui cherche à lire le premier exemple de code se trouvant dans le dossier d'installation de Pure Basic
Code:
Debug ReadFile(#PB_Any,  #PB_Compiler_Home+"/Examples/Sources/2DDrawing.pb")

_________________

➽ Config PureBasic : i3, RAM 4Go, NVidia (1024 Mo), Windows 10 - PB 5.70 LTS
➽ Je papote aussi sur http://purebasic.chat

➽ Sites personnels http://falsam.com & EasySprite.js

➽ Je ne réponds pas aux MP techniques


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Un seul code pour 2 OS possible ???
MessagePosté: Mar 12/Aoû/2014 19:23 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 15:14
Messages: 426
Localisation: Grenoble
Voilà déjà un problème de moins ( \ et / ), merci je n'avais pas eu l'idée d'essayer :D

_________________
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Un seul code pour 2 OS possible ???
MessagePosté: Mar 12/Aoû/2014 21:22 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 31/Juil/2004 22:32
Messages: 1140
Pour tout ce qui est taille de gadget et police, faut juste pas utiliser de nombre magique, comme un dev web (bon, je vais aussi rappeler que, même sous windows only, les nombres magiques devraient êtres bannis, après tout vous ne connaissez pas la configuration de l'utilisateur final). Tous mes programmes sont osx/linux/windows sans aucun problème :p
Par contre, faut bannir tous les éditeurs de fenêtres qui sont incapable de faire ça.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Un seul code pour 2 OS possible ???
MessagePosté: Mar 12/Aoû/2014 22:14 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 15:14
Messages: 426
Localisation: Grenoble
C'est quoi les nombres magiques (hormis le ratio considéré comme idéal esthétiquement)

_________________
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Un seul code pour 2 OS possible ???
MessagePosté: Mer 20/Aoû/2014 14:36 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 31/Juil/2004 22:32
Messages: 1140
En gros, quand tu fais une fenêtre, si il y a un nombre fixé arbitrairement à un endroit, ça va déconner un jour ou l'autre, c'est inévitable.
Un exemple que j'ai beaucoup vu dans le coin, c'est avec une scrollarea qui ne doit scroller que dans une direction:

Code:
OpenWindow(0,0,0,800,600,"",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget) ;<-- 800 et 600, c'est pas un problème si la fenêtre est resizable puisque l'utilisateur corrigera de lui même.
ScrollAreaGadget(0,0,0,800,600,1000,600-21);<-- -21???? Bah ouais, j'ai mesuré la hauteur des barres de défilement sous windows 8 et ça faisait 21...

Repeat : Until WaitWindowEvent() =#PB_Event_CloseWindow

bon, bah ça, c'est du code digne d'un débutant fini; ça va déconner selon l'utilisateur (c'est un paramètre réglable) et selon l'OS. 21 est donc un nombre magique; et quand je vois ça, je comprends "j'avais la flemme de faire une travail correct"...


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Un seul code pour 2 OS possible ???
MessagePosté: Sam 30/Aoû/2014 23:41 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 15:14
Messages: 426
Localisation: Grenoble
ok, je crois avoir compris :mrgreen:
Et comment fait-on pour trouver des nombres pas magiques ? :roll:

A part ça, je commence à comprendre l'intérêt d'une interface PHP, d'un traitement Purebasic et... d'une passerelle GET/POST :D

_________________
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 8 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye