PDA

View Full Version : MortScript - ovvero: come programmare senza essere programmatore


col Cyber
06-08-2007, 10:02
Ave a tutti!
Volevo spendere 2 paroline per questo linguaggio di programmazione che sto seguendo da parechio tempo, ma soltanto di recente con la nuova versione (4) ha semplificato notevolmente la realizzazione di programmi.


Cos'è Mort Script?

Mort script è un linguaggio di scripting (molto simile al grandissimo AutoIt (http://www.autoitscript.com/autoit3/) per windows), che con pochissime righe di codice permette di compiere azioni pratiche sul proprio palmare.
Per esempio?
Io ho da poco il TyTN e gia mi ero stufato che alla disconnessione di MSN, per terminare il programma ci mettesse parecchio, e ogni volta dava il messaggio "the program is busy.... bla bla bla".... e la luuunga pressione del tasto rosso per disconnettere il palmare era seccante :)
quindi?
ho creato uno script cosi fatto:

file: disconnect.mscr

Disconnect
If (ProcExists("iexplore.exe"))
kill("iexplore.exe")
Endif

If (ProcExists("instmsgr.exe"))
kill("instmsgr.exe")
Endif


Cosa vuol dire?


Disconnect #disconnette la connessione dal palmare
If (ProcExists("iexplore.exe")) #controlla l'esistenza di un processo chiamato "iexplore.exe"
kill("iexplore.exe") #se esiste lo termina
Endif

If (ProcExists("instmsgr.exe")) #controlla l'esistenza di un processo chiamato "instmsgr.exe"
kill("instmsgr.exe") #se esiste lo termina
Endif


fine :)
per la cronaca, prob lo script funzionerebbe anche semplicemente cosi:

Disconnect
kill("iexplore.exe")
kill("instmsgr.exe")


Ma essendo un programmatore sono anche pignolo :D


Scrivi, ed esegui, ecc....

Ora vi chiedere...
Dopo averlo creato bisognera compilarlo.. eseguirlo.. ecc...
no!
Una volta installato il programma, basta fare doppio click sul file ".mscr" e il programma partirà, se ci saranno errori di programmazione lui te ne farà nota.
se invece si vuole modificare lo script si apre il file ".mscr" con word per palmare, o sul computer se non volete impazzire :D


Cosa posso fare con Mort Script?

Ecco un elenco di alcune delle cose che si possono fare con questo programma:
- copiare, muovere, cancellare file
- chiudere, aprire, rendere visibili, rendere invisibili le finestre/programmi
- appoggiarsi alle porte com, quindi (GPS)
- Scaricare file da internet, connettersi, disconnettersi
- Scrivere/leggere da un file di testo
- Zippare e disinzippare uno o piu file
- Gestire le chiavi di registro
- Visualizzare messagebox, richiedere dati con inputbox, ecc...
- Gestire processi (chiudi, apri, termina, ecc..)
- Modificare il volume di sistema, vibrare (per spiegarvi la semplicità.... la funzione è così: Vibrate(milliseconds) LOL!!! :D)
- Eseguire un file sonoro (sicuro WAV mp3 non ricordo)
- Ruotare lo schermo, settare la luminosità dello schermo
- Interagire con il blocco appunti (il copia e incolla)
- Prendere come dato la memoria disponibile e la memoria totale
- Controllare se il palmare è in alimentazione esterna oppure no, batteria rimanente, spegnere il palmare, soft reset
- Simulare il click della penna (a cordinate x,y)


Conclusioni

Il programma rispecchia una delle poche regole dello scripting di questo genere: l'essere rapido e PRATICO!
Se avete bisogno di consigli non fatevi problemi a chiedermi :)

Ah... il programma è gratuito ;)

Sito (download programma e manuale):
http://www.sto-helit.de/index.php?module=d...st&entry=18 (http://www.sto-helit.de/index.php?module=download&action=list&entry=18)

Forum:
http://www.sto-helit.de/forum/viewforum.php?f=12

Special
09-08-2007, 08:58
Ottimo, grazie mille per la segnalazione, ora cercherò di imparare qualcosina :D

col Cyber
09-08-2007, 11:35
prego :D

è fatto favvero bene

Tonyxx85
09-08-2007, 22:31
Ottimo, lo provo :Prrr:

lorisino
27-03-2008, 21:38
mi piacerebbe avere un pulsante per spegnere il mio P3300, so zero di programmazione, non è che qualche anima buona mi aiuta ?

col Cyber
27-03-2008, 21:43
perchè non si spegne il tuo palmare? :D

tava70
08-05-2008, 09:33
Mi serve una mano,
sono riuscito a compilare un programma per gestire in sequenza parecchie funzioni ma non riesco a far attivare la connessione internet, anche se il comando risulta molto semplice!!
Ho inserito il comando: connect ( TIM Internet ) ma il programma si blocca.:muro:
Mi puoi aiutare?
Queste sono le schermate che mi escono.
Grazie
62076

62077

62078

col Cyber
08-05-2008, 09:38
Guarda, anche io mi sono sbattuto tantissimo su quel cavolo di comando....
e non ci sono riuscito.

In compenso ho trovato un modo alternativo.
Apri internet explorer (magari dandogli come parametro www.google.it cosi ti assicuri la connessione)
fai partire un ciclo, e fai in modo che il programam ne esca quando la connessione è stabilita (non mi ricordo ad occhio il comando, cmq c'è)
a questo punto puoi anche terminare il processo di pocket explorer :)

