SMF - Just Installed!
18 Gen 2012 - Pascal ScriptSe vi è mai capitata la necessità di eseguire del codice pascal arbitrario in un vostro eseguibile Free Pascal la soluzione a tale problema si chiama Pascal Script
Questa è il wiki di Lazarus: http://wiki.freepascal.org/Pascal_Script E' possibile scaricare il pacchetto da SVN al seguente indirizzo http://code.remobjects.com/svn/pascalscript (informazioni più approfondite nel wiki sopramenzionato) 11 Gen 2012 - La gestione degli errori in LazarusIn qualsiasi linguaggio di programmazione che si rispetti si necessita di poter gestire gli errori e Lazarus/Free Pascal non fanno eccezzione.
Per realizzare tale necessità ci viene incontro la seguente sintassi Codice: [Seleziona]
Vediamo ora un esempio, immaginiamo una form con due EditBox in cui imputare due valori numerici e un pulsante che effettua una divisione tra i due valori inputati nelle EditBox, il codice per gestire al meglio tale esempio è: Codice: [Seleziona]
Ora per capire bene cosa fa questo codice basta compilare (l'esempio allegato) ed eseguire il programma compilato (non in versione debug di lazarus). Provate a cliccare sul pulsante senza inputare i valori e vedrete cosa succede, poi provate a dividere un numero tipo 18,7 per 0 e vedete il risultato. Poi provate a dividere ad esempio 20 con 3 e vedrete un altro risultato. Esempio completo: http://www.lazaruspascal.it/esempi/Errori.zip 23 Dic 2011 - Indy 10 - Invio email con allegatiun modo semplice (valido per Windows e Linux), utilizzando le Librerie Indy
unico neo delle Indy che hanno poca compatibilita' verso le rel. precedenti quando fanno una nuova versione. Codice: [Seleziona]
TIdSMTP -> pannello Indy Clients Protocols (nz) TIdMessage -> pannello Indy Misc Protocols aggiungere nelle uses IdAttachmentFile EdMittente, EdDestinatario, EdConoscenza, EdOggetto, EdCorpo, EdAllegato: sono normali TEdit MemoStato -> componente standard TMemo nel componete TIdSmtp ATTIVARE L'Evento OnStatus Codice: [Seleziona]
21 Dic 2011 - Brute forceIl metodo "forza bruta" (anche noto come ricerca esaustiva della soluzione) è un algoritmo di risoluzione di un problema che consiste nel verificare tutte le soluzioni teoricamente possibili fino a che si trova quella effettivamente corretta.
Il suo principale fattore positivo è che consente teoricamente sempre di trovare la soluzione corretta, ma per contro è sempre la soluzione più lenta o dispendiosa; viene utilizzato come ultima risorsa sia in crittanalisi che in altre parti della matematica solamente in quei casi dove sia l'unico procedimento conosciuto. Usare il metodo "forza bruta" o "brute force" non serve solo a scovare password, ma può essere usato nei problemi più disparati, ad esempio se dobbiamo creare una griglia con le intestazioni di colonne e righe che siano alfanumerici e non solo numerici (pensiamo alle colonne e alle righe dei fogli di calcolo per intenderci) la "forza bruta" può essere un validissimo algoritmo per risolvere tale problematica. Ho realizzato un piccolo programma d'esempio che potete scaricare da qui: www.lazaruspascal.it/esempi/MyBruteForce.zip Una volta compilato l'esempio e lanciato l'eseguibile dovrete specificare se volete tenere in considerazione: 1. Lettere minuscole 2. Lettere maiuscole 3. Numeri (da 0 a 9) E in più dovete dargli un massimo della lunghezza del risultato, per esempio se date 3 come lunghezza massima e selezionate solo i numeri allora otterrete un risultato che parte da 0 e finisce a 999. Spero che l'esempio sia d'aiuto qualcuno. 19 Dic 2011 - Le permutazioniUna permutazione è un modo di ordinare in successione n oggetti distinti, come nell'anagrammare una parola.
Per capire come affrontare questa problematica informatica con Lazarus e il Free Pascal l'obbiettivo del programma d'esempio sarà proprio anagrammare una parola passata come input. Per prima cosa bisogna sapere che per stabilire a priori tutte le possibili combinazioni bisogna calcolare il fattoriale della lunghezza della parola da anagrammare. Ad esempio se vogliamo anagrammare la parola "abcd" le permutazioni totali saranno 24. Vediamo allora il codice per generare il fattoriale di un numero: |