[..] console linux

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jcaspar
Messages : 10
Inscription : ven. 02/août/2013 11:44

[..] console linux

Message par jcaspar »

B :D onjour à tous !

Je teste ce petit bout de code sous Linux
sous Ubuntu 13.04 64bits

Le code compile normalement, mais rien ne s'affiche
pourtant en observant la doc la fonction openconsole
devrait fonctionner sous tout OS...

Faut il installer ou configurer quelquechose de particulier
( packages, paramétrage ?) :?:

En vous remerciant pour vos conseils ! :mrgreen:

Jean-Marc


Code : Tout sélectionner

 

 OpenConsole()
  PrintN("Waiting 5 secs before quit...")
  Delay(5000)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [..] console linux

Message par Backup »

tu as compilé en mode "console" ??
jcaspar
Messages : 10
Inscription : ven. 02/août/2013 11:44

Re: [..] console linux

Message par jcaspar »

Merci de votre réponse !

Effectivement en mode console cela fonctionne normalement...
c'est déjà impressionant lol !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [..] console linux

Message par Backup »

c'est bien tu as decouvert le mode Console , mais passe aux fenetre , et laisse moi tombé le mode console
qui ne devrai servir qu'occasionnellement :)

va dans la parti information et tuto du forum , tu aura plein d'exemples de base ...
jcaspar
Messages : 10
Inscription : ven. 02/août/2013 11:44

Re: [..] console linux

Message par jcaspar »

Je viens de tenter de créer un formulaire
mais j'obtiens le message linker error et toute la puissance processeur est monopolisée
cela doit être la config de compilation ou des bibliothèques manquantes ?

Peut être avez vous eu des problèmes identiques ?

Merci beaucoup pour vos conseils ! :mrgreen:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [..] console linux

Message par Backup »

habitude a prendre

1-preciser ta version de Purebasic
2 -donner du code pour voir si c'est Purebasic ou toi qui deconne
3- les problemes de compilation sont souvent du au fait qu'on cherche a compiler un code qui est deja present en Ram (mais planté )
du coup le compilo ne peut pas poursuivre ..

ALT+CTRL +DEL et verifie si t'a pas le prg precedement compilé qui serai encore en Ram
jcaspar
Messages : 10
Inscription : ven. 02/août/2013 11:44

Re: [..] console linux

Message par jcaspar »

Pour l'instant je travaille avec la version demo 5.11 Linux 64
il semblerait que ce soit gtk qui pose soucis, même les exemples bloquent... :roll:

Il doit forcément exister un remède .... reste à trouver lequel ....
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: [..] console linux

Message par G-Rom »

jcaspar a écrit :Pour l'instant je travaille avec la version demo 5.11 Linux 64
il semblerait que ce soit gtk qui pose soucis, même les exemples bloquent... :roll:

Il doit forcément exister un remède .... reste à trouver lequel ....

Salut, installé les dépendances par exemple ?
regarde le readme fourni avec , n'oublie pas que tu est "développeur" , il te faut les lib qui finissent pas -dev ;)
jcaspar
Messages : 10
Inscription : ven. 02/août/2013 11:44

Re: [..] console linux

Message par jcaspar »

Merci pour vos conseils

en utilisant checkinstall j'ai trouvé ce qui faisait défaut

apt-get install gcc g++ libc6-dev libsdl1.2-dev libgtk2.0-dev libgnomeprint2.2-dev unixodbc-dev libgnome2-dev libxine-dev libgnomeprintui2.2-dev libxxf86vm-dev

Maintenant cela fonctionne ...
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: [..] console linux

Message par NY152 »

Contrairement à ce que j'ai pu lire, sous Linux le mode console est plus utile que sous Windows. Comment ferait-on tourner une application fenestrée sur une distribution sans server X lancé (c'est le cas d'un serveur ou par accès SSH sans X11 forwarding) donc non le mode console est aussi important que le mode fenestré.

Sinon concernant le mode console, le truc qui est énervant (sous Windows, sous Linux je ne sais pas je me sers plus de bash qui me suffit pour le moment) c'est que quand on appelle une application console celle-ci ne s'affiche pas dans l'invite de commande utilisée mais créé sa propre fenêtre, s'exécute et se ferme et du coup on a aucun écho de ce que l'application a faite dans l'invite de commande qui l'a appelé, c'est vraiment pas top si on l'on veut que tout ce passe dans notre invite de commande non ?

Mais peut être que tout ceci n’intéresse que moi lol
.:NY152:.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [..] console linux

Message par Backup »

NY152 a écrit : s'exécute et se ferme et du coup on a aucun écho de ce que l'application a faite dans l'invite de commande qui l'a appelé,
t'as regarder les parametres de Runprg ??


