mac_mc83 Pubblicato: 4 Giugno 2007 Segnalazione Share Pubblicato: 4 Giugno 2007 (modificato) Ciao a tutti, oggi ho finito di testare (e pare che funzioni... ) una nuova piccola applicazione. Potrebbe non tornare utile tutti i giorni...insomma dipende dova vai con il cellulare!! mi spiego meglio: spesso mi capita di passare in zone con dei vuoti di campo di qlc chilometro, o per tornare a casa mi devo fare strade cn molte gallerie, quidi la ricezione del telefono lascia spesso a desiderare, quindo mi sono scritto questa semplica applicazione in python che permettedi inviare degli sms... applicazione tuttavia che, in mancanza di copertura di rete, resta in attesa con il mesaggio che si scrive in memoria e aspetta fino a quando non si aggancia all rete per inviare cosi il messaggio. L'ho progettata per utilità personale in principio ma spero che possa tornare utile anche a qlc altro!! ciao !! p.s. Come al solito ringrazio tutti quelli che hanno risposto ai mei interrogativi durante lo sviluppo ...grazie mille ciao!! SmsSender.sis Modificato 4 Giugno 2007 da mac_mc83 Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 4 Giugno 2007 Segnalazione Share Pubblicato: 4 Giugno 2007 (modificato) Ciao a tutti, oggi ho finito di testare (e pare che funzioni... ) una nuova piccola applicazione.Potrebbe non tornare utile tutti i giorni...insomma dipende dova vai con il cellulare!! mi spiego meglio: spesso mi capita di passare in zone con dei vuoti di campo di qlc chilometro, o per tornare a casa mi devo fare strade cn molte gallerie, quidi la ricezione del telefono lascia spesso a desiderare, quindo mi sono scritto questa semplica applicazione in python che permettedi inviare degli sms... applicazione tuttavia che, in mancanza di copertura di rete, resta in attesa con il mesaggio che si scrive in memoria e aspetta fino a quando non si aggancia all rete per inviare cosi il messaggio. L'ho progettata per utilità personale in principio ma spero che possa tornare utile anche a qlc altro!! ciao !! p.s. Come al solito ringrazio tutti quelli che hanno risposto ai mei interrogativi durante lo sviluppo ...grazie mille ciao!! SmsSender.sis carina l'idea.. se posso darti 1 pò di consigli: - migliorare l'icona non mi convince molto! - Per la scelta del numero, prova a fare in modo di scegliere il numero dai contatti della rubrica, studiati il modulo 'contacts' classe 'ContactDb' per la rubrica, non ho mai provato a realizzare qlksa con questo modulo, però leggendo la documentazione pys60 posso provare a darti delle dritte (ovviamente essendo parti di codice non testate, devi verificare se vanno o meno e fare le opportune modifiche ) innanzi tutto importa il modulo contacts: import contacts, appuifw db = contacts.open() arr=[] listobj=[] for id in db: cobj = db[id] listobj.append(cobj) arr.append(unicode(cobj.title)) #aggiunge ad arr il nome con cui è registrato in rubrica il contatto corrispondente al relativo 'id' sel_index = appuifw.selection_list(arr , search_field=1) #search_field=1 significa che c'è il campo per la ricerca del testo sel_obj = listobj[sel_index] #ottiene l'oggetto 'Contact' selezionato dall'array listobj, riempito precedentemente dal ciclo for. #ora, di 1 nome in rubrica, può contenere uno o + numeri di telefono, quindi bisogna vedere quanti numeri sono assegnati a quel contatto: sel_fields=sel_obj.find() #cerca tutti i campi assegnati all'oggetto in rubrica. if(len(sel_fields)==1): #se è solo 1 numero, manda l'sms a quel numero! lo ottieni con questo metodo: sel_fields.value numero=sel_fields.value ...continua, scrivi testo + invia sms... else: #se è più di un numero allora: crea 1 lista con tutti i numeri di quel contatto arr2=[] for i in range(0,len(sel_fields)): arr2.append(unicode(sel_fields[i].value)) sel_index2 = appuifw.selection_list(arr2 , search_field=0) numero=sel_fields[sel_index2].value ...continua, scrivi testo + invia sms... dovresti poterlo realizzare approssimativamente cosi, il codice l'ho steso ora su 2 piedi, senza poterlo testare, non so se è tutto corretto, l'ho scritto seguendo la documentazione del pys60 (che non ha esempi pratici, ma solo la teoria sui vari moduli, classi ecc...) quindi magari qlksa o l'ho saltata o nn è del tutto corretta.. fammi sapere! ciao Modificato 4 Giugno 2007 da dokkis Link to comment Condividi su altri siti More sharing options...
mac_mc83 Pubblicato: 4 Giugno 2007 Autore Segnalazione Share Pubblicato: 4 Giugno 2007 Grazie...dokkis, allora faccio dei test poi faccio sapere i risultati.... ehm si l'icone l'ho disegnata a mano con il photoshop...effettivamente mi sa che non è escita un gra che bene!!! be allora provo ad implemetare il programma con l'uso del modulo contact e vediadiamo se riesco a far funzionare lascelta da rubrica ciao!!! p.s. grazie per le critiche e i consigli ciao! Link to comment Condividi su altri siti More sharing options...
Oper Pubblicato: 4 Giugno 2007 Segnalazione Share Pubblicato: 4 Giugno 2007 (modificato) Aggiungo qualche altra osservazione: - se non c'è segnale il programma va in ciclo while fino a quando arriva il segnale. Fin qui tutto ok. Ma appena arriva il segnale lancia l'sms all'interno del ciclo while. Quando esce dal ciclo while perchè la variabile è cambiata, lancia di nuovo l'sms. Quindi 2 sms. - L'idea di dokkis è giusta, ma implementa tutti i due i metodi perchè può essere necessario non memorizzare il numero oppure scegliere uno già presente nei contatti. Modificato 4 Giugno 2007 da Oper Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 4 Giugno 2007 Segnalazione Share Pubblicato: 4 Giugno 2007 (modificato) Oper, come tag per il codice, usa prova prova1 prova2 ... ti fa vedere anche gli spazi.. ecc.. ^^ (codebox) Modificato 4 Giugno 2007 da dokkis Link to comment Condividi su altri siti More sharing options...
Oper Pubblicato: 4 Giugno 2007 Segnalazione Share Pubblicato: 4 Giugno 2007 In effetti stavo cercando di ricordare quale era l'istruzione: xD Invece di usare uqesto passaggio: while sign == 0: sign = sysinfo.signal_bars() appuifw.note(u"Segnale assente, in attesa...") if sign > 0: appuifw.note(u"Copertura di rete presente, invio messaggio in corso...") messaging.sms_send(numero,mes) appuifw.note(u"Messaggio inviato") start_menu() if sign > 0: appuifw.note(u"Copertura di rete presente, invio messaggio in corso...") messaging.sms_send(numero,mes) appuifw.note(u"Messaggio inviato") start_menu() usa questo: i=0 while sign==0: sign = sysinfo.signal_bars() if i==0: i=1 appuifw.note(u"Segnale assente, in attesa...") appuifw.note(u"Copertura di rete presente, invio messaggio in corso...") messaging.sms_send(numero,mes) appuifw.note(u"Messaggio inviato") start_menu() perchè ti fa sempre la stringa a video con il relativo beep e potrebbe essere una rottura. Link to comment Condividi su altri siti More sharing options...
mac_mc83 Pubblicato: 4 Giugno 2007 Autore Segnalazione Share Pubblicato: 4 Giugno 2007 grazie...per i consiglio...ci lavorerò su... speriamo che ci riesco Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 4 Giugno 2007 Segnalazione Share Pubblicato: 4 Giugno 2007 Allora! Intanto complimenti! Crei applicazioni ogni due giorni! Arrivando al programma premetto che ho un N70, ma non funziona, nel senso che quando faccio invia sms mi si chiude! Ho provato perciò a capire la causa e ho scoperto che sign = sysinfo.signal_bars() non va! Forse è il modulo che non funziona! Poi per il menù quando ci fai if sell==1: ecc... per l'ultimo if mettici else senza nessuna condizione così se si schiaccia il SoftKey Sx esce direttamente dal programma! Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 4 Giugno 2007 Segnalazione Share Pubblicato: 4 Giugno 2007 Allora! Intanto complimenti! Crei applicazioni ogni due giorni! Arrivando al programma premetto che ho un N70, ma non funziona, nel senso che quando faccio invia sms mi si chiude! Ho provato perciò a capire la causa e ho scoperto che sign = sysinfo.signal_bars() non va! Forse è il modulo che non funziona! Poi per il menù quando ci fai if sell==1: ecc... per l'ultimo if mettici else senza nessuna condizione così se si schiaccia il SoftKey Sx esce direttamente dal programma! prova ad installare l'ultimo python disponibile dal sito... la funzione sysinfo.signal_bars() non è sempre esistita in tt le versioni di pys60, prima era sysinfo.signal() e sysinfo.signal_strength() (nel pys 1.3.15 ad es..) non so da quale versione hanno cambiato il nome di quel metodo... Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 4 Giugno 2007 Segnalazione Share Pubblicato: 4 Giugno 2007 Può essere, anche perchè è da molto che non installo un python! Grazie! Link to comment Condividi su altri siti More sharing options...
mac_mc83 Pubblicato: 5 Giugno 2007 Autore Segnalazione Share Pubblicato: 5 Giugno 2007 grazie per le dritte, per le piccole modifiche ci sono, invece per l'implementazione delle lettura della rubrica del telefono ho ancora qlc problema... ma spero di risolvere presto... a risentirci ciao!!! Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 5 Giugno 2007 Segnalazione Share Pubblicato: 5 Giugno 2007 Bene, anche perchè verreb una nice app con la rubrica! Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 5 Giugno 2007 Segnalazione Share Pubblicato: 5 Giugno 2007 (modificato) grazie per le dritte, per le piccole modifiche ci sono, invece per l'implementazione delle lettura della rubrica del telefono ho ancora qlc problema... ma spero di risolvere presto... a risentirci ciao!!! per la rubrica, ho provato lo script che ti avevo scritto, e con mio stupore funziona! pensavo ci fosse qlk piccolo errore invece va.. c'è solo 1 cosa da aggiustare.. adesso aggiusto e posto un py che mostra come usare la rubrica! se poi hai prb ad implementarla posso aiutarti io.. (sempre se nn vuoi fare tutto da solo ) ps: ci sono dei piccoli prb, se do annulla al dialog dove scrivo il testo, cerca di mandare cmq il messaggio! mi sa che ti sei scordato qlk 'return' per strada o nn controlli proprio cosa viene scelto nella query!!! poi il testo del msg è meglio se lo scrivi in una textbox!!! guarda nella documentazione pys60 'Text Type!' in generale: import appuifw appuifw.app.body=t=appuifw.Text() t.bind(tasto_codice,funzionedicallback) in pratica all'interno di text, quando viene digitato il tasto che bindi, richiama la funzionedicallback.. ^^ Modificato 5 Giugno 2007 da dokkis Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 5 Giugno 2007 Segnalazione Share Pubblicato: 5 Giugno 2007 ti posto l'esempio di 1 scriptino che usa la rubrica... dovresti riuscire ad implementarlo nel prg!!! unico difetto è che la rubrica nn è ordinata alfabeticamente (a me lo sono solo alcuni contatti, altri nn sono ordinati, bisognerebbe creare 1 metodo x ordinarli..) se vuoi possiamo collaborare.. se vuoi e se lo hai aggiungimi ad msn (contatto nel mio profilo) dato che nn è 1 cosa complicatissima posso dedicarci 1 pò di tempo (sto sotto esami di maturità -.-'') 1 altra funzione che potresti aggiungere al programma è quella per mandare 1 msg ad 1 determinato orario! vbbè ma qst semmai viene dopo, cmq era 1 spunto per ampliare il prg! ciao ^^ rubrica.txt Link to comment Condividi su altri siti More sharing options...
mac_mc83 Pubblicato: 6 Giugno 2007 Autore Segnalazione Share Pubblicato: 6 Giugno 2007 allora intanto grazie per l'interessamento...ieri sera non ce l'ho proprio fatta...pure io sto in periodo X sto cn gli ultimi esami e la tesi... cmq cambiando discorso: quell'errore che invia il mess se si annulla l'avevo notato l'ho appena risolto (almeno credo...non mi ha dato problemi ora che l'ho provato) ora mi guardo lo script che hai postato cosi vedo di capirci qlc... thx... a risentirci Link to comment Condividi su altri siti More sharing options...
pikkolosimo Pubblicato: 6 Giugno 2007 Segnalazione Share Pubblicato: 6 Giugno 2007 oh raga ho provato a fa un esperimentino...pero in modo che chiami.-..cosi da provare il modulo contacts..ma mi da errore import appuifw import telephone import sysinfo import contacts def chiama(): ar=[u"Numero Manualmente",u"Numero dalla Rubrica"] sel = appuifw.selection_list(ar) if(sel==0): numero = appuifw.query(u"Digita numero", "float") numero=unicode(str(numero)[:-2]) else: db = contacts.open() arr=[] listobj=[] for id in db: cobj = db[id] listobj.append(cobj) arr.append(u(cobj.title)) #aggiunge ad arr il nome con cui è registrato in rubrica il contatto corrispondente al relativo 'id' sel_index = appuifw.selection_list(arr , search_field=1) #search_field=1 significa che c'è il campo per la ricerca del testo sel_obj = listobj[sel_index] #ottiene l'oggetto 'Contact' selezionato dall'array listobj, riempito precedentemente dal ciclo for. #ora, di 1 nome in rubrica, può contenere uno o + numeri di telefono, quindi bisogna vedere quanti numeri sono assegnati a quel contatto: sel_fields=sel_obj.find() #cerca tutti i campi assegnati all'oggetto in rubrica. (come primo elemento, aggiunge automaticamente il nome della persona selezionata). if(len(sel_fields)==2): #==2 xkè come primo elemento c'è il nome della persona selezionata! #se è solo 1 numero, manda l'sms a quel numero! lo ottieni con questo metodo: sel_fields.value numero=sel_fields[1].value telephone.dial(str(numero)) else: arr2=[] for i in range(1,len(sel_fields)): arr2.append(unicode(sel_fields[i].value)) sel_index2 = appuifw.selection_list(arr2 , search_field=0) numero=sel_fields[sel_index2+1].value #...continua, scrivi testo + invia sms... telephone.dial(str(numero)) appuifw.app.menu=[(u"Menu principale",start_menu)] def exit(): appuifw.app.set_exit() appuifw.note(u"Arrivederci") look.signal() def start_menu(): appuifw.app.screen = "normal" menu = [(u"chiama", u"Esci"] sel = appuifw.selection_list(menu) if sel == 0: chiama() if sel == 1: exit() appuifw.app.title = u"why?!?!" lock = e32.Ao_lock() appuifw.app.screen = "normal" start_menu() Link to comment Condividi su altri siti More sharing options...
giuppe92 Pubblicato: 6 Giugno 2007 Segnalazione Share Pubblicato: 6 Giugno 2007 Simo, ti ho rivisto il programma! Ci sentiamo su msn appena puoi! Link to comment Condividi su altri siti More sharing options...
JumpJack_ Pubblicato: 14 Giugno 2007 Segnalazione Share Pubblicato: 14 Giugno 2007 Ho un telefono SYmbian UIQ, ma so per certo che ci girano anche i programmi per S60, se scritti senza interfaccia grafica. E il problema dei messaggi non inviati ce l'ho ovviamente anch'io (e' un marchio di fabbrica Symbian...). Cosa fa esattamente questo programma? E' alternativo a quello di default per inviare i mex, oppure ritenta l'invio di quelli non inviati dall'applicazione messaggi standard? Python puo' accedere al "symbian message store", ovvero all'archivio messaggi di sistema? So come realizzare in teoria un programma che imposta i messaggi in "da inviare" invece che in "falliti"... ma non sono in grado, nella pratica, di scrivere il codice (ergo, so quali librerie e fuzioni c++ servono, ma non so come usarle), se serve una mano... Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 17 Giugno 2007 Segnalazione Share Pubblicato: 17 Giugno 2007 so quali librerie e fuzioni c++ servono, ma non so come usarle intanto prova a dirci quali sono.. magari si riesce a combinare qlksa! xD ciao ^^ Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 17 Giugno 2007 Segnalazione Share Pubblicato: 17 Giugno 2007 (modificato) @dok, hai segnalato tu stesso questo link qualche post fa... http://wiki.forum.nokia.com/index.php/SMS_Receiver In pratica si tratta di dover gestire l'evento EMsvEntriesChanged, dopodiche' controllare lo stato del messaggio e se corrisponde ad "Invio Fallito" allora bisogna "rischedularlo" per l'invio utilizzando la funzioncina apposita (di cui mi sfugge il nome, forse e' qualcosa come ScheduleForSending) Modificato 17 Giugno 2007 da Il.Socio Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 17 Giugno 2007 Segnalazione Share Pubblicato: 17 Giugno 2007 (modificato) @dok, hai segnalato tu stesso questo link qualche post fa... http://wiki.forum.nokia.com/index.php/SMS_Receiver In pratica si tratta di dover gestire l'evento EMsvEntriesChanged, dopodiche' controllare lo stato del messaggio e se corrisponde ad "Invio Fallito" allora bisogna "rischedularlo" per l'invio utilizzando la funzioncina apposita (di cui mi sfugge il nome, forse e' qualcosa come ScheduleForSending) ma che davvero? na io avevo segnalato il link per accedere alle chiamate in entrata... cmq sia si avevo visto quella pagina mi sembra.. ma nn avevo capito come controllare lo stato del msg... xD EDIT: ho trovato degli appunti dello stesso jumpjack: http://jumpjack.wordpress.com/2007/01/ quindi bisogna provare a lavorare con la classe TMsvEntry e le funzioni SendingState() e SetSendingState()... xD appena avrò 1 pò di tempo, dopo gli esami, vedo che riesco a tirare fuori.. (c'ho 400mila progetti che vorrei portare avanti dopo l'esame! ) Modificato 17 Giugno 2007 da dokkis Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 17 Giugno 2007 Segnalazione Share Pubblicato: 17 Giugno 2007 Eheh https://www.nokioteca.net/home/forum/index....ndpost&p=619272 Link to comment Condividi su altri siti More sharing options...
dokkis Pubblicato: 17 Giugno 2007 Segnalazione Share Pubblicato: 17 Giugno 2007 Eheh https://www.nokioteca.net/home/forum/index....ndpost&p=619272 argh! l'ansia per l'esame mi sta facendo diventare matto! allora è per quello che mi ricordavo quella pagina fine ot! XD Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora