PHP : ripassino sui cicli

# ex_array8.php
$ragazzi = array ("Peter James" => “Blu”,”Paul Jones” => “Viola”, “David Lions” => “Marrone”,”Matthew Sims” => “Blu”);

$ragazze = array (”Louise Sol” => “Verde”, “Pauline Neave” => “Marrone”, “Christine Todd” => “Viola”);

$tutti_membri=array_merge ($ragazzi,$ragazze);

while (list($chiave, $valore) = each ($tutti_membri)) {
echo “$chiave : $valore
“;
}
?>
____________________________






# script5.php
$reggina= array ("Francesco Cozza","David Di Michele","Emiliano Bonazzoli","Mozard","Baiocco","Tedesco","Franceschini");
if (sizeof($reggina) <= "1")
{
echo "$PHP_SELF: Errore, nessun array, sto uscendo...";
exit;
}
foreach ($reggina as $valore) {
echo "“;
}
?>
Giocatori
$valore




____________________________

// Definisco l'array con i giorni
$Giorni = array('Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì','Sabato','Domenica');
// Conto il numero di elementi nell'array
$CountGiorni = count($Giorni);
// Effettuo un ciclo a partire da 0 sino al numero di elementi dell'array
for($Count=0; $Count< $CountGiorni; $Count++) { // Stampo a video il contenuto dell'array in base al numero dell'indice
echo $Giorni[$Count]; } ?>
____________________________

$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" );foreach ( $directors as $director ) { echo $director . "
“;}
?>
__________________________________________

$elenco_nomi= array ("giorgio","nicola","filippo","peppe", "rocco","roberto","pasquale","marco");
$lungh_array= count($elenco_nomi);
echo "La lunghezza dell'array è: $lungh_array
“;
echo “I contenuti sono…
“;
for ($contatore=0; $contatore < $lungh_array; $contatore++) {
echo "$elenco_nomi[$contatore]
“;
}
?>
____________________________

$giocatori = array ("giorgio" => “centrocampista”, “nicola” => “attaccante”);
while (list($chiave,$valore) = each($giocatori)){
echo “$chiave : $valore
“;
}
?>
____________________________

$elenco_nomi [0] = "giorgio";
$elenco_nomi [1] = "nicola";
$elenco_nomi [2] = "filippo";
$elenco_nomi [3] = "peppe";
$elenco_nomi [4] = "rocco";
$elenco_nomi [5] = "roberto";
$elenco_nomi [6] = "pasquale";
$elenco_nomi [7] = "marco";

while(list (, $valore) = each ($elenco_nomi)){
echo "Valore : $valore

“;
}

foreach ($elenco_nomi as $valore) {
echo “Valore : $valore
“;
}

?>

Jul 27th, 2011 | Filed under Uncategorized
Tags:

Recuperare i contenuti persi di iTunes

Lavorando spesso con il computer, capita di commettere degli errori involontari, come, per esempio, eliminare file o cartelle. Oggi, vogliamo aiutare tutti coloro che hanno eliminato per sbaglio la cartella iTunes, nella quale erano salvati tutti i brani e le applicazioni acquistati e scaricati. In questo caso, un metodo molto efficace per recuperare i propri dati, è quello di importare i contenuti dell’iPhone su iTunes, ripristinando le librerie multimediali sul PC.Per prima cosa, devi autorizzare il tuo computer a ricevere i dati aprendo iTunes e andando su “Store/Autorizza questo computer”. Successivamente, devi collegare l’iPhone al PC e, quando lo vedrai comparire sotto la voce “Dispositivi”, clicca col tasto destro del mouse sulla sua icona e seleziona la voce “Trasferisci acquisti”. Questa funzione ti consentirà di copiare correttamente all’interno del tuo computer tutti i contenuti dell’iPhone, che saranno così nuovamente visibili in iTunes.
Jun 24th, 2011 | Filed under Uncategorized
Tags:

php if ..else

elefantinophp

<html>
<head>
<title>quanti giorni ci sono nel mese?</title>
</head>
<body>
<?php
$month = date(”n”);
if ($ $month==1) echo “31″;
if ($ $month==2) echo “28 (anno bisestile)”;
if ($ $month==3) echo “31″;
if ($ $month==4) echo “30″;
if ($ $month==5) echo “31″;
if ($ $month==6) echo “30″;
if ($ $month==7) echo “31″;
if ($ $month==8) echo “31″;
if ($ $month==9) echo “30″;
if ($ $month==10) echo “31″;
if ($ $month==11) echo “30″;
if ($ $month==12) echo “31″;
?>
</body>
</html>

lo script ricava il valor3e dalla variabile $month prendendo in considrazione una delle numerose funzioni prdefinite di php, date(”n”) che restituisce un valore numerico che corrisponde al mese imputato dal server, per esempio 1 gennaio, 2 febbraio etc etc…se la prima istruzione if è falsa il programma passa alla riga successiva finchè trova la condizione TRUE, l’utilizzo combinato di if e else può dare profiqui risultati come si evince da questo esempio:

<html>
<head>
<title>Is it a leap year?</title>
</head>
<body>
<?php
$leapyear = date(”L”);
if ($leapyear == 1) echo “Hooray! It’s a leap year!”;
else echo “Aww, sorry, mate. No leap year this year.”;
?>
</body>
</html>

se l’anno corrente non è bisestile la variabile $leapyear assume valore zero, con if la condizione diventa falsa per cui ci si imbatte nell’ IF che notifica la cosa. Le istruzioni if ed else sono molto utili nel controllo del flusso. Posso visualizzare messaggi diversi a seconda dell’ età dell’ utente, posso mostrare qualcosa il martedì oppure il giovedì.

Aug 22nd, 2010 | Filed under Uncategorized
Tags:

Un buon libro per imparare php?

php_peresempi

un buon libro per imparare php con righe di codice commentate passo passo è quello trovato here:

http://www.risorse.net/libri/33.asp:

Julie Meloni, autore di “Php per esempi” è direttore tecnico di i2i interactive, una società che opera nel campo multimediale con sede a Campbell (California). Julie sviluppa applicazioni web sin dagli albori del world wide web e come scritto sul libro, ricorda l’entusiasmo che accolse il primo browser ad interfaccia grafica.
La caratteristica principale del testo, è senza ombra di dubbio l’approccio orientato alla applicazioni, differenziandosi dai volumi con corpose pagine di guide teoriche, che possono risultare noiose e di difficile apprendimento. In effetti dopo poche righe di introduzione si passa ad un esaustivo tutorial per installare MySQL, Apache e Php, sia in ambiente Windows, che in ambiente Linux. Ti ricordiamo che trovi anche su Risorse.net, la guida per l’installazione e configurazione del database MySQL e del linguaggio Php sui sistemi operativi Linux e Windows, lo puoi trovare su www.risorse.net/php Scopriamo insieme il sommario, per valutare la bontà dei contenuti:

