[GUIDA] »» AutoIt3: Noob To Pr0 ««, By »Master - PARTE 1

« Older   Newer »
  Share  
»Master
icon11  CAT_IMG Posted on 16/9/2011, 19:26     +1   -1




»» AutoIt3: Noob To Pr0 ««


Dedico questa guida a tutti coloro che abbino la voglia di imparare, o almeno che ci provano a farlo :)
E ovviamente dedico questa guida al forum italiano di AutoIt Fanclub :D
Spero questa guida sia utile a tutti, a chi è alle prime armi e chi è avanti nella programmazione, spero possa essere considerata come AutoIt3: Noob to Pr0 e AutoIt3: Pr0 to +Pr0 :D
Perciò questa guida sarà in costante aggiornamento, ogni spiegazione che volete potete suggerirmi per mettere qui ;)
PS: Aggiornerò questa guida sempre su AutoIt Fanclub.

»» AutoIt v3
● Concetto
AutoIt v3 è un linguaggio di scripting per ambienti Windows, ed è basato sulle sue API. È un ottimo linguaggio per via della sua semplicità, anche se su molti punti ha delle fragilità, come per esempio la mancanza del multithreading gestibile dal programmatore e delle classi. Però anche con questi difetti è un'ottimo tool, principalmente per la automatizzandone di azioni comuni. Il linguaggio è basic-like, il che lo rende facile da imparare (Per fortuna mia che faccio questa guida xD). Se vuoi partire da AutoIt per avanzare dopo a linguaggi più completi è una buona scelta per via della sua semplicità e efficacia, però comporta svantaggi in rispetto alla sua sintassi essere diversa da molti linguaggi come il C/C++, anche se comporta questo, è ottimo per dare tante nozioni sulla programmazione basica.

● Installazione
» Scaricate la versione più recente di AutoIt (Questa guida è fatta per la versione 3.3.6.1) dal sito ufficiale di AutoIt (Oppure sul menù a sinistra, nel sito di AutoIt FanClub) e la installate
» Scaricate e installate la SciTe4AutoIt3 (Sul menù a sinistra di AutoIt Fanclub), la versione completa del editor per AutoIt che contiene tante tools utili e funzioni che aiutano e molto la costruzione dello script

»» SciTe, L'interprete e il Compilatore di AutoIt3
● SciTe è, come ho detto prima, il editor default di AutoIt3.
Quando lo usiamo, dobbiamo avere alcune nozioni basiche tanto sulla sintassi di AutoIt, sull'uso di SciTe, sull'interprete e sul compilatore di AutoIt:
» I script di AutoIt vengono salvati con la estensione .au3
» AutoIt è sensibile ai capolinea
» AutoIt è CASE-INSENSITIVE, ossia, non fa distinzioni tra maiuscole e minuscole, ad eccezione di quando si trattano le string ("Hello World" non è uguale a "HELLO WORLD")
» In AutoIt, come in quasi tutti i linguaggi, esistono due tipi di file principali: il Source (Sorcio)(.au3) e il Executable (Eseguibile)(.exe). Il source è il file dove i comandi vengono scritti nella logica e sintassi del linguaggio, mentre l'eseguibile contiene i dati binari che passa i comandi al processore. Il script viene scritto nel sorcio perché poi un compilatore possa leggerne e crearne un eseguibile relativo a lui. Nel caso di AutoIt, esiste un interprete che permette eseguire un script senza doverlo compilare, perciò un source può essere eseguito, questo soltanto se il pacchetto di AutoIt è installato sul computer, perciò se vogliamo inviare il nostro programma/script a qualcun'altro che non possiede AutoIt installato, dobbiamo inviargli l'eseguibile.
» In SciTe, ci sono tre hotkey utilissime: F5, CTRL+F5 e CTRL+F7: F5 esegue l'interprete di AutoIt per eseguire il script, CTRL+F5 esegue il Syntax Checker integrato di AutoIt, che rileva errori nella sintasse, CTRL+F7 esegue il compilatore per compillare il script (ossia, crea un file .exe dal script). Tutte queste tre funzionalità e tantissime altre sono disponibili dal menù Tools

»» Variabili

