Gambas-it

Programmazione => Progetti degli utenti => Topic aperto da: Ceskho - 14 Febbraio 2009, 03:02:30

Titolo: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 14 Febbraio 2009, 03:02:30
Ho creato un piccolo programma che spero possa essere utile a chi non ha una tariffa flat e quindi deve dosare il suo tempo su internet.

lanciando il programma è possibile scegliere il proprio browser (o se non presente digitarne il nome) e all'avvio di questo il mio piccolo software inizierà a tenere in memoria il tempo che trascorrete in rete. Dallo stesso programma poi (che intanto potrà essere ridotto ad icona) ci si potrà disconnettere chiudendo il browser e vedendo quanto tempo si è statoi connessi.

Spero che il programma possa piacere ma sopratutto possa essere utile.

Ogni richiesta, prova, test e quant'altro è gradito per migliorare (anche nelle piccole cose) il programma.

Se qualcuno necessita dei sorgenti posso inviarli in area download...
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: leo72 - 14 Febbraio 2009, 16:00:27
Piccoli suggerimenti atti a migliorare il tuo programma:

1) i sorgenti  :ehm:;

2) una volta avviato il browser, sarebbe bene minimizzare o far sparire la finestra di avvio e sostituirla dal contatore del tempo. Mi pare infatti che non si possa sapere da quanto si sta navigando finché non si chiude il browser; non male sarebbe l'idea di utilizzare una icona nella systray per minimizzare il programma (ti suggerisco di dare un'occhiata al mio progetto "Sottofondo" presente in area download dove gestisco una icona in systray per comandare un riproduttore di suoni in sottofondo);

3) in chiusura, mi ha dato un errore inattesa in FChiusura (mi pare).
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: - 14 Febbraio 2009, 17:04:24
Io lo farei più generico ....
Esempio : usarlo con gambas per monitorare quanto si lavora su un progetto, quindi con un conteggio globale oltrechè di sessione singola
( SHELL "gambas2 directory progetto" )
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 14 Febbraio 2009, 17:21:00
Si si potrbbe fare....non appena metto a posto quato stasera se ce la faccio, inizio l'altro più generico....questo preferisco lasciarlo così com'è per un uso più diretto...
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 14 Febbraio 2009, 19:12:27
Come Leo suggeriva ho apportato le modifiche come icone nella barra (trayicon) e visualizzazione del tempo che trascorre (tanto per capire che tutti invecchiano!!)

Per quanto riguarda i sorgenti posterò quelli "finali" direttamente in download così evito il metti_e_togli_e_aggiungi continuo....


come sempre attendo esiti e consigli!!!
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: leo72 - 14 Febbraio 2009, 23:31:36
Un grosso bug che ho riscontrato è che l'applicazione, in uscita, forzala chiusura anche delle istanze di Firefox che non aveva aperto lei.
Mi spiego....
Ho una finestra di Firefox aperta. Decido di lanciare PEI. Avvio da esso un'altra sessione di Firefox. Poi chiudo a mano Firefox aperto da PEI prima di terminare il programma. Quando termino PEI, questo mi chiude l'altra sessione di Firefox e poi esce con il seguente errore:
This application has raised an unexpected error and must abort.
[29] Invalid object.
FFinale.?.0


Forse sarebbe meglio prelevare il PID del processo del browser che PEI avvia e terminare quello.
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 15 Febbraio 2009, 00:07:55
mmh....hai suggerimenti a riguardo?
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: leo72 - 15 Febbraio 2009, 15:27:46
Purtroppo no.
Ho notato infatti che anche se apro 2 finestre diverse di Firefox, il processo è e rimane sempre uno. Quindi il PID non è una strada percorribile.

O controlli in fase di avvio che il browser selezionato dall'utente non sia già in esecuzione e poi memorizzi questa informazione per una eventuale segnalazione in fase di uscita ("Attenzione, saranno terminate tutte le istanze di __NOME_BROWSER__. Proseguire?") oppure trovi un sistema per verificare la presenza di più istanze interrogando il desktop manager, ma non so come.
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 15 Febbraio 2009, 16:04:53
Ma il problema di fondo è come fare a vedere che un'applicazione è già in uso...
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: ccc - 15 Febbraio 2009, 18:00:08
Complimenti per l'idea, decisamente utile. Lo proverò quando mi deciderò a comprare una penna per il wireless.

Intanto ho letto il tuo problema. Ti consiglio di controllare se Firefox ha l'opzione -a (IceWeasel ce l'ha, è un fork). Se ce l'ha dovresti poter impostare l'id dell'applicazione in questo modo:

firefox -a

Se non esiste già un'istanza con lo stesso ID ne aprirà una nuova e tu dovresti aver risolto.
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 15 Febbraio 2009, 18:01:48
e se invece l'istanza esiste cosa succede?
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: ccc - 15 Febbraio 2009, 19:09:46
in IW? viene riutilizzata

però ripeto, controlla se l'opzione c'è. io l'ho trovata nella documentazione di IW e non in quella di FF, però alcune opzioni d'avvio di FF non sono documentate.
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 15 Febbraio 2009, 19:11:26
Il problema è che il mio porgrammino dovrebbe poter funzionare bene con tutti i browser...tu mi dici che questo comando dovrebbe andare solo con firefox e derivate...
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: ccc - 15 Febbraio 2009, 19:28:03
Ho scaricato il tuo programma, ma non mi funziona...

Uso gNewSense 2.1 (basata su Ubuntu 8.04) con Xfce 4 e Gambas 2.0 (vecchia ma, come ho già detto, penso sia quella più usata visto che i repo di Ubuntu sono fermi a quella versione).

Allora, io lancio il programma. L'unico browser che rileva da solo è Epiphany, mentre io ho anche IceCat, Konqueror e Midori (poco diffuso ma importante, in quanto credo sia l'unico browser per GNU/Linux che per default usa Webkit). Ma questi sono particolari.

Il problema è che quando lancio un qualsiasi browser, dopo pochi secondi il programma mi si chiude con un errore in FChiusura. Il browser invece rimane aperto.

Se posti i sorgenti provo a darti una mano (non ti posso assicurare niente).

EDIT_
si ma puoi vedere nella documentazione di konqueror se ha un'opzione simile
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: md9327 - 15 Febbraio 2009, 20:44:53
Con il comando di sistema "ps -ef | grep ", dovresti essere in grado di:

a) capire se il browser è aperto (ovvio che devi sapere quale...), e magari quanti ne sono già aperti (potrebbero essere più d'uno)...

b) leggere il pid del tuo stesso programma, che ti serve per vedere se i pid in esecuzione sono figli della tua applicazione.

Il comando, con le opzioni indicate, ti ritorna la lista dei programmi in esecuzione, compresi i loro pid, e il pid del padre; se tu uccidi il padre, uccidi anche i figli.

Non ho fatto personalmente prove del genere con Gambas, perchè finora non mi è servito farlo, e quindi d'uopo fare qualche prova...

Nota: durante l'esecuzione del tuo programma, è possibile che vengano aperti altre finestre browser, non dipendenti da te, per cui non mi sembra il caso di ammazzare tutto, dopotutto non è un gioco sparatutto... :-)
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 15 Febbraio 2009, 21:32:34
Citazione

santecaserio ha scritto:
Ho scaricato il tuo programma, ma non mi funziona...

Uso gNewSense 2.1 (basata su Ubuntu 8.04) con Xfce 4 e Gambas 2.0 (vecchia ma, come ho già detto, penso sia quella più usata visto che i repo di Ubuntu sono fermi a quella versione).


io uso ubuntu 8.04 con XFCE 4 e ga,bas 2.11

Citazione

santecaserio ha scritto:
Allora, io lancio il programma. L'unico browser che rileva da solo è Epiphany, mentre io ho anche IceCat, Konqueror e Midori (poco diffuso ma importante, in quanto credo sia l'unico browser per GNU/Linux che per default usa Webkit). Ma questi sono particolari.


c'è la casella di testo...scrivi lì il tuo browser..il mio programma non riconosce nulla...la lista la creo io e ci ho messo solo quei tre browser per prova....
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: leo72 - 16 Febbraio 2009, 00:51:39
@md9237:
purtroppo, come ho già detto, Firefox mantiene in memoria un solo processo che gestisce tutte le istanze avviate. Aprire anche 3 finestre differenti del browser comporta sempre l'avere come risultato del comando ps un unico PID. Quindi questa non è una strada percorribile per vedere se Firefox è già in esecuzione con più di 1 istanza.
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: ccc - 16 Febbraio 2009, 12:51:25
Ah, bè il mio ambiente e il tuo sono praticamente uguali. Solo che la mia versione di Gambas è più vecchia, perciò non si può escludere che il bug sia nella mia versione di Gambas e non nel tuo programma.

Ah ok, vedendo Epiphany ho pensato che il programma l'avesse rilevato in qualche modo.

Mi fai sapere se riesci a trovare il bug che mi fa chiudere il programma? Davvero, per quanto semplice penso sia uno dei programmi più utili che ho visto qui! (a volte non pensiamo che servono proprio le cose più semplici...)
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 16 Febbraio 2009, 13:32:40
Citazione

santecaserio ha scritto:

Mi fai sapere se riesci a trovare il bug che mi fa chiudere il programma? Davvero, per quanto semplice penso sia uno dei programmi più utili che ho visto qui! (a volte non pensiamo che servono proprio le cose più semplici...)


Ti ringrazio per il complimento...fa sempre piacere...

scaricherò la tua versione di gambas e vedrò se l'errore avviene anche con me...
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: md9327 - 17 Febbraio 2009, 17:43:57
[leo]
E' vero, scusa, non lo avevo notato finora...

Però in Unix dovrebbe esserci la possibilità di sapere, in base ad unprocesso padre, se esistono dei thread figli... è ovviamente da verificare...
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: ccc - 20 Febbraio 2009, 22:28:03
Un giorno il tuo programma compirà una buona azione e lo faranno santo. Allora si chiamerà San Pei, quasi come il cartone animato.

Ehm... scusatemi per questa idiozia assolutamente OT, non sono riuscito a trattenermi... non bannatemi per favore... cercherò di non scrivere altre idiozie...
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 20 Febbraio 2009, 22:30:04
Se ti presenti di nuovo da queste parti ti picchiamo...:D
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: md9327 - 23 Febbraio 2009, 10:45:07
Più che "Progetti in cerca d'aiuto", cercherei di inserire un'altro forum: "Utenti in cerca d'aiuto"...

:-)
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: leo72 - 23 Febbraio 2009, 11:59:27
Oppure "Salviamoli finché possiamo"  :-o
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 23 Febbraio 2009, 12:43:42
Ormai Santecaserio è un caso disperato!!! :D
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: ccc - 23 Febbraio 2009, 13:14:59
Hahaha... bè io l'ho sempre sostenuto che il lavoro fa impazzire, e io ne sono la dimostrazione :D
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 08 Marzo 2009, 18:06:32
Chiedendo al forum di ubuntu mi hanno consigliato questi due comando da terminale per vedere se un processo è già in esecuzione....

Sono:

Codice: [Seleziona]
ps -e | grep nome_programma


Codice: [Seleziona]

top | grep firefox


Entrambi però se gli riverso su una stringa e gli richiamo con process.last value non sortiscono effetto!!
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: leo72 - 09 Marzo 2009, 00:06:47
Il primo viene eseguito solo una volta, mentre il secondo, richiamando "top", va in esecuzione finché non viene interrotto.
Inoltre Process.Value restituisce "0" sul primo comando, che è cmq corretto dato che è il codice di uscita dei programmi *nix in caso di assenza di errori.

Penso però che sia meglio invocare il primo comando con un classico SHELL e basta:
Codice: [Seleziona]

DIM Responso AS String
 
  SHELL "ps -e | grep firefox" TO Responso
  IF Instr(Responso, "firefox") THEN
    ....... firefox è in esecuzione .........
  ELSE
    ....... firefox non è in esecuzione .....
  ENDIF
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Will32 - 31 Gennaio 2010, 11:45:06
Ceskho, puoi allegare ( gentilmente ) anche i file sorgente ??
Grazie  ;D
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Ceskho - 01 Febbraio 2010, 00:22:35
Quando li trovo!!!!  :o
Titolo: Re: Pei - Quanto tempo sei connesso
Inserito da: Will32 - 01 Febbraio 2010, 14:50:37
Ok, ciao
 ;D