“Php per esempi” è strutturato in 6 Paragrafi, suddivisi in 22 Capitolo totali:
CONFIGURAZIONE DEL SISTEMA

Questo paragrafo ha quattro Capitoli che trattano l’installazione di MySql, Apache e Php4 su sistemi operativi Windows e Linux. Con MySQL sarai in grado di installarlo, verificane la corretta configurazione, avviarlo, creare database e tabelle. Con Apache avvierai in pochi minuti il servizio e sarai pronto a configuralo al meglio per l’esecuzione di pagine dinamiche in Php vers. 4.
IL PHP: NOZIONI FONDAMENTALI

Tre Capitoli studiati per spiegare cos’è e come funziona il linguaggio Php, la sua coabitazione con l’Html, la visualizzazione dei caratteri speciali, le variabili e gli operatori ecc.
I PRIMI PASSI

In questi Capitoli si vedrà come diversificare l’output a seconda del browser e della piattaforma dell’utente, manipolare le stringhe immesse dall’utente nei moduli Html tramite alcuni funzioni del Php e creare un menu di redirezione gestito da un modulo Html e dalla funzione header. Inoltre si discuterà di come creare e inviare via e-mail un semplice modulo di feedback e diversificare i messaggi di errore dal modulo tramite $Php_self. Si tratterà altresì della gestione dei files, con le funzioni fopen() e fclose(), della manutenzione delle directory e dell’upload dei file sul sito Web.
L’INTERAZIONE CON I DATABASE

Quattro interessanti Capitoli per analizzare la connessione a MySQL tramite Php e la creazione di un nuovo database. Capirai come strutturare i campi nelle tabelle, l’inserimento dei dati e la loro visualizzazione.
IL RICONOSCIMENTO E IL TRACCIAMENTO DEGLI UTENTI

Tre Capitoli che descrive e commenta i codici per l’autenticazione degli utenti, con la creazione della tabella ad hoc, il modulo di login e la prove del funzionamento dello script. Non poteva mancare la spiegazione dei cookie e delle sessioni, con la conseguente modifica del file Php.ini.
UNA RUBRICA ELETTRONICA ON-LINE

L’ultimo paragrafo, composto da 5 Capitoli, studierai come progettare e realizzare una rubrica elettronica on line, creando la tabella necessaria, definendo le voci del menu e decidendone l’interfaccia di amministrazione. Un bel esercizio per apprendere al meglio le potenzialità di Php

Il CD allegato al testo contiene il codice e gli esempi presentati nel corso del volume oltre a diversi programmi in versione freeware e shareware per Linux e Windows.

Aug 6th, 2010 | Filed under Uncategorized
Tags:

progetto aforismi

aforismi

menù generale di amministrazione - estrazione delle query:
http://www.farwebdesign.com/phpperesempi/mio_menu.html

inserimento di un record nel progetto aforisma: http://www.farwebdesign.com/phpperesempi/mostra_aggiungi_record.html

per creare le tabelle da remoto:
http://www.farwebdesign.com/phpperesempi/mostra_creatabella.html

Jul 27th, 2010 | Filed under Uncategorized
Tags:

Striscia di comando esegui

esegui

Jan 24th, 2010 | Filed under Uncategorized
Tags:

Javascript un ripassino sulle basi

Un programma Javascript è costituito da una sequenza di istuzioni, che possono includere dichiarazioni di variabili, chiamate a funzioni e metodi, istruzioni di controllo del flusso e altre, solitamente su ciascuna riga viene indicata una sola istruzione, che termina con un punto e virgola. Questo aspetto è molto simile a quello del linguaggio di programmazione C o Java anche se lo scripting è meno rigoroso in quanto in realtà il punto e virgola è opzionale, per indicare la fine di una istruzione, è sufficiente inserire un ritorno a capo, ecco un esempio di script equivalenti:

function avvisa() {

alert (“avviso1”);

alert(“avviso2”);

}

 

function avvisa() {

alert (“avviso1”)

alert(“avviso2”);

}

 

Se c’è un punto e virgola come delimitatore di istruzione è possibile inserirne diverse sulla stessa riga anche se questa pratica è sconsigliata in quanto rende difficile la lettura del codice:

function avvisa() {

alert (“avviso1”); alert(“avviso2”);

}

 

Javascript ha la caratteristica di ignorare qualsiasi spazio bianco al di fuori delle costanti stringa, questo vuol dire che si potrebbe realizzare un programma posizionando le istruzioni un po’ dovunque, senza che questo produca un errore in fase di esecuzione del codice. In realtà sarebbe meglio sfruttare questa caratteristica per scrivere codice chiaro e leggibile

Javascript è case sensitive, le parole chiave sono scritte rigorosamente in minuscolo, STAMPA e stampa sono due espressioni che ad esempio un linguaggio come Visual Basic può metabolizzare ma Javascript è attento alle differenze!

I commenti sono elementi descrittivi presenti nel codice che non vengono considerati dall’ interprete del linguaggio, è un elemento importante in un programma perché consente la descrizione delle funzionalità. Servono anche a escludere momentaneamente blocchi di codice e si esprimono su riga singola:

// commento

O su più righe:

/*

Commento

*/

O anche:

/********

*

*

********/

Le variabili in Javascript non sono fortemente tipizzate: il tipo di dato in esso contenuto dipende dal valore che gli viene assegnato durante l’esecuzione e può variare nel corso dell’ esecuzione del programma. Una variabile ha un nome chiamato identificatore, questo permette di riferirsi alla variabile nel corso del codice. Un identificatore deve rispettare una serie di convenzioni:

un identificatore javascript può contenere lettere maiuscole e minuscole, cifre e il carattere di sottolineato (underscore). Non può però iniziare con una cifra. Non può contenere parole riservate, utilizzate dall’ interprete per identificare la sintassi del codice. Javascript distingue tra lettere maiuscole o minuscole regola che si applica quindi anche agli identificatori.

 jsnozioni

In genere la scrittura corretta prevede di utilizzare tutte le lettere in minuscolo e in caso di costanti invece maiuscole, in caso di espressioni combinate come importo massimo è corretto esprimerle con la dicitura di importo_massimo o importo Massimo

Solitamente prima di utilizzare una variabile la si dichiara, si indica cioè nel programma quale tipo di identificatore andremo a utilizzare nel programma. Per dichiarare una variabile si utilizza la parola chiave var:

var importo;

var importoNetto;

var importo_Netto;

per dichiarare più variabili con una stessa istruzione var è possibile specificarle in un elenco separate da virgole, anche se spesso per chiarezza si preferisce utilizzare unas sola variabile per singola riga:

