Programmi

Copia e Incolla più Stringhe di Testo

CTRL+C e CTRL+V riproducono la funzionalità di copia e incolla, una delle più utilizzate in Windows: i tasti di scelta rapida permettono di risparmiare tempo. CopyPaste Tool è una piccola applicazione gratuita che vi consente di copiare e di incollare più stringhe di testo in maniera altrettanto semplice e veloce: continuerete ad utilizzare i comandi CTRL+C e CTRL+V ma potrete selezionare una delle stringhe di testo precedentemente copiate.

Vediamo nel dettaglio come funziona CopyPaste Tool: selezioniamo una stringa di testo e premiamo CTRL+C, un’altra stringa di testo e ancora CTRL+C. Per incollare la prima stringa di testo, basta premere CTRL+V e, mantenendo premuto il tasto CTRL, premere nuovamente il tasto “V“.

Questa piccola utility vi consentirà di recuperare qualsiasi stringa di testo precedentemente copiata e di incollarla velocemente, senza dover ripetere l’operazione di copia e poi di incolla. CopyPaste Tool non possiede un’interfaccia grafica: l’installazione colloca un’icona nella barra delle applicazioni, in basso a destra accanto all’orologio di Windows, tramite la quale si potrà solamente chiudere il programma (clic con il tasto destro, “Exit“).

Nota: per una corretta installazione in Windows Vista, eseguire l’installazione come amministratori (in Esplora risorse, clic del tasto destro del mouse sul file di installazione e selezionare “Esegui come amministratore“).
A nostro avviso, si tratta di un tool che rende ancora più efficiente il copia e incolla di Windows: voi cosa ne pensate?

Programmi

Come Recuperare File con Recuve

Recuva è un software gratuito, sviluppato dallo stesso autore del famoso CCleaner, che vi consente di recuperare i file che avete cancellato per sbaglio dal vostro hard disk. Possiede alcune funzionalità davvero interessanti, come la possibilità di recuperare file anche da schede di memoria esterne oppure da lettori Mp3.

L’utilizzo di Recava è molto semplice: grazie al wizard integrato, ovvero una procedura guidata, potrete recuperare i file cancellati accidentalmente in pochissimo tempo; promette inoltre di funzionare anche nei casi in cui i file siano stati cancellati da bugs, virus e crash di sistema.

Recuva è disponibile in lingua italiana (basta scegliere la lingua durante il processo di installazione). Il wizard, essendo molto intuitivo, non necessità di spiegazioni particolari: basta affidarsi alle indicazioni riportate sullo schermo per recuperare file come documenti, musica, immagini, video o di altro genere dall’hard disk del proprio computer, da un hard disk esterno, da una scheda di memoria o dall’iPod.

Si tratta di un’ottima alternativa gratuita ai software avanzati, a pagamento, di questo genere; fateci sapere cosa ne pensate!

Guide

Thunderbird – Come Risolvere Errore Imap too Many Connection

Se stai cercando una soluzione valida e che ti consenta di risolvere il problema delle troppe connessioni simultanee al server imap di una casella di posta condivisa, sei nel posto giusto!

Dopo aver cambiato software per la gestione della posta, stiamo provando Mozilla Thunderbird che risulta molto versatile, comodo e gratis! Subito però abbiamo notato piccoli problemi con un indirizzo email configurato su computer multipli e con tantissime email. Solitamente il problema si presenta dopo aver inviato il messaggio e durante il tentativo di copia di quest’ultimo nella posta inviata.

Dopo alcune piccole indagini abbiamo scoperto che il nostro gestore di posta applica un massimo alle connessioni simultanee imap pari a 10 e il software utilizzato le utilizzava tutte. Tra le opzioni di configurazione di Thunderbird esiste la possibilità di mettere in Cache le connessioni e, di default, è impostato a 5. Riducendo questo ad 1 si dice a Thunderbird di mantenere aperta solo e soltanto una connessione garantendo che al più 10 utenti possano connettersi nello stesso momento.