tava70
08-05-2008, 20:49
Guarda, anche io mi sono sbattuto tantissimo su quel cavolo di comando....
e non ci sono riuscito.

In compenso ho trovato un modo alternativo.
Apri internet explorer (magari dandogli come parametro www.google.it cosi ti assicuri la connessione)
fai partire un ciclo, e fai in modo che il programam ne esca quando la connessione è stabilita (non mi ricordo ad occhio il comando, cmq c'è)
a questo punto puoi anche terminare il processo di pocket explorer :)

Grazie tanto ho trovato anche io uno stratagemma del genere adesso funziona tutto:ciapet:

col Cyber
08-05-2008, 22:31
bene :D

aleco
12-07-2008, 14:08
Sarebbe possibile anche avviare telefonate ad un determinato numero?
Mi sarebbe comodo per controllare il credito wind, magari non so se si potesse mettere anche un'interfaccia grafica.

Borghysub
03-09-2008, 14:16
Ciao, e innanzitutto grazie per avermi fatto scoprire questo utile software.
Premetto che di programmazione non so praticamente niente...

Ora ti vorrei però chiedere aiuto per la realizzazione di 2 comandi:

1) Sul mio TYTN di default quando si preme il collegamento x ruotare lo schermo si ruota di 90° in senso orario, mentre io vorrei il contrario. volevo creare un file .mscr che se se lo schermo era "portrait" lo ruotasse di 90°, se non lo era lo ruotasse di 0° in modo da farlo tornare verticale...
Ora i comandi che ho trovato sono questi:

If( expression )
{ instructions }
[ Else
{ instructions } ]
EndIf

bool = Screen( type )

Rotate( orientation )

Ora il problema è che non riesco a far funzionare il comando screen... mi dici cosa devo inserire... x' qualsisia cosa metta mi dice che c'è un errore....
Inoltre la mia idea è giusta, cioè usare l'if va bene?

2)Mi piacerebbe fare in modo che dopo X secondi di inattività e/o all'uscita dallo stand-by nell'HTC Home ci fosse visualizzato il tab Home, ho epnsato di farlo tramite il codice
MouseClick( [ window title, ] x, y )
dandogli le coordinate del bottone, ma insorgono 2 problemi: coma faccio a sapere la posizione del bottone? coma faccio a dirli che dopo X secondi di inattività faccio il comando mouse?

Grazie mille, ti sarò riconoscente in eterno...

Ciao

col Cyber
03-09-2008, 14:50
Ciao!

Dunque..
ammetto che non ho capito tanto della prima parte.
Quando pigi sul collegamento di rotazione dello schermo? che collegamento?
O intendi quando tiri fuori la tastiera?

uhm.... forse ora ho capito....
mi sono spiegato da solo...

prova così:



If(Screen("landscape") = True)
Rotate(120)
else
Rotate(0)
EndIf

non sono certo sulla "gradazione"
cmq questo pulsante dovresti utilizzarlo al posto del collegamento che dici tu



secondo problema:

RunOnPowerOn("\Scheda di memoria\Programmi\MortScript\MortScript.exe", "\todayizzatore.mscr")
Show("Desktop")
MouseClick(x, y )

per le cordinate devi andare a tentativi mi dispiace :(
non c'è un modo per scoprirlo

col Cyber
03-09-2008, 14:54
Ah una cosa!
Ovviamente il secondo script devi chiamarlo come c'è scrfitto su RunOnPowerOn e la locazione di MortScript deve essere li dov'è c'è scritto (sempre in RunOnpOwerOn)

cmq se succedono casini e a ogni avvio lui ti esegui il programma (e tu non vuoi piu)
per disattivare la funzione lancia uno script con su scritto:

Removenotifications("\Scheda di memoria\Programmi\MortScript\MortScript.exe", "\todayizzatore.mscr")

ovviamente i percorsi devono essere gli stessi di runonpoweron

Borghysub
03-09-2008, 16:45
Ho fatto.
Risultati:
1) Rileggendo ho notato di essermi espresso veramente male :D
Ho modificato un po' il tuo, ma grazie mille, sbagliavo nel mettere il true....
Il codice che uso è quindi questo:
If(Screen("portrait") = True)
Rotate(90)
else
Rotate(0)
EndIf
E funziona benissimo!

2) Non ho ben capito x', ma il codice funziona solo se lo "risveglio" dopo che si è spento da solo, se lo mando io in stand-by e poi lo riaccendo non parte.. sbaglio qlc? Inoltre il comando "show("desktop")" non va... nemmeno mettendoci "today"...

Ti posso chiedere come devo usare i comandi in cui c'è scritto tipo "String = ActiveWindow()" x' non so come usarli, nel senso come faccio a sapere il nome della finestra, cosa devo scrivere nel file .mscr?


Grazie ancora
Ciao

PS Ho visto che se di Genova, appena torno a Zena che iniziano le lezioni ti offro 1 birra, ok?

col Cyber
03-09-2008, 17:40
Ho visto che sei un kawaista come me ;)
io ho una Z750, se passi di qua ci facciamo un giro :D

Ti rispondo domani mattina alle domande sucusa, ora sono a corto di tempo

ciao

Borghysub
03-09-2008, 17:45
Ho visto che sei un kawaista come me ;)
io ho una Z750, se passi di qua ci facciamo un giro :D
Ti rispondo domani mattina alle domande sucusa, ora sono a corto di tempo
ciao

Nessun problema x le domande... x la moto dipende s al porto giù a genova, ma x me non ci sono probl..

Ciao