var importo Netto, importo Lordo, ritenute

esiste anche una dichiarazione implicita quando non si esplicita la dichiarazione della variabile con la parola chiave var.

Dec 24th, 2009 | Filed under Uncategorized
Tags:

JAVASCRIPT PARTE V: OOP ED EVENTI

Più una applicazione Java Script diventa avanzata e maggiore è la necessità di strutturare il codice. Un modo per farlo è utilizzando OOP, la programmazione orientata agli oggetti. JavaScript in se stesso non è un linguaggio orientato agli oggetti. Quindi c’è un supporto per OOP, sebbene esso sia in qualche modo limitato. Questa sezione affronterà anche la spinosa questione della gestione generale degli eventi in JavaScript, soffermandosi sugli eventi speciali del mouse e della tastiera

CREARE UNA CLASSE

Function UniversalClass() {}

Vediamo tutto lo script completo:

<script language=”JavaScript” type=”text/javascript”>

/* CREARE UNA CLASSE

in java script non ci sono parole chiave atte a distinguere le classi. Invece ciascuna classe è definita come una funzione; la differenza tra una funzione normale e questo tipo di funzione è il modo in cui quest’ ultima viene richiamata: con la parola chiave new. Il seguente listato implementa una semplice classe, nel momento in cui viene istanziata, una finestra di avviso window.alert

*/

function UniversalClass() {

  window.alert(“Welcome to my class!”);

}

 

var uc = new UniversalClass();

</script>

 creare_una_classe

ACCEDERE AI MEMBRI DI UNA CLASSE

This.Count = count;

Quando si lavora con i membri di una classe, l’aspetto più importante è definirne esplicitamente tutti i membri. Per consentire al codice esterno di accedere ai membri di una classe (proprietà e metodi), si deve utilizzare la parola chiave this. Così se definite una funzione XYZ () all’ interno della classe, essa è disponibile come un metodo della classe solo se aggiungete questo cidce:

this.XYZ = XYZ;

All’ interno di questo metodo, potete anche accedere alle proprietà della classe utilizzando this; tuttavia, anche queste vanno definite. Per puntare ai membri di una classe, per separare il nome dell’ istanza e il nome del membro si usa il punto (.). Il codice che segue implementa una semplcie classe. L’unico metodo della classe, Count() prende un parametro e poi conta nel linguaggio prestabilito:

<script language=”JavaScript” type=”text/javascript”>

function UniversalCounter() {

  this.copyright = “(C) 2006 JavaScript Phrasebook”;

  this.Count = count;

  var numbers = {

    “en”: “one, two, three”,

    “fr”: “un, deux, trois”,

    “de”: “eins, zwei, drei”

  };

  function count(language) {

    if (numbers[language]) {

      window.alert(numbers[language]);

    } else {

      window.alert(“Unknown language”);

    }

  }

}

 

var uc = new UniversalCounter();

uc.Count(“fr”);

</script>

 

 NOTA = un altro modo di creare oggetti è utilizzare il costruttore di oggetti nel modo seguente:

 

var uc = new Object();

uc.copyright =”bla bla bla”;

uc.printCopyright = function() {

window.alert(this.copyright);

}

 

 

EMULARE MEMBRI PRIVATI DI UNA CLASSE

JavaScript non ha modificatori della classe, di tipo pubblico, protetto, privato che definiscono chi può e chi non può accedere ai membri della classe. Tuttavia come si evince dall’ esempio precedente, c’è un modo semplice per emulare un mebro privato di una classe: se non “registrate” una variabile o una funzione all’ interno della classe, utilizzando la parola chiave this, questa è visibile solo internamente. Nel listato precedente non si può accedere a listato numbers da fuori, quindi esso verrà utilizzato solo internamente dal metodo Count()

 

EREDITARE LE CLASSI

UniversalCounter.prototype = new UniversalTranslator();

JavaScript non si può avvalere di un sistema di ereditarietà per le classi. Tuttavia per mezzo della parola chiave prototype, si pulò ancora una volta emulare qualcosa di simile. Con prototype potete fornire membri di una classe che sono validi per tutti gli oggetti, compresi quelli ereditati. Quando JavaScript deve cercare una proprietà o un metodo (per esempio quando sarà eseguito object.methodname()), prima cerca nella classe e poi nell’ oggetto prototype. Ciò consente un qualche tipo di ereditarietà. Nell’ esempio seguente, la classe UniversalTranslator definisce un membro (copyright). Poi la classe UniversalCounter() viene implementata in modo similea prima. Il comando seguente imposta la proprietà prototype della classe UniversalCounter a una nuova istanza della classe UniversalTransltaor. Di conseguenza, la classe UniversalCounter eredita tutte le proprietà di UniversalTranslator e può accedervi:

<script language=”JavaScript” type=”text/javascript”>

function UniversalTranslator() {

  this.copyright = “(C) 2006 JavaScript Phrasebook”;

}

 

function UniversalCounter() { 

  this.Count = count;

 

  var numbers = {

    “en”: “one, two, three”,

    “fr”: “un, deux, trois”,

    “de”: “eins, zwei, drei”

  };

  function count(language) {

    if (numbers[language]) {

      window.alert(numbers[language] +

        ” [" + this.copyright + "]“);

    } else {

      window.alert(“Unknown language”);

    }

  }

}

UniversalCounter.prototype = new UniversalTranslator();

 

var uc = new UniversalCounter();

uc.Count(“de”);

</script>

 

La fig mostra che questo approccio funziona efficacemente: si può accedere alla proprietà copyright dalla classe UniversalCounter, sebbene essa sia stata definita nella classe UniversalTranslator. Da notare che solo i membri della classe sono ereditati, ma non il codice costruttore della classe. Se volete fare anche questo dovete definire un metodo specifico che sia costruttore di classe e chiamarlo manualmente nella classe derivata

ESTENDERE OGGETTI JAVASCRIPT INCORPORATI

Date.prototype.isLeapYear = isLeapYear;

la proprietà prototype può anche essere usata per estendere le classi JavaScript incorporate. Nel codice seguente, viene implementata una funzione, isLeapYear(), che determina se il valore restituito da getFullYear() è un anno bisestile. Si noti che il metodogetFullYear() non viene implementato usando la proprietà prototype, tuttavia, isLeapyear() diviene un metodo dell’ oggetto Date e quindi anch’ esso ha accesso a Date.getFullYear().

 

<script language=”JavaScript” type=”text/javascript”>

function isLeapYear() {

  var y = this.getFullYear();

  return (y % 4 == 0 && (y % 100 != 0 || y % 400 == 0));

}

Date.prototype.isLeapYear = isLeapYear;

 

var d = new Date();

window.alert(d.isLeapYear());