Per modificare tale opzione è necessario: ”Click con tasto destro su un account -> Impostazioni account -> Impostazioni server -> Avanzate -> IMAP -> Numero massimo di connessioni al server da tenere in cache” e impostarlo a 1.

Guide

Cicli in C# .NET

Nei linguaggi di programmazione, il ciclo è una struttura di controllo iterativa che determina l’esecuzione di una porzione di programma ripetuta per un certo numero di volte o fino al verificarsi di una determinata condizione.

Ad esempio, se volessimo sommare ad una variabile tutti i numeri da 1 a 10, con le conoscenze apprese fino ad ora potremmo solamente utilizzare la seguente scrittura:

int answer;
answer = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;

Ma ciò che abbiamo appena scritto andrebbe bene solamente se avessimo un numero limitato di numeri.

Nel caso in cui i numeri da sommare andassero da 1 a 100 siamo costretti ad utilizzare un differente metodo di scrittura che fa riferimento ai cicli.

Ciclo For

In C# abbiamo fondamentalmente 3 tipi di cicli: il ciclo do… while; il cliclo while….; e per finire il ciclo For.

In questa prima lezione utilizzeremo proprio quest’ ultimo ciclo per sommare ad una singola variabile tutti i numeri da 1 a 100.

Create quindi un nuovo progetto facendo click su File> Nuovo progetto, Aggiungete al form un bottone, dopodiché entrate nella schermata relativa la suo codice.

menu_InsertSnippet

Per inserire velocemente un ciclo fate click destro in qualsiasi punto tra le parentesi graffe del codice del pulsante.

Dal menu che appare, fate clic su Inserisci frammento di codice:

Quando si clicca su Inserisci frammento di codice, viene visualizzato un elenco di elementi

menu_InsertSnippet2

Dopo aver cliccato su For verrà inserito in automatico il relativo segmento di codice.

Snippet_Code_For

Sembra tutto un po ‘complicato, quindi andremo ad esaminare ogni singola componente del ciclo:

For ()
{

}

Si inizia quindi con la parola For seguita da due parentesi tonde, seguite poi dalle parentesi graffe nelle quali verrà inserito il codice del ciclo.

Esaminando il codice predefinito inserito da VisualStudio potrete facilmente intuire che il codice fra parentesi è diviso in 3 sezioni per mezzo di altrettanti simboli [ ; ].

loopStep1

La prima sezione del ciclo For viene solitamente utilizzata per dichiarare ed inizializzare le variabili di controllo.

Nel relativo caso stiamo dichiarando la variabile intera i, alla quale viene assegnato il valore 0.

La variabile i può essere comunque dichiarata a fuori dal ciclo:

int i

