Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/04/2020, à 11:29

zigroful1

Rendre l'EDI scite (scintilla) interactif

je travaille sur linux (ubuntu 18.04 LTS) et j'ai installé  scite comme editeur. Quand je lance un script avec scite, et qu'il est prévu que ce script s'arrête et me donne la main pour que j'entre des donnees, il ne le fait pas. Y a-t-il moyen de rendre scite interactif ?
Par exemple: je fais un script tout simple (en bash par exemple, dans un fichier avec suffixe sh) qui me demande Qui es-tu ?
L'ecran de sortie n'affiche rien et pourtant le code de sortie est bien 0, càd que tout s'est bien passé !
Quand je lance le même script à partir de la console, tout se passe bien : J'arrive au prompt et je peux entrer ma réponse sans pb !
Quelqu'un sait-il comment modifier les fichiers de config pour que je puisse reprendre la main et entrer lles données ?
Je ne parle pas ici des arguments entrés en ligne de commande, mais des données à entrer en cours d'exécution !

Hors ligne

#2 Le 07/05/2020, à 15:40

ptitjoz

Re : Rendre l'EDI scite (scintilla) interactif

tu as un exemple de ton script ?

Hors ligne

#3 Le 08/05/2020, à 08:57

zigroful1

Re : Rendre l'EDI scite (scintilla) interactif

Voici un exemple en python pour tester si une année est bissextile.Quand je lance ce script avec Scite, Scite n'affiche pas, dans le panneau de résultat (fenêtre Outpane), "Saisissez l'annee" et ne me donne pas la main pour que je puisse entrer l'année.
Il affiche simplement le code d'erreur 0 signifiant qu'il n'y a pas d'erreur. Alors que le même script lancé avec Geany, ouvre une fenêtre Xterm dans laquelle il affiche "Saisissez l'année" et attend que je la saisisse pour me donner le résultat dans cette même fenêtre, que je referme qd tout est OK !

Voici le script:

#!/usr/bin/python3
# -*-coding:Utf-8 -*

annee=input("Saisissez l'année : ")
annee=int(annee)
if annee%4==0 or(annee%4==0 and annee%100 !=0):
    print("L'année ", annee , " est bissextile")
else:
    print("L'année ", annee , " n'est pas bissextile")

Hors ligne

#4 Le 08/05/2020, à 09:17

ptitjoz

Re : Rendre l'EDI scite (scintilla) interactif

Ok je regarde et te dis
à bientôt

Hors ligne

#5 Le 08/05/2020, à 11:05

ptitjoz

Re : Rendre l'EDI scite (scintilla) interactif

Pour faire simple je ne pense pas que l'EDI de SciTE permette la saisie de prompt directement.
Par contre il peut ouvrir une console.
j'ai renommé ton fichier bissextile.sh en bissextile.py puisque c'est un programme python.
et là ça fonctionne car ça ouvre un terminal pour demander les arguments

Dernière modification par ptitjoz (Le 08/05/2020, à 11:05)

Hors ligne

#6 Le 08/05/2020, à 15:52

zigroful1

Re : Rendre l'EDI scite (scintilla) interactif

Mais qu'as-tu fait pour que ça ouvre un terminal ? J'ai relancé mon script qui est bien un fichier en .py et rien ne se produit ! Et ce n'est pas le 1er script python qui a ce problème, ni les scripts dans un autre langage (sh, awk, etc...). J'ai plutôt l'impression qu'il manque qq chose à mon fichier de configuration de Scite pour faire en sorte que ce dernier ouvre un terminal dès qu'il rencontre un prompt dans le script. Le problème est que je ne trouve pas où, dans les fichiers de config de Scite, se situe l'instruction demandant l'ouverture de la console !

Hors ligne

#7 Le 08/05/2020, à 17:47

ptitjoz

Re : Rendre l'EDI scite (scintilla) interactif

ah oui j'avais bricolé python.properties... (à adapter...)
dis moi si ça fonctionne


if PLAT_GTK
	#command.go.*.py=python -u "$(FileNameExt)"
	#command.build.SConscript=scons --up .
	#command.build.SConstruct=scons .
	command.go.*.py=qterminal -e "python -u $(FileNameExt)"

Hors ligne

#8 Le 08/05/2020, à 18:33

zigroful1

Re : Rendre l'EDI scite (scintilla) interactif

J'ai bien modifié le fichier python.properties comme tu me l'as dit (en mettant des dièses devant les 3 premières lignes du § PLAT GTK et rajouté la dernière)  et j'ai lancé.
Il affiche sur la fenêtre Outpane ce message:

>qterminal -e "python -u bissextile.py"
/bin/sh: 1: qterminal: not found
>Exit code: 127

Hors ligne

#9 Le 09/05/2020, à 09:07

ptitjoz

Re : Rendre l'EDI scite (scintilla) interactif

Bonjour,
qterminal n'est pas installé sur ton ordi !
Soit tu remplaces par  le nom de celui que tu utilises (peut-être xterm ou autre)
Soit tu installes qterminal

Dernière modification par ptitjoz (Le 09/05/2020, à 09:08)

Hors ligne

#10 Le 10/05/2020, à 11:04

zigroful1

Re : Rendre l'EDI scite (scintilla) interactif

Bonjour ptitjoz,
Grâce à l'indication que tu m'as donnée, j'ai trouvé.
gnome-terminal est installé chez moi. Mais l'option -e est obsolète. J'ai trouvé, dans ce forum, comment s'en sortir. Il faut remplacer la dernière ligne du § PLAT_GTK par:
command.go.*.py=gnome-terminal -- bash -c "python -u $(FileNameExt); bash"

ça a l'air de marcher correctement chez moi !
Mais pourrais-tu me dire ce que qterminal apporte de plus que gnome-terminal ?

En tous cas, merci beaucoup, cela faisait quelques mois que je cherchais une solution à ce problème !

Hors ligne

#11 Le 10/05/2020, à 16:48

ptitjoz

Re : Rendre l'EDI scite (scintilla) interactif

Tout simplement parce que sous Lubuntu c'est le terminal par défaut (avant c'était lxterminal de mémoire)

Hors ligne