</script>

Anche il Framework AJAX di Microsoft Atlas (http://atlas.asp.net/) implementa parecchie nuove estensioni OOP di JavaScript, rendendo alcune tecniche standard OOP più semplici da implementare. Tra queste caratteristiche menzioniamo:

·         namespaces

·         ereditarietà e accesso ai metodi di base

·         classi e metodi astratti

·         interfacce

In particolare con il lancio pubblicitario di Ajax vengono rilasciate sempre più librerie che arricchiscono il supporto OOP di JavaScript. Un’altra buona opzione per JavaScript OOP è prototype.js (http://prototype.conio.net )

RISPONDERE A EVENTI JAVASCRIPT

Button.addEventListener(“click”, eventhandler, false);

Button.attachEvent(“onclick”, eventHandler);

Si può rispondere a eventi JavaScript in vari modi:

utilizzando un attributo HTML: <body on load=”xyz()”;>

utilizzando l’attributo JavaScript onXXX: window.onload =xyz;

Tuttavia ci sono diversi meccanismi di evento nei vari browser. IE supporta l’aggiunta degli eventi a un elemento utilizzando il metodo attachEvent(). Il nome dell’ evento qui è uguale all’ attributo HTML, così si utilizza “onload”, per esempio (sebbene l’evento stesso sia chiamato “load”).

Tutti gli altri browser principali supportano il metodo addEventListener(), una parte del modello del W3C. Qui fornite il nome dell’ evento, dunque solo load  invece di “unload”.

L’esempio seguente mostra come aggiungere un evento in modo cross-browser:

<script language=”JavaScript” type=”text/javascript”>

function eventHandler() {

  window.alert(“Event fired!”);

}

 

window.onload = function() {

  var button = document.getElementById(“eventButton”);

  if (button.addEventListener) {

    button.addEventListener(“click”, eventHandler, false);

  } else if (button.attachEvent) {

    button.attachEvent(“onclick”, eventHandler);

  }

};

</script>

<input type=”button” id=”eventButton” value=”Click me!” />

 

Potete anche rimuovere I gestori di evento. IE usa datachEvent(), mentre gli altri browser seguono il W3C e chiamano la loro funzione removeEventListener().

 

COMPRENDERE LA FASE DI BUBBLING

Quando si tratta di gestione degli eventi, i browser moderni supportano due diversi concetti. IE funziona con la cosiddetta fase di bubbling, un evento dapprima è attivato nel punto esatto in cui si trova e poi risale la struttura DOM. Quindi è possibile catturare o rispondere a questo evento in vari punti. Per esempio immaginate il seguente codice:

<div><p><em>JavaScript</em>book</p></div>

Se il mouse si posiziona sul testo JavaScript, l’evento mouseover è attivato prima dell’ elemento <em> e poi risale gli elementi <p> e <div>. Il modello concorrente è quello del W3C che è supportato da Mozilla Opera Safari Conqueror. Qui dapprima gli eventi scendono verso l’elemento target e poi risalgono. Dunque nell’ esempio precedente l’evento “visita” gli elementi <div><p><em> e poi risale nuovamente attraverso gli elementi <p> e <div>. Quando si aggiunge un listener, potete specificare nel terzo parametro di addEventListener() se l’elemento sarà intercettato durante la discesa (true) o la risalita (false). Dopo che un evento è stato intercettato, è anche possibile bloccarne la discesa o la risalita. In IE la proprietà dell’ evento cancelBubble a false:

window.event.cancelBubble = false;

il modello W3C supporta il metodo stopPropagation():e.stopPropagation();

Come potete vedere in IE l’evento corrente è sempre disponibile tramite windowv.event, mentre gli altri browser ricevono automaticamente l’evento come parametro (qui chiamato e) del listener

UTILIZZARE GLI EVENTI DELLA TASTIERA

Document.onkeydown = show Key;

Gli eventi della tastiera non fanno parte del DOM Level 1 o Level 2, ma sono tuttora implementati da moderni browser. Accedere agli eventi differisce dall’ approccio usuale (window.alert in IE; evento come parametro automatico per le alternative). Ma poi la proprietà keyCode restituisce il codice ASCII del tasto, che può essere processato come nel codice seguente:

<script language=”JavaScript” type=”text/javascript”>

function showKey(e) {

  var key;

  if (window.event) {

    key = window.event.keyCode;

  } else {

    key = e.keyCode;

  }

  key = String.fromCharCode(key);

  document.getElementById(“para”).innerHTML += key;

}

 

window.onload = function() {

  document.onkeydown = showKey;

}

</script>

<p id=”para”>Click and type here: </p>

 

In questo caso JavaScript prende in considerazione quale tasto viene premuto ma non se è minuscolo o maiuscolo. Tuttavia potete anche determinare se sono stati premuti dei tasti speciali, controllando le proprietà altKey, crtlKey e shiftKey.

 

INVIARE UN MODULO CON IL TASTO INVIO

If (Key == 13 {

Document.forms[0].submit();

}

In funzione del tipo di browser e della sua configurazione, premere il tasto Invio mentre ci si trova dentro un campo di un modulo non sempre comporta l’invio del modulo. A volte per esempio il pulsante si trova in un altro frame. In questo caso risulta poco pratico ricorrere a JavaScript per assicurarsi che il tasto Invio funzioni correttamente. Tutto il necessario per implementare tale funzionalità è il listener standard per i tasti, tratto dall’ esempio precedente. Il codice di tastiera per il tasto Invio è 13, quindi quando questo codice viene trovato, il modulo è inviato:

<script language=”JavaScript” type=”text/javascript”>

function checkKey(e) {

  var key;

  if (window.event) {

    key = window.event.keyCode;

  } else {

    key = e.keyCode;

  }

  if (key == 13) {

    document.forms[0].submit();

  }

}

window.onload = function() {

  document.forms[0].elements["field"].onkeydown = checkKey;

}

</script>

<form>

<input name=”field” type=”text” />

</form>

 

UTILIZZARE GLI EVENTI DEL MOUSE

document.onmouseover = ShowPosition;

Quando si utilizza il mouse, c’è un evento abbastanza interessante da rilevare (a parte il click):mousemove. La posizione del mouse può essere determinata usando alcune proprietà. Naturalmente queste proprietà dipendono dai browser al quale appartiene il client. IE o il resto del mondo:

·         clientX e clientY  per IE

·         pageX e pageY  per tutti gli altri browser

<script language=”JavaScript” type=”text/javascript”>

function showPosition(e) {

  var x, y;

  if (window.event) {

    x = window.event.clientX;

    y = window.event.clientY;

  } else {

    x = e.pageX;

    y = e.pageY;

  }

  window.status = “x: “ + x + “, y: “ + y;

}

window.onload = function() {

  document.onmousemove = showPosition;

}

</script>

 

dom_pulsanti

Jul 12th, 2009 | Filed under Uncategorized
Tags:

COMPRENDERE IL DOM – JAVASCRIPT PARTE IV

DOM sta per modello ad oggetti del documento, è un termine che si descrive da solo: fornisce un modello ad oggetti  relativo a un documento HTML. Il DOM Inspector integrato in Mozilla mostra le parti coinvolte  ei nodi di terminazione in una gerarchia ad albero. Naturalmente l’ API del DOM non supporta solo i metodi per accedere agli elementi nell’ albero del DOM ma anche per aggiungere e rimuovere elementi. Rimane un quesito: è meglio utilizzare un oggetto del DOM oppure qualche tradizionale oggetto JavaScript come form o images? Naturalmente il DOM è molto più flessibile, ma talvolta può anche essere molto più complicato.

ACCEDERE A SPECIFICI ELEMENTI

Document.getElementById(“para”)

Quando lavorate con il DOM il modo ideale per accedere successivamente a un elemento della paginas è attribuirgli un identificatore univoco o ID. Successivamente il metodo DOM document.getElementById() accede a quel dato elemento e vi consente di partire da quel punto: modificare l’elemento, aggiungere sottoelementi, o altrimenti navigare nell’ albero DOM. Nell’ esempio seguente ai accede all’ elemento P. In funzione del browser la stringa che rappresenta la chiave dell’ elemento è differente. Mentre Internet Explorer restituisce semplicemente  object i browser Mozilla sono più verbosi: object HTMLParagraphElement:

<script language=”JavaScript” type=”text/javascript”>

window.onload = function() {

  window.alert(document.getElementById(”para”));

}

</script>

<p id=”para”>JavaScript Phrasebook</p>

 

ACCEDERE AI MARCATORI

Document.getElementByTagName(“p”)

Un modo alternativo per  accedere agli elementi della pagina corrente è  attraverso i nomi dei marcatori. Si può usare il metodo document.getElementsByTagName() una volta fornito il nome del marcatore otterrò un array di tutti i marcatori che posso processare per successivi utilizzi:

 

<script language=”JavaScript” type=”text/javascript”>

window.onload = function() {

  window.alert(

    document.getElementsByTagName(”p”) +

    ” (” + document.getElementsByTagName(”p”).length + ” elements)”);

}

</script>

<p>JavaScript Phrasebook</p>

<p>Sams Publishing</p>

[Il risultato di questo codice è object HTMLCollection] 2 elements. Internet Explorer nuovamente restituisce meno informazioni, mostrando [object] (2 elements)

 

NAVIGARE L’ALBERO DOM

Una volta che siete all’ interno del DOM potete navigarne la struttura, andando in alto e in basso a sinistra e a destra. Ecco una lista delle più importanti proprietà che possiede ogni nodo DOM

firstChild: nodo primo figlio

lastChild:nodo ultimo figlio

childNodes: tutti i nodi figli come array

parentNode: nodo genitore

nextSibling: sono successivo sullo stesso livello (alla destra)

prevoiousSibling:nodo precedente sullo stesso livello (“alla sinistra”)

Inoltre nodeName restituisce il nome del marcatore del nodo (o #text per i nodi di testo), invece nodeValue restituisce il valore di un nodo (utile con un nodo di testo)

 

DETERMINARE LE INFORMAZIONI SUL NODO

Il codice che segue analizza una semplice struttura DOM e restituisce le informazioni riguardanti tutti i nodi figli. Verranno messi diversi tipi di nodo contrassegnati da un numero identificativo: 1 sta per marcatore/ 2 attributo/3  testo/8  commento HTML/9 Documento/10 DTD/11 Frammento

<script language=”JavaScript” type=”text/javascript”>

window.onload = function() {

  var s = “”;

  with (document.getElementById(”para”)) {

    for (var i=0; i<childNodes.length; i++) {

      with (childNodes[i]) {

        s += nodeName + “: ” + nodeValue + ” (” + nodeType + “)\n”;

      }

    }

  }

  window.alert(s);

}

</script>

<p id=”para”><em>JavaScript</em> Phrasebook</p>

 

<script language=”JavaScript” type=”text/javascript”>

function removeItem() {

  var list = document.getElementById(”list”);

  if (list.childNodes.length > 0) {

    list.removeChild(list.lastChild);

  }

}

</script>

<ol id=”list”><li>Item</li><li>Item</li><li>Item</li><li>Item</li></ol>

<input type=”button” onclick=”removeItem();” value=”Remove item” />

 

RIMUOVERE ELEMENTI

list.removeChild(list.lastChild);

il metodo removeChild() che ogni nodo possiede, può essere utilizzato per rimuovere un nodo dell’ albero DOM. Si noti che dovete chiamare questo metodo dall’ elemento genitore del nodo da eliminare e fornire il nodo come parametro.

<script language=”JavaScript” type=”text/javascript”>

function removeItem() {

  var list = document.getElementById(”list”);

  if (list.childNodes.length > 0) {

    list.removeChild(list.lastChild);

  }

}

</script>

<ol id=”list”><li>Item</li><li>Item</li><li>Item</li><li>Item</li></ol>

<input type=”button” onclick=”removeItem();” value=”Remove item” />

 

Quando avete accesso diretto solo al nodo da eliminare (curNode nel codice che segue) funzionerà anche l’approccio seguente:

curNode.parentNode.removeChild(curNode);

quando chiamate questo codice in una funzione di gestione relativa al nodo stesso, potete sostituire curNode con this

 

AGGIUNGERE ELEMENTI

List.appendChild(newNode);

Si creano nuovi nodi DOM con il metodo document.createElement(). Questo crea un nuovo elemento, utilizzando il nome del marcatore fornito come parametro. Poi  questo elemento può essereinserito nell’ albero DOM. Il metodo (node) utilizzato spesso è appendChild(), che aggiunge un nuovo figlio alla fine dell’ elenco dei figli. Il codice seguente aggiunge una nuova, vuota, voce di elenco (<li>) alla fine dell’ elenco <ul> ogni volta che si fa click sul pulsante:

<script language=”JavaScript” type=”text/javascript”>

function addItem() {

  var list = document.getElementById(”list”);

  var newNode = document.createElement(”li”);

  list.appendChild(newNode);

}

</script>

<ul id=”list”><li>Item</li></ul>

<input type=”button” onclick=”addItem();” value=”Add item” />

 

Lo svantaggio di questo approccio è che il nuovo element viene sempre aggiunto alla fine dell’ elenco dei figli. Per alleviare questo difetto, il metodo insertBefore() consente di inserire un nodo prima di ogni altro nodo (quindi potete inserirlo ovunque, eccetto che alla fine dell’ elenco, avete sempre appendChild() allo scopo). Come parametri fornite prima il nuovo nodo, poi il nuovo fratello. Il codice che segue inserisce un nuovo elemento <li> all’ inizio dell’ elenco ogni volta che si fa clic sul pulsante.

<script language=”JavaScript” type=”text/javascript”>

function addItem() {

  var list = document.getElementById(”list”);

  var newNode = document.createElement(”li”);

  list.insertBefore(newNode, list.firstChild);

}

</script>

<ul id=”list”><li>Item</li></ul>

<input type=”button” onclick=”addItem();” value=”Add item” />

 

CREARE ELEMENTI  DI TESTO

Var newTextNode= document.createTextNode(“Item “ + nr);

Se volete inserire del testo in un elemento, avete bisogno di un nodo di testo che è un sottonodo del nodo di un elemento vero e proprio. Il metodo createTetNode() crea tale nodo di testo, voi fornite solo il testo effettivo.Nel codice seguente aggiungiamo voci di elenco, che tuttavia hanno questa volta del testo. Quinbdi prima create un nodo di testo , poi aggiungete questo nodo di testo a un altro nodo (il quale poi potrebbe essere aggiunto a un altro nodo etc etc)

<script language=”JavaScript” type=”text/javascript”>

var nr = 1;

function addItem() {

  var list = document.getElementById(”list”);

  var newNode = document.createElement(”li”);

  nr++;

  var newTextNode = document.createTextNode(”Item ” + nr);

  newNode.appendChild(newTextNode);

  list.appendChild(newNode);

}

</script>

<ul id=”list”><li>Item 1</li></ul>

<input type=”button” onclick=”addItem();” value=”Add item” />

 

LAVORARE CON GLI ATTRIBUTE

newLink.setAttribute(“href”, http://www.samspublishing.com/);

Finora gli esempi di questo libro hanno trattato sia di i marcatori che i nodi di testo. Mancano solo gli attributi. Potete accedere agli attributi sotto forma di nodi ma il modo più conveniente è utilizzare il metodo setAttribute(); dovete semplicemente fornire il nome dell’ attributo e il suo valore.

<script language=”JavaScript” type=”text/javascript”>

var nr = 1;

function addItem() {

  var list = document.getElementById(”list”);

  var newNode = document.createElement(”li”);

  var newLink = document.createElement(”a”);

  newLink.setAttribute(”href”, “http://www.samspublishing.com/”);

  nr++;

  var newTextNode = document.createTextNode(”Item ” + nr);

  newLink.appendChild(newTextNode);

  newNode.appendChild(newLink);

  list.appendChild(newNode);

}

</script>

<ul id=”list”><li>Item 1</li></ul>

<input type=”button” onclick=”addItem();” value=”Add item” />

 

CLONARE ELEMENTI

clone

Var newItem = oldItem.cloneNode(true);

Invece di creare in continuazione nuovi nodi potete anche clonare un nodo esistente. Il metodo clodeNode(), che ogni nodo possiede, fa questo per voi. Potete decidere se clonare solo il nodo e i suoi attributi, oppure clonare anche tutti i nodi figli (e i figli dei loro figli e così via). Se come parametro di cloneNode() fornite true effettuate una cosiddetta copia profonda, copia anche i figli; false copia invece solo il nodo.

<script language=”JavaScript” type=”text/javascript”>

var nr = 1;

function addItem(cloneMode) {

  var list = document.getElementById(”list”);

  var oldItem = list.firstChild;

  var newItem = oldItem.cloneNode(cloneMode);

  list.appendChild(newItem);

}

</script>

<ul id=”list”><li><a href=”http://www.samspublishing.com/”>Item 1</a></li></ul>

<input type=”button” onclick=”addItem(true);” value=”Clone all” />

<input type=”button” onclick=”addItem(false);” value=”Clone node only” />

 

SOSTITUIRE ELEMENTI

replace2

List.replaceChild(newNode, list.firstChild);

Se rimuovete un nodo e poi ne inserite un altro nello stesso post oil metodo replaceChild() vi farà risparmiare un bel pò di codice. Voi fornite il nuovo e vecchio nodo e Java Script farà il resto per voi. Ricordatevi che dovete chiamare questo metodo dall’ elemento genitore del vecchio e del nuovo nodo!

<script language=”JavaScript” type=”text/javascript”>

var nr = 1;

function addItem() {

  var list = document.getElementById(”list”);

  var newNode = document.createElement(”li”);

  nr++;

  var newTextNode = document.createTextNode(”Item ” + nr);

  newNode.appendChild(newTextNode);

  list.replaceChild(newNode, list.firstChild);

}

</script>

<ul id=”list”><li>Item 1</li></ul>

<input type=”button” onclick=”addItem();” value=”Replace item” />

 

Il codice precedente rimpiazza il primo figlio (nodo) dall’ elenco con un nuovo nodo.

 

CREARE UN ELENCO DI DATI PUNTATI IN JAVA SCRIPT

Var newItem = document.createElement(“li”);

Var newText = document.createTextNode(data[i]);

newItem.appendChild(newText);

list.appendChild(newItem);

 

specie in contesti con Web Service e Ajax spesso riceverete dei dati dal server e dovrete mostrarli in modo dinamico. Un buon approccio è usare un elenco HTML. Il codice seguente fornisce una funzione createList() che aspetta un array con dei valori e li converte in un elenco:

<script language=”JavaScript” type=”text/javascript”>

function createList(data) {

  var list = document.createElement(”ul”);

  for (var i = 0; i < data.length; i++) {

    var newItem = document.createElement(”li”);

    var newText = document.createTextNode(data[i]);

    newItem.appendChild(newText);

    list.appendChild(newItem);

  }

  return list;

}

 

window.onload = function() {

  var list = createList(["one", "two", "three", "four", "five"]);

  document.body.appendChild(list);

}

</script>

Si noti che document.body è u na scorciatoia dell’ elemento <body> (altrimenti potreste utilizzare document.getElementByTagName(“body”)[0]); poi appendChild() aggiunge l’elenco HTML aqlla fine della pagina

 

CREARE UNA TABELLA DI DATI IN JAVA SCRIPT

tabella_dinamica

var td = document.createElement(”td”);

      var newText = document.createTextNode(data[i][j]);

      td.appendChild(newText);

      tr.appendChild(td);

 

una intera tabella è un po’ più complicata di un elenco. Dapprima dovete usare l’elemento tbody (potreste voler utilizzare anche <thead> e o <tfoot>. La funzione di aiuto createTable() si aspetta un array multidimensionale. Ogni elemento dell’ array in se stesso è un elenco di valori da mostrare nella tabella; il primo elemento dell’ array contiene il testo dell’ intestazione di ciascuna colonna. Come potete vedere il codice è più lungo, ma d’altro canto l’approccio di base è il medesimo: creare nodi e nodi di testo e concatenarli gli agli altri nel giusto ordine. Ecco il codice risultante:

<script language=”JavaScript” type=”text/javascript”>

function createTable(data) {

  var table = document.createElement(”table”);

  var thead = document.createElement(”thead”);

  var tr = document.createElement(”tr”);

  for (var i = 0; i < data[0].length; i++) {

    var th = document.createElement(”th”);

    var newText = document.createTextNode(data[0][i]);

    th.appendChild(newText);

    tr.appendChild(th);

  }

  thead.appendChild(tr);

  table.appendChild(thead);

 

  var tbody = document.createElement(”tbody”);

  for (var i = 1; i < data.length; i++) {

    var tr = document.createElement(”tr”);

    for (var j=0; j < data[i].length; j++) {

      var td = document.createElement(”td”);

      var newText = document.createTextNode(data[i][j]);

      td.appendChild(newText);

      tr.appendChild(td);

    }

    tbody.appendChild(tr);

  }

 

  table.appendChild(tbody);

  return table;

}

 

window.onload = function() {

  var table = createTable([

    ["1", "2", "3", "4", "5"],

    ["one", "two", "three", "four", "five"],

    ["un", "deux", "trois", "quatre", "cinq"],

    ["eins", "zwei", "drei", "vier", "fünf"]]);

  document.body.appendChild(table);

}

</script>

 

MODIFICARE FRAMMENTI DI CODICE HTML

list.innerHTML  += newNode;

Modificare nodi di testo (o sostituendoli utilizzando la proprietà nodeValue) modifica solo il testo effettivo, ma non modifica interi frammenti di codice HTML, compresi sottoelementi. Per far questo risulta utile la proprietà innerHTML di tutti gli elementi. Nonostante innerHTML non sia uno standard e non sia parte di nessuna specifica DOM, funziona bene. Con innerHTML, potete cambiare il codice HTML interno di ogni elemento HTMl e anche inserire nuovi sottoelementi. Come mostrato dal listato:

<script language=”JavaScript” type=”text/javascript”>

var nr = 1;

function addItem() {

  var list = document.getElementById(”list”);

  nr++;

  var newNode = “<li>Item ” + nr + “</li>”;

  list.innerHTML += newNode;

}

</script>

<ul id=”list”><li>Item 1</li></ul>

<input type=”button” onclick=”addItem();” value=”Add item” />

 

innerHTML scrive il codice HTMl dentro un elemento

 

POSIZIONARE GLI ELEMENTI

el.style.left = “0px”;

el.style.posLeft = 0;

el.style.top = “0px”;

el.style.posTop = 0;

 

i css supportano il posizionamento degli elementi: in particolare il posizionamento assoluto e il posizionamento relativo. Non ha importanza quale metodo scegliete, con JavaScript potete impostare i valori di posizionamento. In genere il posizionamento assoluto è più comodo perché così non dovete calcolare il posizionamento degli elementi nidificati. In gran parte dei browser la proprietà left definisce la coordinata x dell’ elemento e la proprietà top è usata per la coordinata y. I valori non sono numerici, ma di norma come prevede il copione css, comprendono una unità, in genere pixel.

Con Internet Explorer avete bisogno di un altro approccio. Le proprietà posLeft e posTop impostano la posizione orizzontale e verticale; tuttavia questa volta fornite un valore numerico non una unità. La strategia più pratica è impostare tutte queste proprietà, visto che non hanno effetti collaterali. Ciò vi evita il rilevamento dei browser. Il seguente  codice posiziona l’elemento <div> nell’ angolo superiore sinistro, si noti che adesso tale elemento si sovrappone aql testo della pagina:

<script language=”JavaScript” type=”text/javascript”>

function position() {

  var el = document.getElementById(“element”);

  el.style.left = “0px”;

  el.style.posLeft = 0;

  el.style.top = “0px”;

  el.style.posTop = 0;

}

window.onload = position;

</script>

<h1>My Portal</h1>

<p>Some sample text. Some sample text. Some sample text.

  Some sample text. Some sample text. Some sample text.

  Some sample text. Some sample text. Some sample text.

  Some sample text. Some sample text. Some sample text. </p>

<div id=”element” style=”position: absolute; background-color: #eee; border: 1px solid”>

JavaScript Phrasebook

</div>

 

ANIMARE UN ELEMENTO

Id= window.setInterval(“animate();”,100);

un effetto dhtml piuttosto raro, ma ancora utilizzato è non solo posizionare ma anche muovere e dunque animare un elemento. Per farlo risultano pratici window.setTimeout() e window.setInterval(). Il codice che segue anima un banner pubblicitario in diagonale sull pagina. Il problema è come animare la posizione. Per le proprietà (posLeft, posTop) di Internet Explorer basta ggiungere un valore. Per left e top, prima dovete determinare la vecchia posizione poi aggiungere un valore ad essa. La funzione JavaScript parseInt() estrae il contenuto numerico di una stringa come “123px”. Tuttavia parseInt() restituisce NaN se non trova nessun valore per left e top. Quindi la seguente funzione di aiuto si occupa di questa situazione; in questo caso invece, resistuirà 0;

function myParseInt(s) {

var ret= parseInt(s);

return (isnan(ret) ? 0 : ret);

}

Quindi il codice seguente anima il banner e si firma dopo 50 ripetizioni:

<script language="JavaScript" type="text/javascript"> 
var nr = 0;
var id = null;
function myParseInt(s) {
  var ret = parseInt(s);
  return (isNaN(ret) ? 0 : ret);
}
function animate() {
  nr++;
  if (nr > 50) {
    window.clearInterval(id);
    document.getElementById("element").style.visibility = "hidden";
  } else {
    var el = document.getElementById("element");
    el.style.left = (myParseInt(el.style.left) + 5) + "px";
    el.style.posLeft += 5;
    el.style.top = (myParseInt(el.style.top) + 5) + "px";
    el.style.posTop += 5;
  }
}
window.onload = function() {
  id = window.setInterval("animate();", 100);
};
</script>
<h1>My Portal</h1>
<p>Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. </p>
<div id="element" style="position: absolute; background-color: #eee; border: 1px solid">
JavaScript Phrasebook
</div>

 

CREARE UNA BARRA DI NAVIGAZIONE PERSISTENTE

barrapersistente

window.onload = positionNavigation;

window.onscroll = positionNavigation;

A volte è importante che una parte della pagina sia sempre visibile. In funzione della natura del sito questa può essere un banner pubblicitario o una barra di navigazione. Ancora una volta posizioniamo un elemento div. La caratteristica particolare di una barra di navigazione persistente è che essa sta nella stessa posizione anche se l’utente scorre la pagina. Dunque il codice precedente è utilizzato per richiamare il posizionamento sia quando la pagina carica, sia quando essa scorre. Per calcolare la nuova posizione, dovete calcolare l’attuale scorrimento della pagina. Internet Explorer lo fa con document.bosy.scrollLeft e document.body.scrollTop; gli altri browser usano window.pageXOffset e window.pageYOffset. Il codice seguente mantiene fissa la posizione della barra di navigazione:

<script language="JavaScript" type="text/javascript"> 
function positionNavigation() {
  var nav = document.getElementById("navigation");
  var x, y;
  var navwidth = 155;
  if (window.innerWidth) {
    x = window.innerWidth + window.pageXOffset - navwidth;
    y = window.pageYOffset + 10;
  } else {
    with (document.body) {
      x = clientWidth + scrollLeft - navwidth;
      y = scrollTop + 10;
    }
  }
  nav.style.left = x + "px";
  nav.style.posLeft = x;
  nav.style.top = y + "px";
  nav.style.posTop = y;
}
window.onload = positionNavigation;
window.onscroll = positionNavigation;
</script>
<h1>My Portal</h1>
<p>Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. </p>
<p>Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. </p>
<p>Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. </p>
<p>Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. </p>
<p>Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. 
  Some sample text. Some sample text. Some sample text. </p>
<div id="navigation" style="position: absolute; background-color: #eee; border: 1px solid">
<a href="http://www.samspublishing.com/">Sams Publishing</a><br />
<a href="http://www.amazon.com/gp/product/0672328801">This book at Amazon</a><br />
<a href="http://www.hauser-wenz.de/blog/">Author's weblog</a>
</div>
Jul 3rd, 2009 | Filed under Uncategorized
Tags:

Tips & Tricks - Salvare posta e rubrica di Outlook Express

express

A volte dovendo reinstallare il sistema operativo è necessario salvare tutti i messaggi e le impostazioni di Outlook Express, seguendo questa quida potrete effettuare il backup/ripristino comodamente.

 

Salvare e ripristinare gli account

 

• Per salvare gli account registrati in Outlook Express, dobbiamo utilizzare la funzione di esportazione del programma

Avviate Outlook Express

Aprire il menu Strumenti -> Account

Selezionare l’account da salvare e premere su esporta, a questo punto scegliete il percorso in cui salvare il file di configurazione dell’account, date un nome al file e premete OK.

 

• Per ripristinare gli account in Outlook Express, dobbiamo utilizzare la funzione di importazione del programma

Avviate Outlook Express

Aprire il menu Strumenti -> Account

Premere il pulstante Importa, selezionare il percorso del file precedentemente salvato e premere OK.

 

 

Salvare e ripristinare la Rubrica

 

• La procedura di backup della rubrica è simile al salvataggio degli account, anche qui dobbiamo utilizzare la funzione di esportazione del programma.

Avviate Outlook Express

Da Outlook Express aprire la Rubrica cliccando sul relativo pulsante;

Aprire il menu File -> Esporta -> Rubrica(WAB)

A questo punto scegliete il percorso in cui salvare il file, date un nome al file e premete OK.

 

• Per ripristinare la rubrica la procedura è simile:

Da Outlook Express aprire la Rubrica cliccando sul relativo pulsante;

Aprire il menu File -> Importa -> Rubrica(WAB)

A questo punto scegliete il percorso del file precedentemente salvato e premete OK.

Attenzione: Con alcune versioni di Outlook Express 5.x l’operazione di importazione non va a buon fine, nel caso abbiate una di queste versioni e’ consigliabile scaricare l’aggiornamento di Internet Explorer e Outlook Express dal sito Microsoft.

 

Salvare e ripristinare i messaggi

 

• La procedura di backup dei messaggi di posta elettronica è più laboriosa rispetto al salvataggio degli account.

Avviate Outlook Express

Aprire il menu Strumenti -> Opzioni

Selezionare la pagina “Manutenzione” e cliccare su “Archivia cartella”

Da qui potrete visualizzare il percorso del database di Outlook Express.

Selezionate il percorso e premete CTRL+C per copiare il testo.

Premete Annulla più volte per tornare a Outlook Express e chiudete il programma.

Andate su Start -> Esegui

Premete CTRL+V per incollare il testo e OK.

Menu Modifica -> Seleziona tutto

Menu Modifica -> Copia

Cliccate con il tasto destro del su uno spazio libero sul Destop, quindi Nuovo -> Cartella.

Date alla cartella un nome (es. Backup mail) e apritela.

Quindi Menu Modifica -> Incolla

Ora avete copiato il database dell’archivio e-mail di Outlook Express nella cartella appena creata.

 

• Per ripristinare i messaggi precedentemente salvati:

Avviate Outlook Express

Aprire il menu File -> Importa -> Messaggi

Selezionate Microsoft Outlook Express 5 o Microsoft Outlook Express 6, quindi click su Avanti.

Selezionare: “Importa posta elettronica da una directory di archiviazione di OE5″ o “Importa posta elettronica da una directory di archiviazione di OE6″ e cliccare su OK.

Cliccate su Sfoglia e selezionate la cartella contenente il Backup, quindi OK, Avanti

Selezionate “Tutte le cartelle” oppure selezionate le singole cartelle da ripristinare, quindi Avanti -> Fine.

 

Se l’operazione di ripristino non va a buon fine, dovrete procedere alla copia manuale dell’archivio di e-mail:

 

Assicurarsi che Outlook Express sia Chiuso

 

L’archivio di Outlook Express è salvato di default nei seguenti percorsi:

 

In Windows 9X/ME:

C:\Windows\Application Data\Identities\”IdentityDirectory”\Microsoft\Outlook Express\

 

In Windows 2000/XP

c:\Documents and Settings\”NomeUtente”\impostazioni locali\dati applicazioni\identities\”IdentityDirectory”\Microsoft\Outlook Express\

 

Per forzare il ripristino dei dati dovrete:

- Cancellare l’archivio corrente di Outlook Express.

- Copiare i dati del backup.

 

1) Da risorse del computer raggiungere il percorso dell’archivio come indicato sopra.

2) Selezionate tutti i file contenuti nella cartella Outlook Express (Menu Modifica -> Seleziona tutto), quindi cancellateli (Menu File -> Elimina).

3) Aprire la cartella del vostro backup.

4) Selezionate tutti i file (Menu Modifica -> Seleziona tutto), quindi copiateli (Menu Modifica -> Copia).

5) Posizionatevi nella cartella Outlook Express precedentemente aperta e incollate i file (Menu Modifica -> Incolla).

6) Riavviate il sistema.

Jun 11th, 2009 | Filed under Uncategorized
Tags: