vraiment je suis bloquée!!
Editeur d'interface Graphique sous linux..., du help svp...
découpe ton script en morceau(a chaque fois que tu dois actualiser ta widget, tu fais un nouveau morceau)
la methode de snouffy est tout aussi valable mais plus difficile a mettre en place cela demande de faire un code asynchrone plus complexe pour les debutants.
si tu nous montrer carrement ton code ca serais plus simple !
@+
la methode de snouffy est tout aussi valable mais plus difficile a mettre en place cela demande de faire un code asynchrone plus complexe pour les debutants.
si tu nous montrer carrement ton code ca serais plus simple !
@+
Salut,
Pour christina,
Je te donne un exemple :
Imaginons une commande qui s'exécute au moment où tu charge ta feuille :
Sinon demande...
A plus.
Pour christina,
Je te donne un exemple :
Imaginons une commande qui s'exécute au moment où tu charge ta feuille :
PUBLIC SUB Form_Open()
EXEC [ "tacommande", "tes", "parametres" ] FOR READ
END
Tu vas créer une procédure spéciale qui va récupérer le résultat et l'afficher dans une boite de texte par exemple :
PUBLIC SUB Process_Read()
DIM sLine AS String
LINE INPUT #LAST, sLine
Content = Content & sLine & Chr(13) & Chr(10)
ta.Text = Content
END
Comprends-tu tout le code ?Sinon demande...
A plus.
voilà une partie de mon codedaneel wrote:Salut,
Pour christina,
Je te donne un exemple :
Imaginons une commande qui s'exécute au moment où tu charge ta feuille :Tu vas créer une procédure spéciale qui va récupérer le résultat et l'afficher dans une boite de texte par exemple :PUBLIC SUB Form_Open() EXEC [ "tacommande", "tes", "parametres" ] FOR READ END
Comprends-tu tout le code ?PUBLIC SUB Process_Read() DIM sLine AS String LINE INPUT #LAST, sLine Content = Content & sLine & Chr(13) & Chr(10) ta.Text = Content END
Sinon demande...
A plus.
EXEC ["/usr/local/share/snmp/traplog.pl"] FOR READ
PUBLIC SUB Process_read()
DIM Str AS String
'WHILE NOT Eof (LAST)
LINE INPUT #LAST, Str
TA.Text=Str & Chr(13) & Chr(10)
END
et voilà mais le resultat s'affiche tjrs sur la consoleErreur au moment de la compilation:
"Not enough argumenys to (str) "
"Not enough argumenys to (str) "
Salut,
J'analyse rapidement ton code :
Méfie toi le GAMBas est peut-être sensible à la casse je ne me rappelle plus : Process_read() -> Process_Read().
La déclaration de Str a l'air bien aussi.
Tu as du remarquer que le WHILE était inutile dans ce cas là, d'où le commentaire.
De même la capture de ligne parait efficace.
Je pense que nous arrivons au coeur su problème car si j'interprète le code qui est écris je vois que TA.Text prend une ligne de la sortie, donc à la fin de l'exécution TA.Text contient la dernière ligne de la sortie console.
Pour résoudre le problème tu pourrais faire :
Pour l'erreur de compilation je ne vois pas, tu n'as pas plus d'information ? (bout de code concerné, numéro de ligne,...).
A plus.
J'analyse rapidement ton code :
EXEC ["/usr/local/share/snmp/traplog.pl"] FOR READ
PUBLIC SUB Process_read()
DIM Str AS String
'WHILE NOT Eof (LAST)
LINE INPUT #LAST, Str
TA.Text=Str & Chr(13) & Chr(10)
END
Le EXEC semble correct.Méfie toi le GAMBas est peut-être sensible à la casse je ne me rappelle plus : Process_read() -> Process_Read().
La déclaration de Str a l'air bien aussi.
Tu as du remarquer que le WHILE était inutile dans ce cas là, d'où le commentaire.
De même la capture de ligne parait efficace.
Je pense que nous arrivons au coeur su problème car si j'interprète le code qui est écris je vois que TA.Text prend une ligne de la sortie, donc à la fin de l'exécution TA.Text contient la dernière ligne de la sortie console.
Pour résoudre le problème tu pourrais faire :
TA.Text = TA.Text & Str & Chr(13) & Chr(10)
(Je n'ai pas testé ce code mais je pense que ça pourrais fonctionner).Pour l'erreur de compilation je ne vois pas, tu n'as pas plus d'information ? (bout de code concerné, numéro de ligne,...).
A plus.
procédant autrement,
en fait le script "traplog.pl"sert à recuperer des logs dans un fichier "tralog.log".
donc au lieu d'afficher l'exectuion du script dans TA, je voudrais savoir comment faire pour afficher le contenu du fichier "traplog.log" ds TA biensur !!
merci
en fait le script "traplog.pl"sert à recuperer des logs dans un fichier "tralog.log".
donc au lieu d'afficher l'exectuion du script dans TA, je voudrais savoir comment faire pour afficher le contenu du fichier "traplog.log" ds TA biensur !!
merci
Salut,
Je pense que tu peux remplacer ta ligne d'EXEC par quelque chose comme :
http://www.gambasdoc.org/help/?fr
http://www.gambasforge.net/
A plus.
Je pense que tu peux remplacer ta ligne d'EXEC par quelque chose comme :
EXEC ["cat", "traplog.log"] FOR READ
ou tu peux te documenter sur la fonction OPEN de GAMBas :
DIM Str AS String
file_id = OPEN "fichier" FOR READ
WHILE NOT Eof(file_id)
LINE INPUT #file_id, Str
TA.Text = TA.Text & Str & Chr(13) & Chr(10)
WEND
Deux liens :http://www.gambasdoc.org/help/?fr
http://www.gambasforge.net/
A plus.
merci daneel,daneel wrote:Salut,
Je pense que tu peux remplacer ta ligne d'EXEC par quelque chose comme :ou tu peux te documenter sur la fonction OPEN de GAMBas :EXEC ["cat", "traplog.log"] FOR READ
Deux liens :DIM Str AS String file_id = OPEN "fichier" FOR READ WHILE NOT Eof(file_id) LINE INPUT #file_id, Str TA.Text = TA.Text & Str & Chr(13) & Chr(10) WEND
http://www.gambasdoc.org/help/?fr
http://www.gambasforge.net/
A plus.
"cat" permet d'afficher le contenu ??
cat fichier.txt
affiche le contenu du fichier oui 😃erreur de synatxe pour la ligne :Temet wrote:affiche le contenu du fichier oui 😃cat fichier.txt
file_id = OPEN "/var/log/tarplog.log" FOR READ
stp si toi tu vois l'erreur !!!
Ah non, désolé, je parlais d'une bête commande bash.
Gambas, j'y ai jamais touché de ma vie. Toutes mes confuses.
En Qt encore j'aurais pu t'aider, en profiter pour lâchement essayer d'obtenir tes coordonnées en te proposant de l'aide à domicile... mais vu que c'est du Gambas, j'ai décidé de ne pas te harceler.
Ton jour de chance on dirait! :hammer:
Gambas, j'y ai jamais touché de ma vie. Toutes mes confuses.
En Qt encore j'aurais pu t'aider, en profiter pour lâchement essayer d'obtenir tes coordonnées en te proposant de l'aide à domicile... mais vu que c'est du Gambas, j'ai décidé de ne pas te harceler.
Ton jour de chance on dirait! :hammer:
- Modifié
Si j'en crois la doc de Gambas, faut d'abord déclarer file_id
Rajoute
Rajoute
DIM file_id AS File
avant
file_id = OPEN "/var/log/tarplog.log" FOR READ
EDIT : une petite lecture de cette page te serait bénéfique aussi : naming conventionsOups oui très juste Temet, il faut bien déclarer "file_id" avant de l'utiliser (enfin c'est toujours mieux).
Bon les "naming conventions" ce serait l'idéal mais on peut comprendre quand même.
Le "cat fichier" que j'ai utilisé est bien la même commande que dans le shell, EXEC permet de l'utiliser comme les autres commandes de Linux.
Pour l'erreur de syntaxe regarde dans les liens que je t'ai donné je me suis peut-être trompé vu que je l'ai fait de tête.
Je ne sais pas pourquoi ton code avec EXEC ne marche pas, chez moi ça fonctionne au poil, c'est par ailleurs très pratique pour faire des GUI à certaines commandes.
A plus.
Bon les "naming conventions" ce serait l'idéal mais on peut comprendre quand même.
Le "cat fichier" que j'ai utilisé est bien la même commande que dans le shell, EXEC permet de l'utiliser comme les autres commandes de Linux.
Pour l'erreur de syntaxe regarde dans les liens que je t'ai donné je me suis peut-être trompé vu que je l'ai fait de tête.
Je ne sais pas pourquoi ton code avec EXEC ne marche pas, chez moi ça fonctionne au poil, c'est par ailleurs très pratique pour faire des GUI à certaines commandes.
A plus.
bonjour,Temet wrote:Si j'en crois la doc de Gambas, faut d'abord déclarer file_id
Rajoute
avantDIM file_id AS File
EDIT : une petite lecture de cette page te serait bénéfique aussi : naming conventionsfile_id = OPEN "/var/log/tarplog.log" FOR READ
l'erreur n'a rien avoir avec la declaration!!
j'ai tjrs la meme erreur sur la meme ligne : "file_id=open ....."
merci
daneel (fan d'Asimov??), vu que tu as Gambas et que tu connais apparemment le fonctionnement, tu pourrais pas poster le petit code complet qui ouvre le fichier et tout ça?
Perso j'ai pas Gambas chez moi donc bon...
Perso j'ai pas Gambas chez moi donc bon...
l'erreur est à partir de " OPEN = "/monfich..............." for read "
car j'ai enlevé file_id est j'ai tjrs la meme erreur
car j'ai enlevé file_id est j'ai tjrs la meme erreur
Salut,
Oui bien vu Temet...
Pour le problème en question il faut se rendre compte que la documentation est pour la version de développement, la page pour notre version (qui date un peu) est à peu près celle-ci (merci à boarf).
Donc le code peut être ainsi :
A plus.
Oui bien vu Temet...
Pour le problème en question il faut se rendre compte que la documentation est pour la version de développement, la page pour notre version (qui date un peu) est à peu près celle-ci (merci à boarf).
Donc le code peut être ainsi :
' Gambas class file
'Bouton d'ouverture
PUBLIC SUB Button1_Click()
DIM fileid AS File
DIM ligne AS String
dialog.Title = "Ouvrir un fichier..."
dialog.Filter = [ "Tous les fichiers (*)" ]
dialog.OpenFile
IF dialog.Path <> "" THEN
form1.text = dialog.Path
OPEN dialog.Path FOR READ AS fileid
WHILE NOT Eof(fileid)
LINE INPUT #fileid, ligne
ta.text = ta.Text & ligne & Chr(13) & Chr (10)
WEND
CLOSE #fileid
ENDIF
END
'Bouton d'effacement
PUBLIC SUB Button2_Click()
ta.text = ""
form1.text = "rien"
END
'Bouton de sortie
PUBLIC SUB Button3_Click()
QUIT
END
Et normalement ça marche...A plus.