for(i = 0; {

}

loopStep2

A seguito va solitamente inserita la condizione di fine ciclo: nel nostro caso il ciclo dovrà terminare quando la variabile di controllo i, raggiungerà il valore 101.

La terza ed ultima porzione del codice fra parentesi viene utilizzate per aggiornare la variabile di controllo. In questo caso la dicitura:

variable_name + +

rappresenta un modo semplice per scrivere:

variable_name variable_name + 1 =

Quindi, per ricapitolare, è necessario impostare un valore iniziale, quante volte è necessario ripetere il codice fra graffe, e come va aggiornata la variabile di controllo.

for (Start_Value; End_Value; Update_Expression)

Ora, per realizzare il nostro programma copiate ed incollate il segmento di codice riportato a seguito

Code_ForLoop

Per comprendere più facilmente cosa accade ad ogni esecuzione del ciclo analizziamo i primi passi di esecuzione del programma.

1^ esecuzione

First time round the loop

2^ esecuzione

Second time round the loop

3^ esecuzione

Third time round the loop

e per finire 4^ esecuzione

Fourth time round the loop

Come si può facilmente intuire il ciclo verrà eseguito finche i non raggiungerà il valore 101, quindi al termine del ciclo la variabile answer conterrà il risultato della somma dei primi 101 numeri.

Guide

Soluzione a 554 Message Not Allowed – Headers are not RFC Compliant

Spedisci mail dal tuo server e Yahoo ti causa problemi in ricezione? La casella di posta del mittente non riceve i messaggi inviati dal tuo sito web o script in php? Ecco come ho risolto il problema “554 Message not allowed – Headers are not RFC compliant” riportato in tutti i log dei messaggi inviati a caselle di posta Yahoo.it!

Come chiaramente riporta l’errore, risulta subito evidente che il problema è legato alla funzione in PHP che viene utilizzato per l’invio dei messaggi. In particolare l’attenzione deve essere concentrata sulle informazioni inviate negli Headers, bisogna sapere che alcuni di essi vengono impostati in modo del tutto automatico dalla funzione mail() di php e quindi, una dichiarazione duplicata di tali headers, fa nascere il problema! Probabilmente Yahoo e altri gestori di posta elettronica utilizzano dei sistemi di controllo secondo i quali questo messaggio con headers sballati era considerato frode, spam o semplicemente non conforme e veniva rimbalzato!

La porzione di codice che ho dovuto analizzare era la seguente, come potete vedere sono evidenziate due righe che rappresentano la causa del male! Erroneamente è stato impostato, nella stringa degli headers, sia il “From” che “Subject” ma la funzione mail() di php esegue in automatico tale operazione. Questo rende obbligatoria la modifica di questa porzione di codice, eliminando le righe interessate in modo opportuno!

$subject = “Comunicazione periodica”;
$header = “From: <$email_from>\r\n”; //<—— PROBLEMA 1
$header .= “Subject: “.$subject.”\r\n”; //<—— PROBLEMA 2
$currDate=date(“D, d M y H:i:s O”);//DATE_RFC822
$header .= “Date: “.$currDate.”\r\n”;
$header .= “MIME-Version: 1.0\r\n”;
$header .= “Content-Type: text/html; charset=\”iso-8859-1\”\r\n”;
$header .= “Content-Transfer-Encoding: 7bit\r\n”;

$subject = “Comunicazione periodica”;
$header = “From: <$email_from>\r\n”; //<—— PROBLEMA 1
$header .= “Subject: “.$subject.”\r\n”; //<—— PROBLEMA 2
$currDate=date(“D, d M y H:i:s O”);//DATE_RFC822
$header .= “Date: “.$currDate.”\r\n”;
$header .= “MIME-Version: 1.0\r\n”;
$header .= “Content-Type: text/html; charset=\”iso-8859-1\”\r\n”;
$header .= “Content-Transfer-Encoding: 7bit\r\n”;

Dopo la modifica
$subject = “Comunicazione periodica”;
$currDate=date(“D, d M y H:i:s O”); //DATE_RFC822
$header .= “Date: “.$currDate.”\r\n”;
$header .= “MIME-Version: 1.0\r\n”;
$header .= “Content-Type: text/html; charset=\”iso-8859-1\”\r\n”;
$header .= “Content-Transfer-Encoding: 7bit\r\n”;

$subject = “Comunicazione periodica”;
$currDate=date(“D, d M y H:i:s O”); //DATE_RFC822
$header .= “Date: “.$currDate.”\r\n”;
$header .= “MIME-Version: 1.0\r\n”;
$header .= “Content-Type: text/html; charset=\”iso-8859-1\”\r\n”;
$header .= “Content-Transfer-Encoding: 7bit\r\n”;

La modifica, nel mio caso e fino ad ora ha sortito un effetto positivo consentendo la ricezione di messaggi su caselle Yahoo. Sicuramente in futuro bisognerà adattare il server/codice ad ulteriori misure di sicurezza che verranno adottate dai gestori, ma fino ad allora non avrete problemi.