tu peux recuperer la sortie d'un prg lancé par la parametre #PB_Program_Read .....

exemple qui utilise la commande DOS ipconfig (et te renvoi ton ip local )
on lance l'invite de commande de Windows ...

Code : Tout sélectionner

prg=RunProgram("cmd.exe", "?/c ipconfig /all", "", #PB_Program_Open|#PB_Program_Read)


If prg
  While ProgramRunning(prg)
    Debug ReadProgramString(prg)
  Wend
CloseProgram(prg)
EndIf

NY152 a écrit : Sinon concernant le mode console, le truc qui est énervant (sous Windows, sous Linux je ne sais pas je me sers plus de bash qui me suffit pour le moment) c'est que quand on appelle une application console celle-ci ne s'affiche pas dans l'invite de commande utilisée mais créé sa propre fenêtre, s'exécute et se ferme et du coup
le input permet d'attendre un appuis clavier :roll:

Code : Tout sélectionner

If OpenConsole()
	
	ConsoleTitle("Ceci est le titre de la console")
	EnableGraphicalConsole(1) ; passe en mode graphique
	ConsoleColor(10,0)  ; couleur de text vert, couleur fond noir
	ConsoleCursor(10) ; gros curseur
	ConsoleLocate(5, 10); positionne le curseur
	PrintN("j'espere que tu aura le temps de lire ceci!") ; ecrit
	
	ConsoleLocate(5, 30); positionne le curseur
	PrintN("Appuyez sur [Entree] pour quitter") ; ecrit
	ConsoleLocate(40, 30) ; laisse le curseur a la fin
	a$ = Input() ; attent une reponse :D
endif
; EPB
Contrairement à ce que j'ai pu lire, sous Linux le mode console est plus utile que sous Windows.
je vois pas qui a pu ecrire que le mode console n'etait pas utile ! :roll:
Dernière modification par Backup le dim. 22/sept./2013 17:42, modifié 1 fois.
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: [..] console linux

Message par NY152 »

runprogram a rien a voir la dedans

Quand je créé un programme console sous Windows qui affiche un simple "Hello World !" dans le prompt par exemple et que je l'appelle ce dit programme dans un invite de commande, je n'aurais pas d'"Hello World !" d'affiché puisque le programme se lancera dans une autre fenêtre que l'invite de commande (qui se fermera à la fin de mon application donc la immédiatement) que celle que j'ai utilisé pour l’appeler. Le problème ne vient pas d'un programme que je lance mais bien de l'exécutable PB lui-même.

Je sais c'est pas très clair mais ça devrait aller là ^^
.:NY152:.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: [..] console linux

Message par Backup »

si tu t'expliquai plus clairement :roll:

si j'ai bien compris tu veux ajouter une commande Dos ....
c'est a dire lancer un de tes prg console en passant par l'invite de commande Windows ....

si c'es ça , j'ai deja répondu a ça ici :
http://www.purebasic.fr/french/viewtopi ... =1&t=13552
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: [..] console linux

Message par NY152 »

non pas nécessairement ajouter une commande DOS, je veux simplement que toutes les sorties écran d'un programme console PB (et tous les programme qu'il peut être amené à exécuter) se fasse dans la fenetre d'invite de commande qui a appelé le programme et non dans une nouvelle c'est tout.

EDIT :

Un code tout con et à l'arrache pour illustrer ce que je dis

mettez juste ça :

Code : Tout sélectionner

If OpenConsole()
  ConsoleTitle("PROGRAMME A LANCER DEPUIS UN INVITE DE COMMANDE")
  Print("Voici un simple print()" + #CRLF$)
  ;ici on lance un programme pour voir où le résultat ira. J'ai pris mencoder car je bosse pas mal avec ce programme en ligne de commande, changez-en le cas échéant c'est juste un test pour le retour ....
  RunProgram("mencoder.exe")
  Print(#CRLF$ + #CRLF$)
  Print("Voici un deuxième print testouille." + #CRLF$)
  Print("Le programme va se terminer dans 10 secondes et regardons ce qu'il nous reste dans l'invite de commande qui a lancer ce programme ...")
  Sleep_(10000)
EndIf
compilez ce code, ouvrez un invite de commande et exécutez le depuis ce dernier.

Admirez ce qui reste de son exécution une fois celui-ci terminé ...

Absolument rien et en prime on a un deuxième invite de commande qui encombre l'écran.
.:NY152:.
NY152
Messages : 148
Inscription : dim. 14/mai/2006 20:41

Re: [..] console linux

Message par NY152 »

Je suis repassé ici à tout hasard, ça n'enflamme pas les foules ce que j'ai raconté lol
.:NY152:.
Répondre