● Concetto
Le variabili sono uno dei elementi basici più importanti nel campo della informatica, quindi anche di autoit: qualsiasi informazione vorrai usare, sia questa un numero, una stringa, una array (assieme di variabili in un'unica, una tabella, che verrà spiegata completamente più tardi) o qualsiasi genere di dato. Le variabili in AutoIt vengono tutte precedute dal carattere ( $ ).

● Dichiarazione
Prima di poter usare una variabile la si deve dichiarare, nel seguente modo:
CODICE
Global $Variabile
;Oppure
Local $Variabile
;Oppure
Dim $Variabile

» Global : Dichiara la variabile in modo che sia accessibile da qualsiasi parte dello script, sia in una funzione oppure no
» Local : Dichiara la variabile in modo che sia accessibile soltanto dalla funzione dalla cui è dichiarata, se usi la variabile dichiarata con Local fuori dalla funzione di provenienza avrai un errore. Invece se usi Local fuori da una funzione questa avrà lo stesso funzionamento di Global
» Dim : Dichiara la variabile in Local se usata dentro una funzione, sennò la dichiara come Global

Nota: Si può dichiarare una variabile anche semplicemente assegnandoli un valore, come spiegato nella prossima sotto-sezione, questo soltanto se non attivata la opzione "MustDeclareVars" su AutoItSetOption. Io sconsiglio questo, consiglio sempre dichiarare le variabili con uno dei tre metodi sopra spiegati, si evitano tanti errori e è un ottimo mezzo per mantenere il script pulito e facile da capire. Qualora si provi a usare una variabile senza averla dichiarata si avrà un errore.

● Assegnamento di valori
Il primo passo per poter utilizzare una variabile è assegnarle un valore, questo può essere fatto assieme alla dichiarazione oppure in un altro qualsiasi momento. Questo può essere fatto nei seguenti modi:
CODICE
$Variabile="Valore"

CODICE
Assign("Variabile", "Valore")

CODICE
Global $Variabile
$Variabile=1
MsgBox(0, "Guida By »Master", $Variabile)


Nota: Tutte le variabili appena dichiarate senza aver assegnate alcun valore, hanno valore iniziale di False.
4
● Tipi di valori
Ci sono tre tipi di valori: Numerici (Number), Testo (String) e Boolean (Bool)
Esempi di valori numerici sono 3 ; -1 ; 1.5 ; -2.3271898753
Esempi di string sono 'Hello World' ; '190' ; 'Sono una variabile del tipo string' ; '-5'
I valori del tipo Bool sono due: True e False

Importante: Da notare la differenza tra questi valori, essenzialmente diversi.
CODICE
$Variabile = 7 ; Numero
$Variabile = "7" ; String
$Variabile = False ; Bool (=False)
$Variabile = "False" ; String (=True)


Nota: Da notare che un qualsiasi valore, sia esso String o Number può essere considerato come Bool. Qualsiasi valore sia viene considerato come True, ad eccezione di 0 (non la string "0"), "" (string vuota) ed False (l'operatore logico False)

Nota: Da notare che un qualsiasi valore numero può essere trasformato in string, ma però soltanto string che contengono solo numeri possono essere trasformate in valori Number, vedi le funzioni Number() e String()

● Esempi
CODICE
Global $Variabile
$Variabile=1
Funzione()

Func Funzione()
       MsgBox(0, "Guida By »Master", $Variabile)
EndFunc

CODICE
#cs
Questo script di prova darà un errore, visto che la variabile
è stata dichiarata con Local dentro la funzione, quindi questa
sarà valida soltanto dentro di quella funzione, e non funzionerà
oppure non assumerà lo stesso valore dentro altre funzioni o
in relazione al resto del script.
#ce
Funzione()
MsgBox(0, "Guida By »Master", $Variabile)

Func Funzione()
       Local $Variabile=3
EndFunc

CODICE
Dim $Variabile1=True
Global $Variabile2=32
Local $Variabile3="Hello World!"
MsgBox(0, "Guida By »Master", $Variabile1)
MsgBox(0, "Guida By »Master", $Variabile2)
MsgBox(0, "Guida By »Master", $Variabile3)


»» Funzioni

● Concetto
Una funzione è un assieme di istruzioni, come se fosse un script dentro lo script principale di Autoit, ed è utile in tantissimi aspetti. In AutoIt esistono due tipi di funzioni: le funzioni Built-In e quelle create dentro lo stesso script (le UDF sono quest'ultime)

● Utilizzo e sintassi
Per utilizzare le funzioni, siano esse Built-In o no, esse devono essere chiamate dal script. Per effettuare il Call della funzione si scrive il nome della funzione nella sequenza del script, per esempio:
CODICE
MsgBox(0, "Guida By »Master", "Hello World")

Invece se la funzione non possiede parametri (spiegati qui sotto) basta chiamarla per esempio così:
CODICE
Beep()

Ci sono anche le funzioni che possiedono parametri preimpostati, in questo caso non è necessario metterli, questi assumono i valori preimpostati. In questo caso, si può usare la keyword Default per richiamare il valore preimpostato, come si vede in questo esempio:
CODICE
Beep(Default, 2000)

CODICE
Beep() ; In questo caso non viene dichiarato alcun parametro, così tutti i parametri assumono i valori default.


● Parametri
La funzione può avere dei parametri o no. I parametri sono contenuti dentro le parentesi subito dopo il nome della funzione, e sono le "opzioni" inviate alla funzione, che predispongono come questa funzionerà e possono anche essere i dati con cui la funzione lavorerà. I parametri sono tutti divisi da una virgola ( , ) e possono essere variabili valori [Number, String o Bool come detto nella sezione Variabili].

● Return
Tutte le funzioni ritornano un valore, come in una variabile [da ricordare però che non sono variabili, in quanto ogni volta che le richiamate vengono eseguite ancora, potendo anche ritornare valori diversi a seconda della funzione]. Alcune funzioni non ritornano alcun valore, quindi ritornano "" o 0, ossia False.
CODICE
Global $ValoreRitornato
$ValoreRitornato=GeneraNome("Leonardo", "Da Vinci")
MsgBox(0, "Guida By »Master", "Valore ritornato dalla funzione: "&$ValoreRitornato)

Func GeneraNome($Nome, $Cognome)
       Local $NomeCompleto
       $NomeCompleto=$Nome&" "&$Cognome
       Return $NomeCompleto
EndFunc


● Creare una funzione
Per definire una funzione, si usano le keyword (Parole chiave) di AutoIt Func e EndFunc. I comandi dovranno essere in mezzo a queste parole chiave (ovviamente nelle linee di mezzo a loro), mentre il nome e i parametri richiesti dovranno essere messi accanto a Func.
CODICE
Func NomeFunzione($Parametro1, $Parametro2)
;Qui il codice della funzione, cosa essa deve svolgere
EndFunc

Si può anche ritornare un valore al resto dello script come detto nella sezione sopra con la keyword Return. Sempre che si usa il Return, anche se si è in mezzo alla funzione, ferma la sua esecuzione e si ritorna allo script. Si usa così:
CODICE
Return $Valore

oppure
CODICE
Return False

oppure anche qualsiasi valore, variabile, array, eccetera.

Si possono anche creare funzioni con parametri pre-impostati: basta che quando metti i parametri necessari si metta la variabile del parametri e un = e il valore/variabile globale che si vuole sia la default, per esempio:
CODICE
Func Saluta($Nome="Tizio")
       MsgBox(0, "Guida By »Master", "Ciao "&$Nome&"!")
EndFunc


Nota: Il nome della funzione non può contenere spazi.

Nota: Per creare una funzione senza parametri basta non metterne nessun parametro dopo il nome, per esempio:
CODICE
Func Funzione()
;Codice della funzione
EndFunc


Nota: I parametri sono pre-dichiarati automaticamente con Local, a non essere che sia utilizzata la keyword ByRef, spiegata sotto.

Consiglio: Sempre che stai creando una funzione, mettila in fondo allo script. Se la metti in mezzo allo script principale rischi causare problemi oltre al fatto di lasciare il script incasinatissimo.

Consiglio: Per identificare le proprie funzioni create, si consiglia sempre mettere un ( _ ) prima del nome, per esempio: _Funzione()

● ByRef
Questo indicatore logico, nella creazione della funzione, fa in modo che il parametro sia necessariamente una variabile, così che ogni cambiamento alla variabile avvenuto dentro la funzione venga applicato anche globalmente.
CODICE
Global $Variabile="Riccardo"
MsgBox(0, "Guida By »Master", "Valore della variabile prima della funzione: "&$Variabile)
Funzione($Variabile)
MsgBox(0, "Guida By »Master", "Valore della variabile dopo della funzione: "&$Variabile)

Func Funzione(ByRef $Nome)
       $Nome="Gabbriele"
EndFunc


● Esempi
CODICE
Saluta()
Saluta("Riccardo")
Saluta("")
Saluta(12.1)
Global $NomeDellaPersona="Gabbriele"
Saluta($NomeDellaPersona)

Func Saluta($Nome="Tizio")
       MsgBox(0, "Guida By »Master", "Ciao "&$Nome&"!")
EndFunc


»» Operatori
● Concetto
I operatori sono metodi per eseguire azioni con diversi tipi di data, possono essere operatori matematici, i operatori logici e i operatori delle string.

● Operatori matematici
Da notare che quando usi questi operatori con valori del tipo String o Bool, AutoIt prova a trasformarli nel tipo Number, vedi il suo funzionamento con la funzione Number().
Ci sono basicamente i seguenti operatori:
» + : Somma, soma due valori:
CODICE
$Risultato=3+7

» - : Sottrazione, sottrae due valori:
» * : Moltiplicazione, moltiplica due valori:
» / : Divisione, divide due valori:
» ^ : Potenza, effettua la potenziazione tra due valori:
CODICE
$Risultato=3^7

Nota: Per effettuare la radice quadra di un numero si usa la funzione Sqrt()
» += : Somma alla variabile il valore stabilito
CODICE
$Risultato=1
$Risultato+=3

» -= : Sottrai alla variabile il valore stabilito
» *= : Moltiplica il valore della variabile per il fattore stabilito
» /= : Dividi il valore della variabile per il fattore stabilito
» > : Ritorna True se il primo valore è maggiore (o eventualmente uguale se usato il operatore >=) del secondo, sennò ritorna False
CODICE
$Risultato=(1>3)

» < : Ritorna True se il primo valore è minore (o eventualmente uguale se usato il operatore <=) del secondo, sennò ritorna False
» = : Ritorna True se i due valori sono uguali, sennò ritorna False
CODICE
$Risultato=(1=3)

» <> : Ritorna True se i due valori sono diversi, sennò ritorna False
CODICE
$Risultato=(1<>3)


● Operatori logici
Da notare che così come con i operatori matematici, se vengono usati valori che non sono del tipo bool, essi vengono trasformati, vedere la funzione Bool()
Ci sono i seguenti operatori:
» = : Verifica che i due valori sono uguali
CODICE
$Risultato=(True=False)

» AND : Effettua l'operazione logica AND tra i due valori ((True AND True) = True ; (False AND True) = False ; (False AND False) = True)
CODICE
$Risultato=(True AND False)

» OR : Effettua l'operazione logica OR tra i due valori ((True OR True) = True ; (False OR True) = True ; (False OR False) = False)
CODICE
$Risultato=(True OR False)

» Not : Effettua l'operazione logica Not con il valore stabilito ((Not True) = False ; (Not False) = True)
CODICE
$Risultato=(Not False)


● Operatori nelle string
Da notare che così come con i operatori matematici e logici, se vengono usati valori che non sono del tipo string, essi vengono trasformati, vedere la funzione String()
Ci sono i seguenti operatori:
» & : Unisce due string:
CODICE
$Risultato="Io sono"&" il testo"

CODICE
$Parte1="Io sono la parte 1"
$Parte2="ed io sono la parte 2"
$Risultato=$Parte1&" "&$Parte2

CODICE
$Parte1="Io sono la parte 1. "
$Parte2="Ed io sono la parte 2"
$Risultato=$Parte1&$Parte2

» &= : Unisce alla variabile la string indicata:
CODICE
$Risultato="Io sono"
$Risultato&=" il testo"

» = : Se le due string sono uguali, ritorna True, sennò, False, CASE-INSENSITIVE (non riconosce se le lettere sono maiuscole o minuscole)
CODICE
$Risultato=("SONO una string"="sono una string")

» == : Se le due string sono uguali, ritorna True, sennò, False, CASE-SENSITIVE (riconosce se le lettere sono maiuscole o minuscole)
CODICE
$Risultato=("SONO una string"=="sono una string")


Consiglio: Se si vuole scrivere le doppie virgolette in una string ( " ), ci sono due metodi:
1- Si usa la funzione Chr(34) che ritorna ( " ) (34 nella tabella ASCII è " )
2- Si usa la virgoletta semplice ( ' ) per demarcare la string (La virgoletta semplice ha esattamente la stessa funzionalità delle doppie virgolette)
CODICE
$Testo1='Ciao »Master!'
$Testo2="Ciao »Master!"
MsgBox(0, "Guida by »Master", ($Testo1=$Testo2)) ; Se scrive True significa che le string sono uguali
$Testo1="Ciao "&Chr(34)&"»Master"&Chr(34)&"!"
$Testo2='Ciao "»Master"!'
MsgBox(0, "Guida by »Master", $Testo1&"   "&$Testo2)


»» Macro
● Concetto
Le macro sono come "variabili dinamiche", le cui contengono valori come la data, l'ora, informazioni sul sistema operazionale corrente, directory di sistema, caratteri speciali, referenti a AutoIt proprio e eccetera. I valori ritornati possono cambiare dinamicamente in relazione al suo valore attuale, perciò le macro sono in costante aggiornamento, per così pensare (anche se in fondo sono funzioni che aggiornano il suo valore ogni call effettuato alla macro). Tutte le macro hanno il simbolo @ davanti a loro (esempio: @Hour).
Ora listo le più importanti e che credo abbiano la minima utilità:

● Data e Ora
» @MSEC - Millisecondi (da 00 a 999)
» @SEC - Secondi (da 00 a 59)
» @MIN - Minuti (da 00 a 59)
» @HOUR - Ore nel formato 24h (da 00 a 23)
» @MDAY - Giorno del mese (da 01 a 31)
» @MON - Mese dell'anno (da 01 a 12)
» @YEAR - Anno nel formatto 4 digiti (Esempio: 2011)
» @WDAY - Giorno della settimana nel formatto numerico (da 01 a 07)
» @YDAY - Giorno dell'anno (01 a 366 o 01 a 355 )

● Informazioni sul sistema
» @CPUArch - Ritorna x86 se il processore è 32bit o x64 se è 64bit
» @KBLayout - Ritorna il codice referente al layout della tastiera attuale
» @OSArchi - Ritorna x86 se il SO è 32bit o x64 se è 64bit
» @OSLang - Ritorna il codice riferente al linguaggio attuale del SO
» @OSVersion - Ritorna quale SO è in esecuzione al momento (Esempio: WIN_XP o WIN_7)
» @OSBuild - Ritorna la build referente allo SO
» @OSServicePack - Ritorna la service pack in uso attuale dal SO (Esempio: Service Pack 1)
» @ComputerName - Ritorna il nome del computer impostato per la rete
» @UserName - Ritorna il nome del user attualmente loggato.
» @IPAddress1 a @IPAddress4 - Ritorna i ip del computer nella rete locale (LAN) (Esempio: 10.1.1.2)
» @DesktopWidth ; @DesktopHeight - Ritornano la larghezza (Width) e l'altezza (Height) della risoluzione del schermo
» @DesktopDepth - Ritorna la proffondità dello schermo in bit per pixel
» @DesktopRefresh - Ritorna il rateo di aggiornamento dello schermo (Esempio: 60Hz)

Nota Importante: @IPAddressX NON ritorna l'indirizzo esterno (quello accessibile da internet), ma si soltanto il locale (accessibile soltanto dalla rete locale, LAN)

● Directory - Condivise
» @AppDataCommonDir - Percorso alla Application Data condivisa
» @DesktopCommonDir - Percorso al Desktop condiviso
» @DocumentsCommonDir - Percorso ai Documenti condivisi
» @FavoritesCommonDir - Percorso ai Favoriti condivisi
» @ProgramsCommonDir - Percorso alla cartella dei Programmi del menù Start condiviso
» @StartMenuCommonDir - Percorso alla cartella del menù Start condiviso
» @StartupCommonDir - Percorso alla cartella di Esecuzione Automatica condivisa


● Directory - User corrente
» @AppDataDir - Percorso alla Application Data
» @DesktopDir - Percorso al Desktop
» @MyDocumentsDir - Percorso ai Documenti
» @FavoritesDir - Percorso ai Favoriti
» @ProgramsDir - Percorso alla cartella Programmi del menù Start
» @StartMenuDir - Percorso al menù Start
» @StartupDir - Percorso alla cartella di Esecuzione Automatica
» @UserProfileDir - Percorso alla cartella del user corrente

● Directory - Sistema
» @HomeDrive - Lettera del driver che contiene la cartella del user attuale (Esempio: C:)
» @HomePath - Percorso senza la lettera del driver alla cartella del user attuale (Esempio: \Users\Nome)
» @ProgramFilesDir - Percorso alla cartella Program Files
» @CommonFilesDir - Percorso alla cartella File Comuni
» @WindowsDir - Percorso alla cartella Windows
» @SystemDir - Percorso alla cartella di sistema System32 nella cartella Windows
» @TempDir - Percorso alla cartella di File Temporari
» @ComSpec - Percorso alla shell di comandi di windows CMD.EXE

Nota: Con @ComSpec si possono eseguire comandi di una linea dal Prompt di Comandi di Windows, per esempio:
CODICE
Run(@ComSpec&" /k Start "&@DesktopDir) ; Usabile soltanto se il nome del user attuale non possiede spazi. Caso contenga spazi si deve usare Run(@ComSpec&' /k Start "'&@DesktopDir&'"')


● Macro rivolte a AutoIt
» @compiled - Ritorna 1 se il script è compilato o 0 se è eseguito dal interprete di AutoIt (Tramite SciTe)
» @error - Ritorna il flag del stato di errore, impostato dalle funzioni qualora abbino qualche errore.
» @extended - Ritorna il flag del stato di errore esteso, anch'esso impostato dalle funzioni che hanno avuto errori.
» @NumParams - Usabile soltanto in funzioni, ritorna il numero di parametri usati durante il call della funzione
» @ScriptName - Ritorna il nome del script in esecuzione
» @ScriptDir - Ritorna il percorso della directory del script in esecuzione (Esempio: C:\Users\»Master\Desktop (Senza la backslash nella fine, badate a questo.))
» @ScriptFullPath - Equivalente a @ScriptDir & "\" & @ScriptName
» @ScriptLineNumber - Ritorna alla linea corrente in esecuzione (Usabile soltanto in script non-compilati)
» @WorkingDir - Percorso attualmente in uso per i file il cui percorso non è specificato come per esempio FileRead("File.txt"), la directory per "File.txt" sarà @WorkingDir&"\File.txt"
» @AutoItExe - Percorso per il eseguibile di AutoIt, se il script non è compilato ritornerà il percorso del interprete di AutoIt3 (@ProgramFilesDir&"\AutoIt\AutoIt3.exe" normalmente), se invece è compilato ritornerà lo stesso che @ScriptFullPath
» @AutoItPID - Ritorna il PID (ProcessID) del processo referente a @AutoItExe
» @AutoItVersion - Ritorna la versione di AutoIt attualmente in uso (Per esempio 3.3.6.1)
» @AutoItX64 - Ritorna 1 se lo script sta essendo eseguito da una versione 64bit di AutoIt

Da utilizzare come parametro per le funzioni WinSetState(), Run(), RunWait(), FileCreateShortcut() e FileGetShortcut():

» @SW_DISABLE - Disattiva la finestra
» @SW_ENABLE - Attiva la finestra
» @SW_HIDE - Nasconde la finestra e attiva un'altra
» @SW_LOCK - Blocca la finestra in modo che succedano cambiamenti in essa
» @SW_MAXIMIZE - Massimizza la finestra
» @SW_MINIMIZE - Minimizza la finestra
» @SW_RESTORE - Attiva la finestra e la ripristina al suo stato originale, se è minimizzata torna visibile, se è massimizzata torna alla sua misura e alla sua posizione originali
» @SW_SHOW - Attiva la finestra e la mostra, inverso di @SW_HIDE
» @SW_SHOWMAXIMIZED - Attiva la finestra e la massimizza
» @SW_SHOWMINIMIZED - Attiva la finestra e la minimizza
» @SW_SHOWMINNOACTIVE - Mostra la finestra come minimizzata. È simile a @SW_SHOWMINIMIZED, eccetto che la finestra non viene attivata.
» @SW_SHOWNA - Mostra la finestra nella sua posizione e misura attuali. È simile a @SW_SHOW, eccetto nel fatto che la finestra non viene attivata.
» @SW_SHOWNOACTIVATE Mostra la finestra nella sua posizione e misura più recenti. È simile a @SW_SHOWNORMAL, eccetto nel fatto che la finestra non viene attivata.
» @SW_SHOWNORMAL - Attiva e mostra la finestra. Se è minimizzata o massimizzata, il sistema la ripristina alla sua misura e alla sua posizione originale
» @SW_UNLOCK - Sblocca la finestra per permettere cambiamenti, contrario di @SW_LOCK

@TrayIconVisible Ritorna 1 se la icona nella Tray è attiva, sennò ritorna 0.

● Caratteri Speciali
» @CR - Carriage Return, lo stesso che Chr(13), usato alcune volte per fare capolinea
» @LF - Line Feed, lo stesso che Chr(10), normalmente usato per fare capolinea
» @CRLF - @CR & @LF, usato occasionalmente per fare capolinea
» @TAB - Carattere usato tabulatore, lo stesso che Chr(9)

»» Gestione File
● Concetto
AutoIt ci permette gestire i files presenti sul computer, leggerli e scriverli in diversi metodi. Tutta la gestione viene eseguite tramite le funzioni. La maggior parte delle funzioni built-in cominciano con File...()

● Lettura
Il modo più semplice per leggere un file è usando la funzione FileRead() e il percorso del file. Il unico parametro necessario per questa funzione è il proprio percorso, come primo parametro, per esempio:
CODICE
$Lettura=FileRead(@DesktopDir&"\File.txt")

Possiamo anche leggere un file presente nella directory dove il script sta essendo eseguito
CODICE
$Lettura=FileRead(@ScriptDir&"\File.txt")

(Al posto del percorso si può pure usare la handle ritornata da FileOpen, che verrà spiegato dopo)

Nota: Sempre che scriviamo un percorso incompleto (Per esempio: "\Cartella\File.txt" o "File.txt"), AutoIt completerà il percorso con @WorkingDir&"\CosaHaiScritto" (quindi sarebbe @WorkingDir&"\Cartella\File" e @WorkingDir&"\File.txt" in relazione ai esempi prima dati). Per cambiare il valore di @WorkingDir basta che usiamo la funzione FileChangeDir("X:\Percorso")

Consiglio: Sempre che volete specificare percorsi generici come il Desktop, ricordate di usare le macro delle directory, poiché la maggior parte dei computer non ha i stessi percorsi, ancora di più quando si trattano di directory di file personali come @DocumentsDir oppure principalmente quando sono versioni del SO diverse (Per esempio @UserProfileDir può essere C:\Users\Nome in Windows 7 o C:\Documents And Settings\Nome in Windows XP)

● Scrittura
Il modo più semplice poi per scrivere nei file è sicuramente usare FileWrite(). In questo caso sono necessari due parametri: Il primo è il percorso del file (vale tutto quello che ho detto sulla sezione Lettura) e il secondo è cosa lo script deve scrivere.
CODICE
FileWrite(@DesktopDir&"\File.txt", "Ciao sono il testo!")

(Al posto del percorso si può pure usare la handle ritornata da FileOpen, che verrà spiegato dopo)
Quando usi un percorso file (perciò senza usare FileOpen()), AutoIt appende il testo nella fine del file, senza cancellarne il contenuto presente prima e usa la codifica ANSI, perciò se si vuole scrivere cancellandone il contenuto di prima oppure se si vogliono immettere caratteri UNICODE, si deve per forza usare FileOpen().

Nota: Quando usi un percorso file invece di usare una handle di FileOpen(), e il file non esiste, AutoIt crea il file, ma non ne crea il percorso se questo non esiste a meno che sia specificato nella handle ritornata da FileOpen() con il modo giusto (vedere nella prossima sezione).

Nota: Sempre che si usano le string, per fare a capo si usano uno dei due o i due caratteri: Carriage Return e Line Feed, rispettivamente le macro @CR e @LF oppure la giunzione dei due: la macro @CRLF (Effettivamente lo stesso che @CR&@LF), quindi per un file multi-linea:
CODICE
FileWrite(@DesktopDir&"\File.txt", "Ciao »Master!"&@CRLF&"Io sono il testo!")


Consiglio: Se volete lasciare il script più organizzato potete usare il carattere underline ( _ ), potrete fare a capo sull'editor e non vi causeranno errori.
CODICE
$Testo="Ciao!"&@CRLF & _
"Io sono il testo, piacere!" _
&@CRLF&"Come stai?"
; è lo stesso che
$Testo="Ciao!"&@CRLF&"Io sono il testo, piacere!"&@CRLF&"Come Stai?"

CODICE
MsgBox(0, "Guida By »Master", _
"Ciao!"&@CRLF& _
"Io sono il testo!"&@CRLF&"Come Stai?")

Ricordatevi sempre, però, di mettere un spazio prima del carattere ( _ ).

● FileOpen()
Con AutoIt si può aprire un file e mantenerlo aperto mentre vogliamo noi, con diversi modi, tramite la funzione FileOpen(). Questa funzione ci ritorna una handle (una combinazione hexadecimale che punta a una posizione in memoria dove il file è mantenuto aperto), con questa handle possiamo usare le diverse funzione File...() e altre al posto del percorso.
Usare la funzione FileOpen() garantisce alcuni vantaggi come per esempio: Il file potrà essere modificato, cancellato e eccetera soltanto dal script e da nessun'altro programma, oltre al fatto di poterlo modificare a piacere.
La funzione FileOpen() possiede due parametri: Il primo è il percorso del file, il secondo è la combinazione dei metodi (si sommano, per esempio modo 1, 2, 32, metto come parametro 35) con cui si vuole aprire il file.
Sul secondo parametro possiamo aprire con questi modi (mostro i più importanti):
» 0 - Sarà sempre incluso, poiché qualsiasi soma potrà avere 0 sommato
» 1 - Apre il file in modo che sia possibile scrivere in lui. Il testo viene inserito in fondo al file senza cancellarne il suo contenuto
» 2 - Apre il file in modo che sia possibile scrivere in lui. Il testo rimpiazza tutto quello che era presente prima nel file, perciò fai attenzione a quale modo scegliere!
» 8 - Crea la struttura del percorso se questa non esiste
» 16 - Apre il file con il metodo binario anzichè usare il metodo ANSI per la lettura e scrittura, utile quando si vuole leggere un file di immagine per esempio e scriverne il suo contenuto in un'altro (in questo caso tanto il file origine quanto il destinazione dovranno essere aperti con questo modo).
» 32 - Apre il file con il metodo UTF16 Little Endian per la lettura e scrittura
» 64 - Apre il file con il metodo Unicode UTF16 Big Endian per la lettura e la scrittura

CODICE
$FOpen=FileOpen("File.txt", 64+2)
FileWrite($FOpen, ChrW(0x2802)&ChrW(0x2803)&ChrW(0x2804)&ChrW(0x2805))
FileClose($FOpen)
FileWrite("File2.txt", ChrW(0x2802)&ChrW(2803)&ChrW(2804)&ChrW(0x2805))
MsgBox(0, "Guida By »Master", "Scrivendo e leggendo caratteri UNICODE con ANSI (non sopportato):"&@CRLF&FileRead("File2.txt"))


Nota: FileOpen() NON apre i file così come fa Esplora Risorse. Esplora Risorse (o Windows Explorer) esegue i eseguibili installati relazionati tramite il registro alla estensione del file. Per far in modo che AutoIt esegua il eseguibile associato alla estensione del file tramite il registro di windows, si usa ShellExecute().

Nota: Sempre che si finisce di utilizzare il file, usate FileClose(), che libera le risorse utilizzate dal file (memoria).

Nota: Ricordatevi di non combinare mai handle e percorso, sennò ci saranno problemi.

● Altre operazioni con file
Ora presento una lista con le principali funzioni built-in per operare i file.
» FileCopy() - Copia un file, il terzo parametro definisce se sovrascrivere un eventuale file già esistente
» FileCreateShortcut() - Crea un collegamento al file, per poi poter gestire il collegamento creato si può usare FileGetShortcut()
» FileDelete() - Cancella un file (non sposta nel cestino). Deve essere usato per forza un percorso, non una handle da FileOpen().
» FileExists() - Verifica se un file esiste o no
» FileGetAttrib() - Legge i attributi del file
» FileGetEncoding() - Ritorna: 0 se ANSI ; 32 se UTF16 Little Endian ; 64 se UTF16 Big Endian
» FileGetPos() - Ritorna il percorso di un file. Deve essere usato necessariamente con una handle
» FileGetSize() - Ritorna la misura di un file in bytes ( B )
» FileGetTime() - Ritorna la data di creazione/modifica/accesso di un file. Necessario essere usato con percorso e non handle
» FileMove() - Muove un file, il terzo parametro definisce se sovrascriverlo o no
» FileReadLine() - Legge una linea specifica di un file
» FileRecycle() - Sposta un file nel cestino
» FileRecycleEmpty() - Svuota il cestino
» FileSetAttrib() - Imposta i attributi di un file
» FileSetPos() - Muove un file già aperto con FileOpen(), perciò è necessaria una handle.
» FileWriteLine() - Scrive nel file in una linea specifica

● FileInstall()
La funzione FileInstall serve per copiare file dentro del proprio eseguibile quando viene compilato e poi quando viene eseguito copia da dentro di se stesso i file in un percorso del computer dove sta essendo eseguito.
Invece quando il script viene eseguito senza essere copiato, la funzione FileInstall() assume la stessa funzionalità che FileCopy().
Uso:
CODICE
FileInstall("PercorsoDiOrigine\File.ext", "PercorsoDiDestino\File.ext", 0)

Il terzo parametro, così come FileCopy() e FileMove() imposta se un possibile file nella destinazione verrà sovrascritto o no.

Nota Importante: Siccome il file viene inserito dentro il eseguibile durante la compilazione dal compilatore, non si possono mettere variabili, macro, operazioni con string o cose del genere nel primo parametro, quindi nel primo parametro si deve sempre mettere il percorso completo al file (Esempio: "C:\Users\»Master\Data\FileDaInstallare.txt"). Per il secondo parametro invece non ci sono limitazioni, si possono usare variabili, macro e operazioni con string.

»» Condizioni Logiche : Fare decisioni
● Concetto
Uno dei aspetti principali sulla programmazione sicuramente sono le condizioni logiche. Quando fai una condizione logica, determini cosa il script deve fare o non fare o cosa fare a seconda del caso.

● If <espressione> Then <comandi> EndIf
La traduzione sarebbe: Se <espressione è vera> Allora <comandi> Fine
Faccio un esempio semplice:
CODICE
If @Hour=0 Then
MsgBox(0, "Guida by »Master", "Ora è mezzanotte!")
EndIf

Questo può essere scritto anche in una sola linea:
CODICE
If @Hour=0 Then MsgBox(0, "Guida by »Master", "Ora è mezzanotte!")

La struttura completa può anche contenere le keyword ElseIf che può contenere altre verifiche logiche, se una di queste verifiche è vera, il codice dentro a lei viene eseguito e le altre verifiche non vengono nemmeno provate, mentre quando esiste un Else, se tutte le verifiche non sono risultate vere, viene eseguito cosa c'è dentro l'Else.
CODICE
Global $Messaggio
If @Hour<5 Then
$Messaggio="Ancora sveglio?"
ElseIf @Hour<12 Then
$Messaggio="Buongiorno!"
ElseIf @Hour<18 Then
$Messaggio="Buon pomeriggio!"
Else
$Messaggio="Buonanotte!"
EndIf
MsgBox(0, "Guida by »Master", "Ciao! "&$Messaggio)

CODICE
If @MDAY=18 Then
MsgBox(0, "Guida by »Master", "Oggi è il giorno 18!")
Else
MsgBox(0, "Guida by »Master", "Oggi non è il giorno 18!")
EndIf

Si possono inserire espressioni più complesse anche, come per esempio:
CODICE
If @YEAR=2011 And @MON=6 Then
MsgBox(0, "Guida by »Master", "Siamo nel Giugno 2011!")
ElseIf @YEAR=2011
MsgBox(0, "Guida by »Master", "Siamo ancora nel 2011!")
EndIf

» Si può anche verificare se una espressione è falsa, basta che facciamo invertire il risultato della espressione con Not (True diventa False e False diventa True), e molto altro, guardare la sessione Operatori Logici.

● Switch <valore/Espressione> Case <valore> <comandi> EndSwitch
Esiste anche un'altro modo per verificare espressioni: i Switch (Interruttori)
La struttura è la seguente:
CODICE
Switch <Espressione> ; Necessario
Case <Espressione> ; Necessario
<Comandi>
Case <Espressione> ; Non necessario
<Comandi>
Case Else ; Non necessario
<Comandi>
EndSwitch ; Necessario

Possiamo anche trascrivere un Switch in un If ... Then ... EndIf:
CODICE
$valore=20
Switch $valore
Case 5
MsgBox(0, "Guida by »Master", "$valore è 5")
Case 10
MsgBox(0, "Guida by »Master", "$valore è 10")
Case 20
MsgBox(0, "Guida by »Master", "$valore è 20")
Case Else
MsgBox(0, "Guida by »Master", "Non so quanto $valore possa essere.")

CODICE
$valore=20
If $valore=5 Then
MsgBox(0, "Guida by »Master", "$valore è 5")
ElseIf $valore=10 Then
MsgBox(0, "Guida by »Master", "$valore è 10")
ElseIf $valore=20 Then
MsgBox(0, "Guida by »Master", "$valore è 20")
Else
MsgBox(0, "Guida by »Master", "Non so quanto $valore possa essere.")
EndIf

Da notare che in questo caso si fa molto più facile a usare un Switch che a usare un If.

Notare anche nel caso si usassero espressioni logiche o string:
CODICE
$valore=(@OSVersion="WIN_7") ; $valore sarà True se usi Win7 oppure False se usi un'altro.
Switch $valore
Case True
MsgBox(0, "Guida by »Master", "Usi windows 7.")
Case False
MsgBox(0, "Guida by »Master", "Non usi Windows 7.")
EndSwitch

CODICE
$Name="»Master"
Switch $Name
Case "»Master"
MsgBox(0, "Guida by »Master", "Hai fatto questa guida")
Case Else
MsgBox(0, "Guida by »Master", "Stai leggendo questa guida")


Nota: Se si vuole fare altre verifiche in un Switch, si deve badare a non fare questo:
CODICE
Switch @WDAY
Case 0 Or 7
MsgBox(0, "Guida by »Master", "Weekend!")
Case Else
MsgBox(0, "Guida by »Master", "Giorno comune...")
EndSwitch

Si deve scrivere separando i valori con virgola, così:
CODICE
Switch @WDAY
Case 0, 7
MsgBox(0, "Guida by »Master", "Weekend!")
Case Else
MsgBox(0, "Guida by »Master", "Giorno comune...")
EndSwitch


● Select Case <espressioni> <comandi> EndSwitch
Il select è una struttura di funzionamento similare a Switch, la differenza però è che si deve inserire una espressione logica in ogni case. La sua utilità consiste in raggrupare diversi If ed ElseIf, per esempio:
CODICE
If @WDAY=7 Or @WDAY=0 Then
MsgBox(0, "Guida by »Master", "Weekend!")
ElseIf @WDAY=6 Then
MsgBox(0, "Guida by »Master", "Finalmente venerdì!")
Else
MsgBox(0, "Guida by »Master", "Giorno comune...")
EndIf

Trasformando in una struttura di Select diventerebbe
CODICE
Select
Case @WDAY=7 Or @WDAY=0
MsgBox(0, "Guida by »Master", "Weekend!")
Case @WDAY=6
MsgBox(0, "Guida by »Master", "Finalmente venerdì!")
Case Else
MsgBox(0, "Guida by »Master", "Giorno comune...")
EndSelect


»» Cicli: Ripetere azioni uguali o diverse
Uno dei elementi principali nel campo informatico sicuramente sono i cicli. Essi servono a ripetere una serie di azioni, che quando abbinate a un paio di equazioni matematiche o logiche, possono svolgere una grandissima quantità di azioni in un paio di linee. I cicli poi si vedranno essenziali quando tratteremmo delle array (matrici).
Ecco un esempio molto semplice sull'utilizzo dei cicli, sui file:
CODICE
$i=1
While $i<5
FileWrite(@DesktopDir&"\File"&$i&".txt", "Ciao! Io sono il file "&$i&"!")
$i+=1
WEnd


Ora spiego le principali strutture che effetuano i cicli in AutoIt:

● While
Tradotto al pié della lettera significherebbe "Mentre". È una struttura che funziona come un If, visto precedentemente: se una espressione è vera (True), esegue i codici che contiene, sennò viene semplicemente saltato. Non esiste una specie di Else nell'While come esiste nell'If.
Se l'espresione era True ed il script ha finito il primo loop, lui torna a controllare l'espressione. Se è True ancora ripete i codice e, appena finito il loop, ricontrolla l'espressione e così via all'infinito o finché la stessa espressione diventa False oppure se viene riscontratta la keyword ExitLoop che spiegherò dopo.
Ora spiego l'esempio di prima:
Si dichiara una variabile che sarà utilizzata nell'espressione dentro l'While, $i. Appena lo script controlla la variabile, se questa è minore di 5 (notare la differenza tra minore che ( < ) e minore o uguale a ( <= )), il primo loop incomincia. Il loop contiene un $i+=1, che significa che sarà aggiunto 1 al valore già presente su $i. Appena finito, torna a ricontrollare l'espressione, se $i è ancora minore di 5, ripete il loop, infinitamente finchè $i>=5, ossia, finché $i sarà maggiore o uguale a 5.
Si possono creare anche loop infiniti, come questo:
CODICE
While 1
MsgBox(0, "Guida by »Master", "Ciao, io sono una msgbox!")
WEnd

Come abbiamo visto prima, qualsiasi numero diverso di 0, se trasformato in un valore Bool, assume valore True, quindi l'espressione risulterà sempre True, quindi il loop sarà infinito finché lo script è aperto o finché si riscontra la keywork ExitLoop.

● ExitLoop
Questa keyword serve principalmente per uscire da un loop, non importa se questo è finito o infinito (dentro lo script non importerà mai se è finito o infinito, l'espressione sarà sempre eseguita e il suo valore sarà sempre verificato, anche se l'espressione sia un semplice "While 1").
ExitLoop assume anche un parametro opzionale, ossia il numero di loop di cui si uscirà, siccome è una keyword, non si usano le parentesi grafi come con le funzioni. Valido per qualsiasi genere di ciclo (Do ... Until ; While ... WEnd ; For ... To ... Next)
CODICE
ExitLoop 3

Esempi:
CODICE
$i=0
While $i<5
If $i=3 Then ExitLoop
MsgBox(0, "Guida by »Master", "$i="&$i)
WEnd
MsgBox(0, "Guida by »Master", "Il script è finito, $i="&$i)

CODICE
$i=0
$z=0
While $i<5
While $z<5
ConsoleWrite("$i="&$i&" $z="&$z&@CRLF)
If $i=3 $z=4 Then ExitLoop 2
WEnd
ConsoleWrite("Finendo script... $i="&$i&" $z="&$z)

CODICE
$i=0
$z=0
While $i<5
While $z<5
ConsoleWrite("$i="&$i&" $z="&$z&@CRLF)
If $i=3 $z=4 Then ExitLoop
WEnd
ConsoleWrite("Finendo script... $i="&$i&" $z="&$z)

La keyword ExitLoop può anche assumere un parametro, che sarebbe la quantità di loop soprastanti dalla cui dovrà uscire. Questo parametro viene inserito senza parentesi graffe, subito dopo la keyword, così:
CODICE
ExitLoop X

CODICE
ExitLoop 2

Se questo parametro viene omesso, assume il valore 1, quindi esce soltanto da un loop.
Esempio:
CODICE
Dim $x=0, $y=0, $z=0
While $x<3
While $y<3
While $z<3
ConsoleWrite("$x="&$x&" $y="&$y&" $z="&$z&@CRLF)
If $y=2 And $z=3 Then ExitLoop 2
WEnd
WEnd
WEnd


● ContinueLoop
Questa keyword serve per ricominciare il loop da capo, senza eseguire il codice che lo segue, molto utile quando si riscontrano valori in qualche variabile che non vogliamo siano eseguiti nel codice seguente, esempio:
CODICE
$i=0
While $i<10
If $i=5 Then ContinueLoop
ConsoleWrite("$i="&$i&@CRLF)
WEnd

Questa keyword può anche assumere un parametro come la keyword ExitLoop, però anziché uscire dal loop semplicemente lo ricomincia, se il parametro viene omesso, assume il valore di 1. Così come la keyword ExitLoop, non assume parentesi graffe:
CODICE
ContinueLoop 2

CODICE
Dim $x=0, $y=0, $z=0
While $x<3
While $y<3
While $z<3
ConsoleWrite("$x="&$x&" $y="&$y&" $z="&$z&@CRLF)
If $y=2 And $z=3 Then ContinueLoop 2
WEnd
WEnd
WEnd



● Do Until
Tradotto al piè della lettera, significa Fai Finché. Funziona esattamente nello stesso modo che funziona un ciclo While, con una eccezione: anziché verificare l'espressione prima di eseguire il codice, lo esegue e se l'espressione è vera, ricomincia il ciclo, se non lo è semplicemente continua il resto dello script. È molto utile se l'espressione che deve essere eseguita e verificata contiene qualche variabile o dipendenza presente nel codice eseguito durante il loop. Si deve fare attenzione però che, al contrario del While, l'espressione deve essere False perché il loop continui (basta guardare la traduzione: Fai ... Finché (Espressione=Vero))
Ecco un esempio:
CODICE
$i=0
Do
$i+=1
ConsoleWrite("$i="&$i&@CRLF)
Until $i=20


● For To Next
Questo metodo è utilissimo nel caso si volesse fare una determinata azione un determinato numero di volte, senza dover farlo manualmente con un While o un Do Until. Nel suo utilizzo, dobbiamo per forza indicare una variabile (non necessariamente dichiarata prima. Se non è dichiarata, sarà dichiarata come se fosse utilizzato Dim (ossia, rispetta l'ambito locale o globale)), e un valore che sarà attribuito ad essa, che dovrà essere per forza del tipo Number. Dovrà essere stabilito anche un valore (Number), il cui la variabile assegnata dovrà raggiungere. Può essere stabilito anche un valore intermediario, che sarà sommato alla variabile assegnata ogni volta che il loop viene ricominciato (si assumono ovviamente anche valori negativi).
Struttura:
CODICE
For $variabile=$TIPOnumber To $TIPOnumber [Step $TIPOnumber]
; Codice
Next

Esempi:
CODICE
For $i=1 To 7
ConsoleWrite("$i="&$i&@CRLF)
Next

CODICE
For $i=7 To 1 Step -1
ConsoleWrite("$i="&$i&@CRLF)
Next

CODICE
For $i=1 To 14 Step 2
ConsoleWrite("$i="&$i&@CRLF)
Next

PS: Nel caso che il valore della variabile sia maggiore di quello del valore destino e il Step sia positivo, oppure che il valore della variabile sia minore di quello del valore destino e il Step sia negativo, il loop sarà infinito.

FINE PARTE 1

Edited by »Master - 18/9/2011, 18:50
 
Top
themetaldrummer
CAT_IMG Posted on 16/9/2011, 19:37     +1   -1




Bravooo!!! *fischio*
xD
sembra una bella guida, aspettiamo la seconda{però cambia hello world xD troppo semplice (ah hai scritto Hello Wordl) xD]
 
Top
»Master
CAT_IMG Posted on 16/9/2011, 19:40     +1   -1




CITAZIONE (themetaldrummer @ 16/9/2011, 20:37) 
Bravooo!!! *fischio*
xD
sembra una bella guida, aspettiamo la seconda{però cambia hello world xD troppo semplice (ah hai scritto Hello Wordl) xD]

ma non hai manco letto la prima parte u_u xD
aggiustato, ma hello world che c'entra? era soltanto un esempio, è una string nello stesso modo che qualsiasi altra parola/frase asd
 
Top
*Sym98*
CAT_IMG Posted on 16/9/2011, 19:41     +1   -1




Sembra fatta davvero bene, ma stasera non ho tempo di leggerla: mi devo incrementare i messaggi (:P), ripasassare un pò di Geografia (:wacko:) e studiare qualche pagina di PHP. (^_^)
 
Top
»Master
CAT_IMG Posted on 16/9/2011, 19:45     +1   -1




hai tutto il tempo del mondo per leggerla, non so manco quando farò la seconda parte xD
 
Top
*Sym98*
CAT_IMG Posted on 16/9/2011, 19:48     +1   -1




CITAZIONE (»Master @ 16/9/2011, 20:45) 
hai tutto il tempo del mondo per leggerla, non so manco quando farò la seconda parte xD

Conoscendoti la farai tra qualche anno. :asd:
 
Top
»Master
CAT_IMG Posted on 16/9/2011, 19:50     +1   -1




da notare che ho fatto 90% di lei in un giorno, i altri 10% in 6 mesi (cel'ho qui da me da tempo xD), oggi per esempio ho fatto soltanto il For To Next e l'ho postata lol, ci sono giorni che lavoro sul serio e faccio quasi tutto lol
 
Top
*Sym98*
CAT_IMG Posted on 16/9/2011, 19:51     +1   -1




CITAZIONE (»Master @ 16/9/2011, 20:50) 
da notare che ho fatto 90% di lei in un giorno, i altri 10% in 6 mesi (cel'ho qui da me da tempo xD), oggi per esempio ho fatto soltanto il For To Next e l'ho postata lol, ci sono giorni che lavoro sul serio e faccio quasi tutto lol

La stessa cosa faccio io con i programmi. :lol:
 
Top
__EnTiS__
CAT_IMG Posted on 16/9/2011, 19:52     +1   -1




Molto completa ti ho suguito fina alle macro (tutto quello che so xD )
Complimenti ;)
 
Top
»Master
CAT_IMG Posted on 16/9/2011, 19:55     +1   -1




grazie :D
 
Top
bradipooso
CAT_IMG Posted on 17/9/2011, 20:59     +1   -1







Pero' italianizza il primo pezzo con questo XD
CITAZIONE
Dedico questa guida a chiunque abbia voglia di imparare, ossia aprire la mente a nuove conoscenze [oppure "ampliare le proprie conoscenze" o anche "scoprire nuove cose di cui potreste non sapere dell'esistenza"]. Secondo me questo è il dono più prezioso dell'essere umano.



W autoit fc :cereal:
 
Top
LoGiX
CAT_IMG Posted on 17/9/2011, 21:08     +1   -1




Yep, ma io voglio quella pr0 to pr0+..
Non conoscevo solo la funzione Assign, poi le altre tutte D:
 
Top
»Master
CAT_IMG Posted on 17/9/2011, 21:54     +1   -1




CITAZIONE (bradipooso @ 17/9/2011, 21:59)



Pero' italianizza il primo pezzo con questo XD
CITAZIONE
Dedico questa guida a chiunque abbia voglia di imparare, ossia aprire la mente a nuove conoscenze [oppure "ampliare le proprie conoscenze" o anche "scoprire nuove cose di cui potreste non sapere dell'esistenza"]. Secondo me questo è il dono più prezioso dell'essere umano.


W autoit fc :cereal:

ogni volta che rileggo quella parte mi fa male ai occhi e al cervello xd però ho pigrizia di riiscriverla xD

CITAZIONE (LoGiX @ 17/9/2011, 22:08)
Yep, ma io voglio quella pr0 to pr0+..
Non conoscevo solo la funzione Assign, poi le altre tutte D:

ma calmati che questa è la parte1, la più 4n00b xd
 
Top
themetaldrummer
CAT_IMG Posted on 17/9/2011, 22:14     +1   -1




CITAZIONE (»Master @ 16/9/2011, 20:40) 
CITAZIONE (themetaldrummer @ 16/9/2011, 20:37) 
Bravooo!!! *fischio*
xD
sembra una bella guida, aspettiamo la seconda{però cambia hello world xD troppo semplice (ah hai scritto Hello Wordl) xD]

ma non hai manco letto la prima parte u_u xD
aggiustato, ma hello world che c'entra? era soltanto un esempio, è una string nello stesso modo che qualsiasi altra parola/frase asd

si ma manca di originalità xD(metti W AUTOIT FC) o qualcosa di simile xD
 
Top
»Master
CAT_IMG Posted on 17/9/2011, 22:15     +1   -1




CITAZIONE (themetaldrummer @ 17/9/2011, 23:14) 
CITAZIONE (»Master @ 16/9/2011, 20:40) 
ma non hai manco letto la prima parte u_u xD
aggiustato, ma hello world che c'entra? era soltanto un esempio, è una string nello stesso modo che qualsiasi altra parola/frase asd

si ma manca di originalità xD(metti W AUTOIT FC) o qualcosa di simile xD

troppo impegno cambiare tutti i hello world case-sensitive e case-insensitive xd
 
Top
33 replies since 16/9/2011, 19:26   3154 views
  Share