col Cyber
04-09-2008, 10:57
Ho fatto.
Risultati:
1) Rileggendo ho notato di essermi espresso veramente male :D
Ho modificato un po' il tuo, ma grazie mille, sbagliavo nel mettere il true....
Il codice che uso è quindi questo:
If(Screen("portrait") = True)
Rotate(90)
else
Rotate(0)
EndIf
E funziona benissimo!

2) Non ho ben capito x', ma il codice funziona solo se lo "risveglio" dopo che si è spento da solo, se lo mando io in stand-by e poi lo riaccendo non parte.. sbaglio qlc? Inoltre il comando "show("desktop")" non va... nemmeno mettendoci "today"...

Ti posso chiedere come devo usare i comandi in cui c'è scritto tipo "String = ActiveWindow()" x' non so come usarli, nel senso come faccio a sapere il nome della finestra, cosa devo scrivere nel file .mscr?


Grazie ancora
Ciao

PS Ho visto che se di Genova, appena torno a Zena che iniziano le lezioni ti offro 1 birra, ok?

Dunque
show("desktop") dovrebbe minimizare tutte le icone e mostrarti il today.
non va? :(
da me funziona.

Dunque
Per String = ActiveWindow()
vuol dire, la funzione ActiveWindow() restituisce una stringa
quindi un testo. In questo caso il titolo della finestra attiva.
per esempio
Gnappo = ActiveWindow()
Vuol dire, lancia la funzione ActiveWindows e il risultato mettilo dentro la variabile Gnappo.
Quindi Gnappo conterrà il titolo della finestra attiva.
E ora?

Puoi per esempio visualizzare il contenuto di gnappo
prendiamo la funzione: Message( text [, title ] )
Message è il nome della funzione, Text è il parametro obbligatorio e Title esendo tra parentesi quadre è quello opzionale.
Quindi se noi facciamo:
Message(Gnappo)
Avremo un finestra (tipo alert) che mostrerà il contenuto di Gnappo
e se mettiamo
Message(Gnappo , "Ciao!")
Avremo un messaggio con testo il contenuto di Gnappo e come titolo la parola Ciao!
le " " servono per definire una stringa, se invece di
Message(Gnappo)
mettessimo
Message("Gnappo")
Il risultato non sarebbe un messaggio con il contenuto della cariabile gnappo
ma proprio la parola Gnappo
:D
chissà se mi sono spiegato :D
Questo vale con stringhe, interi, boleani, ecc....
i numeri a differenza delle stringhe non devi mettere ""
per esempio se fai:
Gnappo = 2
metti in Gnappo il numero 2
se fai
Message(Gnappo)
verrà stampato 2
se scrivi:
Gnappo = "Cicciopasticcio in cariola"
metti la frase dentro la variabile

:D
Quindi riassumendo...
per capire che titolo ha una finestra puoi fare cosi:

Gnappo = ActiveWindow()
Message(Gnappo)

=)
visto che la cosa sarebbe istantanea e quindi poco pratica..
per esempio.. pigi sullo script e in quell istante ti restituisce il titolo della finestra attiva, che sarà sicuramente l'esplora risorse :)
quindi puoi mettere un ritardo in modo da permetterti di cambiare finestra:

sleep(10000)
Gnappo = ActiveWindow()
Message(Gnappo)

Ovvero:
tu pigi sul programma
lui si avvia ed esegue la prima istruzione che vuol dire:
Aspetta 10000 millisecondi (10 secondi)
quindi tu hai tempo di cambiare la finestra.
quando ha finito i 10 comandi esegue successivamente
Gnappo = ActiveWindow()
Message(Gnappo)

:)

Borghysub
04-09-2008, 13:09
Grandissimo!!!
Ottima guida, le birre diventano 2!

show("desktop") non andava x' desktop è con la D maiuscola... http://www.militaryphotos.net/forums/images/smilies/icon_bash.gif sono un pirla a non averci provato prima....
ho messo un piccolo delay tra quando mostra il desktop a quando clikka x' se no non ce la fa....

Ora non capisco solo x' se premo il tasto di stand-by e quindi si spegne lo schermo se poi lo riaccendo il runon non parte, se invece si spegne lo schermo da solo dopo il tempo che ho impostato va perfettamente... Hai qlc idea? [c'è in palio la 3° birra ;) ]

Grazie mille ancora e scusa se ti stresso... mandami pure a quel paese che non mi offendo.. :)

col Cyber
04-09-2008, 13:56
Figurati per così poco :D

dunque, sinceramente non te lo so dire il perchè RunOnPowerOn non vada sempre....
è un pò curioso....
mi dispiace ma non ti so aiutare :(

Se vuoi interagire con sms e telefonate puoi scaricarti il programma
www.vijay555.com/?Releases:VJPhoneTools
che non è altro che una serie di icone con parametri da passargli.
per esempio se fai un semplice collegamento all'icona \Programmi\vijay555\VJSMSSender.exe con parametro numeroditelefono "testo sms"
per esempio:
\Programmi\vijay555\VJSMSSender.exe 34912345678 "GNappo cippalippa!"
pigiando sul colelgamento invierà automaticamente questo sms...

Puoi integrarlo con MortScript
con il comando:

numero= 3491234567
testosms = "Ciappa lappa"
RunWait("\Programmi\vijay555\VJSMSSender.exe", numero & " " & testosms)

invi un sms!
Puoi sbizzarrirti come vuoi :)

Borghysub
04-09-2008, 14:01
dunque, sinceramente non te lo so dire il perchè RunOnPowerOn non vada sempre....
è un pò curioso....
mi dispiace ma non ti so aiutare :(

Tranquillo, hai già fatto troppo!
Mo vedo x il sw che mi hai consigliato...

Quando torno a Genova ti mando un pm x' ci tengo a sdebitarmi con qlc birra...

Ciao ciao e grazie ancora!

col Cyber
04-09-2008, 14:03
Figurati ;)

se hai bisogno d'aiuto sono qui

Ciauz!

col Cyber
11-09-2008, 09:01
Ave a tutti!
Se vi può interessare ho creato 2 scriptini per controllare le email.

Come sapete il client integrato di WM permette di controllare la posta ogni TOT minuti... soltanto che poi il demente non si scollega e lascia attiva la connessione... e questo NON mi va bene...
quindi....

File Register.mscr

#-------------------------
#1200=20 minuti
#18=6 ore
Variabile1= 1200
Variabile2= 18
#-------------------------
Removenotifications("\Programmi\MortScript\MortScript.exe", "\trybt.mscr")
T=TimeStamp()
Repeat(Variabile2)
T=T+Variabile1
RunAt(T, "\Programmi\MortScript\MortScript.exe", "\trybt.mscr")

Endrepeat

Message(FormatTime("d/m/Y - H:i ",T))

Questo script imposta ogni quanto vuoi che WM si connetta e controlli la email.
variabile1 sono i secondi che tra un controllo e l'altro, in questo caso 1200 corrisponde a 20 minuti.
variabile2 corrisponde a quante volte vuoi che lo faccia
18 corrisponde a 6 ore...
dopo tale periodo bisognerà rilanciare Register.mscr per risettare i tempi.
se vi sbagliate e lo rilanciate due volte il secondo lancio annullerà tutte le registrazioni del primo quindi non preoccupatevi

il vero programma cmq è questo qui:

trybt.mscr

Sleep(10000)
var = 0
If (internetconnected("http://www.google.it"))
var = 1
Endif

Run("\Windows\tmail.exe","-service ""Colcyber""")
Run("\Windows\tmail.exe","-sync")
Show("Desktop")
Sleep(40000)
If (var = 0)
Disconnect
Endif

Run("\Windows\tmail.exe","-service ""SMS""")
Show("Desktop")


Come prima cosa controlla che il palmare non sia gia connesso, in tal caso alla fine del controllo di nuove mail non si disconnetterà.
Poi avviera la richiesta sul servizio mail impostato, dovete mettere il nome che avete scelto, in questo caso Colcyber
dopodichè darà 40 secondi di tempo al programma per sconnettersi, dopodichè lo scollegherà, riempisterà la pagina degli SMS come principale e ridurrà tutto a icona mostrando il today.

il programma trybt deve andare nella root del palmare

mortscript deve essere installato nella memoria interna


Il palmare non accenderà lo schermo per queste operazioni (ottimo risparmio di energia)

spero di esservi stato utile :)

onairda
28-09-2008, 22:22
Vorrei far fare al mio dispositivo 4 cose ad ogni avvio,ossia io imposto la notte per fare un backup e dopo lo stesso il dispositivo si resetta,e quindi all'avvio vorrei:
1) Disconnettere il wifi che resta com'era prima del reset e quindi acceso
2) aggiungere il valore "1" alla chiave: "HKLM/System/State/Hardware/Headset" che torna a 0 ad ogni soft-reset
3) oscurare lo schermo
4) Far chiudere una finestra il cui nome dovrebbe essere "STK Service"
P.S.
magari per chiudere la finestra se aggiungete una riga per un temporizzatore perchè magari la finestra potrebbe ancora non essere stata inizializzata perchè è robba della scheda sim.

Che dire ringrazio anticipatramente chi mi farà lo script :)

onairda
29-09-2008, 19:38
Vorrei far fare al mio dispositivo 4 cose ad ogni avvio,ossia io imposto la notte per fare un backup e dopo lo stesso il dispositivo si resetta,e quindi all'avvio vorrei:
1) Disconnettere il wifi che resta com'era prima del reset e quindi acceso
2) aggiungere il valore "1" alla chiave: "HKLM/System/State/Hardware/Headset" che torna a 0 ad ogni soft-reset
3) oscurare lo schermo
4) Far chiudere una finestra il cui nome dovrebbe essere "STK Service"
P.S.
magari per chiudere la finestra se aggiungete una riga per un temporizzatore perchè magari la finestra potrebbe ancora non essere stata inizializzata perchè è robba della scheda sim.

Che dire ringrazio anticipatramente chi mi farà lo script :)

Solo soletto sono riuscito a risolvere 3 delle mie 4 richieste con il seguente codice:
--------------------------------------------------------------------------------------------------
RegWriteDWord( "HKLM", "System\State\Hardware", \
"Headset",1 )

WaitForActive("STK Service",11)

Close( "STK Service" )

ToggleDisplay (FALSE)
---------------------------------------------------------------------------------------------------
in pratica mi manca come spegnere la connessione wifi :(
resto in attesa di qualcuno che voglia/sappia darmi qualche dritta :)

RD2021
04-10-2008, 12:04
Ciao a tutti.
Ho aggiornato da poco il mio pda phone (Asus P750) con una rom che integra WM6.1. Un bel passo avanti in termini di prestazioni. L'aggiornamento però porta con sè alcuni peggioramenti, per me inspiegabili.
Uno dei principali è l'assenza della comoda icona di rilevazione della connessione degli auricolari bluetooth (o viva voce da auto bt), quella che da sempre compare nella barra in alto. Se il bluetooth funzionasse correttamente non ci sarebbero problemi, ma nel caso dell'Asus va tenuto sotto controllo...
Volevo sottoporvi questo script, che aggiunge l'icona in questione ed emette un suono alla disconnessione:
_____________________
Sleep ( "2000" )
B = RegRead ( "HKLM","System\State\Hardware","Handsfree" )
C = RegRead ( "HKLM","System\State\Hardware","bluetooth" )

If ( B = 1 )
RegWriteDWord ( "HKLM","system\state\hardware","bluetooth","31" )

EndIf

If ( C = 15 )
RegWriteDWord ( "HKLM","system\state\hardware","bluetooth","11" )
PlaySound ( "\Windows\infend.wav" )

EndIf

Sleep ( "2000" )

Rerun = Timestamp()+10
RunAt ( Rerun, "\My documents\scripts\commandicon.mscr" )
______________________________________

L'ho trovato "vagando" in altri forum. Funziona bene, ma presenta un problema: ogni tot secondi riaccende lo schermo, con conseguente aumento dei consumi della batteria. La riga incriminata dovrebbe essere quella con il comando Rerun = Timestamp()+10. Secondo voi è necessaria (scusate l'ignoranza...)? Oppure è possibile aggiungere un comando che permetta di evitare la riaccensione automatica dello schermo, pur mantenedo "vivo" lo script?
Grazie in anticipo per evenutali suggerimenti.

onairda
04-10-2008, 12:15
La butto li
prova ad aggiungere da qualche parte la riga
--------------------------------
ToggleDisplay (FALSE)
--------------------------------
tenendo presente però che poi lui ti spegne sempre lo schermo e se lo script ritorna sempre in esecuzione non vorrei andasse in loop e ti renderebbe quasi impossibile usare il dispositivo,magari dovresti metterci qualche condizione con un "if"
ma a te trovare la condizione ideale :)

col Cyber
08-10-2008, 09:42
Il problema penso sia solo del tuo palmare, infatti la maggior parte al comando RunAt si accendono ma tengono lo schermo spento.

La cosa assurda è che eseguendo lo script ogni 10 secondi il palmare sarà SEMPRE acceso!!!
io ti consiglio di aumentare il controllo oggi 5 o 10 minuti metti 60*nminuti al posto di 10
e magari come ha consigliato onairda metti ToggleDisplay (FALSE) all'inizio dello script
L'applicazione gia di persè va in loop, ogni tot secondi, perchè RunAt segnifica in parole povere: fra TOT secondi esegui questo script (anche se io non sarò piu attivo)

ti consiglio se vuoi terminare questo ciclo infinito, di usare il comando
Removenotifications("\My documents\scripts\commandicon.mscr")



Per onairda
Come tempo fa avevo trovato un programmino che facesse lo switch tra bluethoot on e off, bisognerebbe cercarne uno che faccia lo stesso per il wifi
=)

onairda
08-10-2008, 11:30
se non erro ho visto da qualche parte che il mort puo interagire con il gestore wireless,almeno per il bt ,appena ho voglia cercherò di capire come fa e vedo se si puo fare lo stesso per il wifi :)

nebuk
08-10-2008, 12:41
cut


Ciao, non ho ben capito un paio di cose:

1- Si puo' fare in modo che parta automaticamente ed esegua "per sempre" il controllo ogni ora?
2- Come dovrei fare per controllare tutti gli account di mail che ho impostato?

Grazie!

col Cyber
08-10-2008, 15:27
Ciao, non ho ben capito un paio di cose:

1- Si puo' fare in modo che parta automaticamente ed esegua "per sempre" il controllo ogni ora?
2- Come dovrei fare per controllare tutti gli account di mail che ho impostato?

Grazie!
ciao
personalmente te lo sconsiglio il "per sempre"...
intanto funzionerebbe anche di notte, ti consuma cmq di piu la batteria.
Cmq sia puoi sempre provare :)

il per sempre si può fare aggiungendo queste righe alla fine dello script trybt.mscr

Removenotifications("\Programmi\MortScript\MortScript.exe", "\trybt.mscr")
T=TimeStamp()+ 1200
RunAt(T, "\Programmi\MortScript\MortScript.exe", "\trybt.mscr")

1200 corrisponde a 20 minuti (60 secondi * 20).
Quindi in questo caso non hai bisogno di avviare lo script register.mscr (mi pare si chiamasse così), ma basta che tu avvi una volta manualmente trybt e automaticamente ogni 20 minuti partirà da solo.

Per interrompere il ciclo infinito basta che avvi uno script semplice con la sola stringa:
Removenotifications("\Programmi\MortScript\MortScript.exe", "\trybt.mscr")

Per sapere il nome degli account, è quello che definisci te quando lo crei. Ti chiede che nome dargli, e sarà quello che compare nell'elenco insieme a SMS, MMS, eccc...

capit? :)

Borghysub
08-10-2008, 16:15
Per interrompere il ciclo infinito basta che avvi uno script semplice con la sola stringa:
Removenotifications("\Programmi\MortScript\MortScript.exe", "\trybt.mscr")

Ciao Col, a parte che sono a Genova e ti devo sempre offrire la birra, non mi sono dimenticato...
C'era un prg che permetteva di vedere i processi in esecuzione e ti killare in modo permanente gli script in esecuzione di mortscript... vi ricordate come si chiama?

Grazie

nebuk
08-10-2008, 16:19
Grazie per la risposta!
Quindi nel tuo script per quanto riguarda il nome dovrei cambiare ColCyber con i miei nomi...
Mi farebbe comodo un programma del genere perche' ho notato che se sincronizzo 4 account di posta contemporaneamente, dopo un po' mi si disallineano (per differenti tempi di risposta dei server) e in pratica creano uno scambio di dati quasi continuo con un forte consumo di batteria...

Per il fatto del funzionamento di notte... non e' come per quello del programma di posta di WM?
Io la notte spengo la radio, quindi potrei mettere (se esiste) un if iniziale che se trova la radio spenta non esegue il controllo...

pxe
07-12-2008, 09:44
Ciao a tutti Voi experti:ave:

avrei bisogno di un grosso aiuto : dovrei creare uno script per leggere alcune chiavi di registro e un'altro per riscriverle, il tutto da sd-card in autorun ( che parta automaticamente all'inserimento della sd ) per un pnd con ce5, è possibile ?

Se avete qualche minuto da dedicarmi vi ringrazio fin d'ora, ho scaricato l'occorrente e il manuale, ma non ci sto capendo granchè :mc:

attendo speranzoso

maxLT
05-02-2009, 14:19
ciao a tutti,
volevo sapere se era possobile automatizzare una cosa del genere:

dovrei creare un file TXT, che dentro contenga il testo di tutti gli SMS di un determinato contatto,
se poi magari può inserire anche data e ora...meglio.

Magari, che compili, a cadenze programmate, questo TXT, che ne so, ne genere uno ogni mese.

si puù fare una cosa del genere?

grazie

floresax
02-03-2009, 15:18
ciao ragazzi sono proprio ignorante, stavo provando ad usare il Mortscript, ma non sono capace, ho copiato i file necessari in una cartella della mia sd ho poi scritto questo piccolo script per provare, ma se faccio un doppio clic sul file mscr non succede nulla

Errorlevel ("off")

XCopy( "\SD Card\1\1.txt", ("\SD Card\4\")
sleep 100

Exit


mi illuminate?

grazie1000

ciao

onairda
02-03-2009, 15:59
Adesso non mi ricordo nessun comando,e non ho neanche voglia di leggermi nulla :),
però mi sembra strano che esista un linguaggio in cui si apre una parentesi e non la si chiuda,quindi controlla dove chiuderla,p.s.
magari dicci anche lo script cosa ti serve per fare di preciso

floresax
02-03-2009, 16:42
allora ho un mio 269+ un pna con winCe 4.2, uno script che in caso di reset mi permetta di copiare due collegamenti sul desktop e di caricare un file nel registro di sistema.

i file sono su una Sd riconosciuta dal Pna come Sd Card.

grazie

floresax
03-03-2009, 16:23
qualcuno è gentile da postarmi uno script che semplicemente copia un file da una cartella ad un'altra e mi spiega come usarlo?

grazie1000

floresax
04-03-2009, 08:18
mi rispondo da solo così potrà essere utile a qualcuno a zero come me:

creare con il blocco note un file che abbia estensione ".mortrun" e all'interno scrivere questo
----------------

Copy ("\sd card\1\1.txt", "\Windows\Desktop\1.txt")

Exit

----------------

lo script copia un file denominato 1.txt dalla cartella 1 nella sd al desktop.

ciao

y0tsuya
30-03-2009, 10:08
ciao

Non ho ancora capito se con il mortscript si può associare un'area dello skermo ad un determinato comando.
Mi spiego meglio con un esempio: sto aggiungendo delle icone (.png) alla skermata today del mio palmare; vorrei ke quando tappo sull'icona (x,y conosciuti) mi si apra l'elenco sms o l'elenco kiamate, o una app qualsiasi.

Immagino ke tra le altre bisogna aggiungere questa stringa (per la lista kiamate) ma nn so come scrivere l'mscr..

Run("\Windows\cprog.exe")


Mi potete aiutare?

alpha45
13-04-2009, 23:00
:help: Salve a tutti,
ho un problema con un file .mscr che non vuole funzionare, e´molto semplice ma evidentemente sbaglio qualche cosa.:cry:
Vorrei copiare un file da una cartella ad un altra e lo script e´il seguente:

Errorlevel ("off")
Copy( "\SDMMC\Italia\Meta.txt", "\SDMMC\" )
Run ( "\SDMMC\ \ \Copy.exe" )(non fate caso alle barre aggiuntive...)
Sleep 150
Exit

Sottolineo che il file copy.mscr e il file copy.exe sono nella stessa cartella iniziale dove c´é autorun, mortscript e le dll.
Non so se questo e´corretto...

Non ho capito bene come fare quando ho creato lo script chiamato copy.mscr a trasformarlo in EXE.:muro: :muro:

Ho provato ad eseguire il copy.exe manualmente ma non succede niente..:muro:
Qualcuno mi puo dare qualche suggerimento ?
Grazie

onairda
14-04-2009, 12:10
Ma a me non risulta che i file di mortscript siano compilabbili (ma potrei sbagliare) ossia per eseguire uno script devi aver installato sempre il player altrimenti niente

omniaforever
23-04-2009, 01:09
ragazzi, parlo per voce altrui
il dubbio è questo:
si deve gestire con mortscript un player video.
adesso, dopo aver creato il file mscr con dentro la funzione Run(player) che richiama il player ed altre funzioni di interesse, dopo aver rinominato l'autorun.exe con lo stesso nome dell'mscr e messo nella stessa cartella, è stato associato l'estensione dei file di interesse a questo exe.
Quando si clicca sul file di quella estensione ovviamente parte lo script che fa partire il player MA NON ESEGUE IL VIDEO (differentemente da quando normalmenre si clicca sul file e parte il player aprendo il file video).
cioè è come se il file non lo vede.esegue solo il player e basta più!
in sostanza dovrei associare probabilmente il percorso del file, ma come faccio a saperlo a priori?magari quando clicco sul file potrebbe essere memorizzata quella voce da qualche parte(che so nel registro)in modo da passarla alla funzione Run(player,percorso_file)?
grazie

onairda
23-04-2009, 21:10
solitamente i parametri si passano con /%1 impostando sempre via script alla variabile %1 il percorso ed il nome del file

ingas
05-06-2009, 19:41
:) salve, ho creato uno pseudo desktop per il mio 269solo che non riesco a farlo partire in automatico.questi sono i comandi:

Run( "\sd card\Menu.exe" )
RegWriteString( "HKLM", "Explorer\Shell Folders", "My Documents", "\Sd card\my documents").

I file che ho sono:autorun.exe,aurorun.mscr,killproc.exe,MortScript.exe,mortzip.dll,setup.dll.

Forse bisogna rinominare i file autorun?o modificare le stringhe.spero che qualcuno mi aiuti a risolvere,non me ne intendo di script.

onairda
05-06-2009, 20:18
Se ti sei creato il file di mortscript solitamente un .mscr
per farlo partire in automatico ad ogni soft reset basta che metti lui o un collegamento a lui nella cartella \windows\startup\
se in inglese
o forse \windows\avvio\
se hai una rom italiana
sempre che ho compreso cosa volevi :)

robertom
11-02-2010, 09:39
ciao, solo ieri :doh: ho scoperto che esisteva questo programma.
... quasi per caso.
Mi sembra veramente comodo.
Mi metteò a studiarlo.
Intanto grazie per le rassicurazioni circa la semplicità d'uso che mi hanno convinto a provare.
Vorrei chiedere un paio di cose:
Esiste un modo per intercettare, è solo un esempio, una certa stringa proveniente da un dispositivo Blouthout?
forse è meglio che faccio un esempio concreto.
Ho in auto il BT di serie. Molto rozzo. Accetta una rubrica (solo un contatto alla volta) permette di fare le chiamate ai numeri memorizzati sulla SUA rubrica.
Volevo fare questa cosa:
1) memorizzare un contatto con un numero particolare, tipo "999999".
2) fare uno script che intercettando la richiesta di chiamata a quel numero (999999) dirottasse la richiesta a qualcos'altro. Tipo l'attivazione del "voice commander" per poi dare a voce la richiesta di chiamata direttamente al microfono del telefono.
Che ne pensi? farnetico? :D

onairda
11-02-2010, 11:48
ci sarebbe da studiarlo,ma sembrerebbe fattibbile

robertom
11-02-2010, 12:09
caspita, mi hai risposto proprio mentre stavo per gettare la spugna.
Ho cercato nel manuale (in particolare nel nono capitolo), ma non mi sembra che ci siano funzioni che siano in grado di intercettare la richiesta di call (telefonata).
Potresti darmi una mano?

onairda
11-02-2010, 17:09
Guarda il modo esiste di sicuro ho dato un rapido sguardo al manula e non mi sembra ci sia un comando diretto,però puoi intercettare una finestar che magari prende il nome del numero chiamante(spesso con wm succede così) ed a quell'evento puoi assegnare quello che serve a te tipo killare l'app telefono e lanciare il "voice commander"
il bello della programmazione è questo :D
specie se non sei programmatore ma lo fai per diletto e per una singola necessità
devi fare il giro alla larga ma se ti studi la questione riuscirai senz'altro ad ottenere quello che cerchi!
insomma impegno! :lamer:

robertom
15-02-2010, 09:38
Guarda il modo esiste di sicuro ho dato un rapido sguardo al manula e non mi sembra ci sia un comando diretto,però puoi intercettare una finestar che magari prende il nome del numero chiamante(spesso con wm succede così) ed a quell'evento puoi assegnare quello che serve a te tipo killare l'app telefono e lanciare il "voice commander"
il bello della programmazione è questo :D
specie se non sei programmatore ma lo fai per diletto e per una singola necessità
devi fare il giro alla larga ma se ti studi la questione riuscirai senz'altro ad ottenere quello che cerchi!
insomma impegno! :lamer:
:eek: :cry:
ti prego almeno dimmi come trovo il nome della finestra della chiamata ...
vedo su task manager?
lì ho trovato solo che il processo services utilizza la cpu mentre chiama ...
dai non ce la posso fare! :cry:

onairda
16-02-2010, 09:02
In passato io per identificare con sicurezza il nome di una finestra ho adoperato gyrator2 che ho su abitualmente sul mio pda,serve normalmente per gestire la rotazione dello schermo abinandola a varie condizioni.
per vedere il nome della finestra attiva devi andare su eventi poi tap lungo si apre un menu e da li "add event" ti si crea un "new rule" tap lungo su ed edit vai sul tab application e tap learn window title a quel punto fai in modo di avere in primo piano la finestra di cui ti interessa sapere il titolo inserisci la pennetta nel tuo pda(sempre che abbia il sensore di inserimento pennetta) e come per magia ti esce scritto il nome della finestra
Il software lo trovi al link
http://gyrator.brins0.net/?page=downloads
Non è un metodo semplicissimo ma funziona!
magari fammi sapere ciao Adriano

robertom
16-02-2010, 11:25
ciao adriano, ti ringrazio del suggerimento.
purtroppo dopo un'oretta di tentativi, ho trovato questa faq:

How do I use the learning feature in Gyrator?
# Enable the learning feature in the event configuration screen by tapping on either "learn window title", or "learn window class". Ensure the window you want to learn is focused and visible on the screen, then insert the stylus into the device. This will cause Gyrator to jump into the foreground, with the window class/title in the correct place.

Purtroppo ho un hd2 senza pennino. Quindi non riesco a trovare il titolo in questo modo.
Saresti così gentile di provare tu?
La finestra che mi serve è quella che presumibilmente contiene:
Phone - outcoming e, spero, il numero di telefono del chiamato.
In questo modo potrei intercettarla con la relativa funzione di mortscript.

ma esiste una funzione di mortscript che mette in un log di testo tutte le operazioni fatte sul telefono?
Se esistesse, potrei lanciarla e poi andarmi a vedere quale è l'azione da intercettare e convertire nel lancio di voice command.

onairda
16-02-2010, 12:32
azzzzzz l'hd2 non ha il pennino? :eek:
come ti ci trovi?
lo ricompreresti?
appena posso vorrei sostituire il mio touch pro con l'hd2 tanto a me la tastiera fisica non serve.
é reattivo ai comandi?
appena recupero un po' di tempo provo ad aiutarti,ma mi dovresti dire che programma c'è nella tua rom per telefonare altrimenti va a finire che io ti dico il nome della finestra del mio programma che facilmente non corrisponderà allo stesso tuo anche perchè io ho su una rom custom!

robertom
16-02-2010, 12:50
azzzzzz l'hd2 non ha il pennino? :eek:
come ti ci trovi?
lo ricompreresti?
appena posso vorrei sostituire il mio touch pro con l'hd2 tanto a me la tastiera fisica non serve.
é reattivo ai comandi?
appena recupero un po' di tempo provo ad aiutarti,ma mi dovresti dire che programma c'è nella tua rom per telefonare altrimenti va a finire che io ti dico il nome della finestra del mio programma che facilmente non corrisponderà allo stesso tuo anche perchè io ho su una rom custom!

il dialer del sense, manila (almeno credo si chiami così)
Per quanto riguarda il telefono è ottimo, io avevo l'hd, già ottimo, ma questo con il capacitivo è una meraviglia. Del pennino sento raramente la mancanza. Solo quando devo lavorare su programmi che sono fatti per essere utilizzati appositamente col pennino (con i campi da fleggare piccolissimi).
Poi ci sono delle ottime rom preparate ...
... scusa se insisto ma il mortscript non ha un comando che logga tutte le operazioni che fa il telefono?
potrei intercettare la chiamta dal mio bt dell'auto ...

paribas
24-05-2010, 11:49
salve a tutti
avrei un problemino con wm6.5 in inglese. quando invio un mms fà la connessione ma ahimè quando invia l'mms nn si disconnette e devo procedere manualmente. c'è qualcuno che mi può aiutare a scrivere il comando per far cessare la connessione in automatico una volta inviato l'mms?:(

grazie

alpha45
18-11-2010, 11:50
Salve,
scusate ma non so dove chiedere aiuto per questo script e non conosco le istruzioni.
Se ho sbagliato la sezione spostatemi in quella giusta!!

Errorlevel( "off" )

XCopy( "\SDMMC\TT7\MapSettings\*.*", "\SDMMC\Italia",True )
sleep 100

RegWriteDWord( "HKLM", "\System\CurrentControlSet\Control\Power\Timeouts", "ACSuspend",0 )
RegWriteDWord( "HKLM", "\System\CurrentControlSet\Control\Power\Timeouts", "ACSuspendTimeout",0 )
RegWriteDWord( "HKLM", "\System\CurrentControlSet\Control\Power\Timeouts", "ACSystemIdle",0 )
RegWriteDWord( "HKLM", "\System\CurrentControlSet\Control\Power\Timeouts", "ACUserIdle",0 )
RegWriteDWord( "HKLM", "\System\CurrentControlSet\Control\Power\Timeouts", "BattSuspend",0 )
RegWriteDWord( "HKLM", "\System\CurrentControlSet\Control\Power\Timeouts", "BattSuspendTimeout",0 )
RegWriteDWord( "HKLM", "\System\CurrentControlSet\Control\Power\Timeouts", "BattSystemIdle",0 )
RegWriteDWord( "HKLM", "\System\CurrentControlSet\Control\Power\Timeouts", "BattUserIdle",0 )
Sleep 200
RunWait ( "\SDMMC\TT7\TomTom_Navigator.exe" )

# If ( Not WndExists("ErrorLevel") )
If int FileSize ( "\SDMMC\Italia\MapSettings.cfg") >= int FileSize ( "\SDMMC\TT7\MapSettings\MapSettings.cfg" )
# Memorizza destinazioni

Copy( "\SDMMC\Italia\MapSettings.cfg", "\SDMMC\TT7\MapSettings\MapSettings.cfg",True )
sleep 100
EndIf
# EndIf
Exit

Vorrei sapere quale intruzioni sono quelle corrette per eseguire questo comando: If int FileSize ( "\SDMMC\Italia\MapSettings.cfg") >= int FileSize ( "\SDMMC\TT7\MapSettings\MapSettings.cfg" )
Questo comando dovrebbe confrontare la dimensione dei due file, ho letto le istruzioni in inglese ma non mi sembrano troppo esaudienti......
Se qualcuno può darmi una mano, Ringrazio in anticipo
Ciao
Risolto!!!:ot: