2. Przygotowanie dokumentu AS3 oraz XML
Stwórz jakikolwiek rozmiarów plik AS3 używając Flasha od wersji 9 w górę, zapisz go i opublikuj.
Stwórz również tło, pola dla tekstów oraz pole pod wstawianie informacji (podobnie jak na przykładzie na ostatniej stronie).
Następnie stwórz pole tekstowe wielowierszowe i nazwij je pole_txt, później 3 pola wejściowe: imie_input, tytul_input, tekst_input oraz przycisk (nazwa wyslij_btn) i scroll bar (nazwa scroll) z listy komponentów wbudowanych. Umieść scroll na tej samej warstwie co pole_txt i przeciągnij je na pole tak aby się złączyło.
Stwórz też plik XML, który będzie miał zawartość:
<wiadomosc>
<imie>Adam</imie>
<tytul>Witam</tytul>
<data>23 Maj 2009</data>
<tekst>na mojej księdze gości</tekst>
</wiadomosc>
</wiadomosci>
Zapisz plik XML pod nazwą wiadomosci.xml .
Ranga: Administrator serwisu Punktów: 0
- Zobacz kod dodany do tego wpisu
-
Error #2044: Unhandled ioError:. text=
Error #2032: Stream Error. URL: file:///<sciezka do pliku na dysku>/flash/wiadomosci.xml?ck=1243173607734
at guestbook_fla::MainTimeline/guestbook_fla::frame1()
-
- Zobacz kod dodany do tego wpisu
-
ścieżka wzgledna:
wiadomosci.xml
ścieżka bezwzgledna:
C:\katalog\wiadomosci.html
-
- Zobacz kod dodany do tego wpisu
-
Imie.reverse();
Tytul.reverse();
Data.reverse();
Tekst.reverse();
-
- Zobacz kod dodany do tego wpisu
-
var sciezka_do_pliku_XML = "http://wewa.pl/01/wiadomosci.xml";
var sciezka_do_pliku_PHP = "http://wewa.pl/01/ksiega.php";
var pierwsza_wiadomosc:String = "Wpisz się do księgi..";
//////////////NIE DO EDYCJI /////////////////
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
pole_txt.htmlText = pierwsza_wiadomosc;
var cache_killer:String = "?ck="+ new Date().getTime();
var plikXML:URLRequest = new URLRequest(sciezka_do_pliku_XML+cache_killer);
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, plik_wczytany);
addEventListener(Event.ENTER_FRAME, sprawdzaj);
wyslij_btn.enabled = false;
wyslij_btn.addEventListener(MouseEvent.MOUSE_UP, wyslij_dane);
loader.load(plikXML);
var wiadomosci:XML = new XML();
wiadomosci.ignoreWhitespace = true;
var xmlList:XMLList;
var Imie:Array = new Array();
var Tytul:Array = new Array();
var Data:Array = new Array();
var Tekst:Array = new Array();
function plik_wczytany(e:Event):void {
wiadomosci = XML(e.target.data);
xmlList = wiadomosci.children();
for (var i:int=0; i<xmlList.length(); i++) {
var xmlImie:String = xmlList[i].imie;
var xmlTytul:String = xmlList[i].tytul;
var xmlData:String = xmlList[i].data;
var xmlTekst:String = xmlList[i].tekst;
Imie.push(xmlImie);
Tytul.push(xmlTytul);
Data.push(xmlData);
Tekst.push(xmlTekst);
if (i == xmlList.length() -1) {
aktualizacja();
}
}
}
function aktualizacja():void {
Imie.reverse();
Tytul.reverse();
Data.reverse();
Tekst.reverse();
pole_txt.htmlText = "";
for (var i:int = 0; i<xmlList.length(); i++) {
pole_txt.htmlText += ("<b><u>Imię:</u></b> " + Imie[i]);
pole_txt.htmlText += ("<b><u>Tytul:</u></b> " + Tytul[i]);
pole_txt.htmlText += ("<b><u>Data:</u></b> " + Data[i]);
pole_txt.htmlText += ("<b><u>Wiadomość:</u></b> " + Tekst[i]);
pole_txt.htmlText += ("..........................................................................................");
}
scroll.scrollTarget = pole_txt;
}
function sprawdzaj(e:Event):void {
if (imie_input.text != "" && tytul_input.text != "" && tekst_input.text != "") {
wyslij_btn.enabled = true;
}
}
function wyslij_dane(e:MouseEvent):void {
var dzisiaj:Date = new Date();
var miesiac:uint = dzisiaj.getMonth();
var miesiace:Array = new Array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
var dzisiejsza_data:String = (dzisiaj.getDate()+" "+miesiace[miesiac]+" "+dzisiaj.getFullYear());
var nowa_pozycja:XML = XML("<wiadomosc><imie>" + imie_input.text + "</imie><tytul>" + tytul_input.text + "</tytul><data>"+ dzisiejsza_data + "</data><tekst>" + tekst_input.text + "</tekst></wiadomosc>");
wiadomosci.appendChild(nowa_pozycja);
var plikPHP:URLRequest = new URLRequest(sciezka_do_pliku_PHP+cache_killer);
plikPHP.data = wiadomosci;
plikPHP.contentType = "text/xml";
plikPHP.method = URLRequestMethod.POST;
var loader2:URLLoader = new URLLoader();
loader2.load(plikPHP);
loader2.addEventListener(Event.COMPLETE, plik_wczytany2);
}
function plik_wczytany2(e:Event) :void {
Imie = [];
Tytul = [];
Data = [];
Tekst = [];
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
wyslij_btn.enabled = false;
pole_txt.htmlText = "";
loader.load(plikXML);
}
-
- Zobacz kod dodany do tego wpisu
-
if (i == xmlList.length() -1) {
}
//pozostaw natomiast wpis: aktualizacja();
-
- Zobacz kod dodany do tego wpisu
-
/////////////////////////////////////////////
//////////// KONTROLER SKRYPTU /////////////
///////////////////////////////////////////
//Określ dostęp do twoich plików XML i PHP
//////////////////////////////////////////
var sciezka_do_pliku_XML = "http://localhost/phpflash/ksiega_gosci_w_xml/wiadomosci.xml";
var sciezka_do_pliku_PHP = "http://localhost/phpflash/ksiega_gosci_w_xml/ksiega.php";
var pierwsza_wiadomosc:String = "Wpisz się do księgi..";
//skrypt pobrany ze strony: http://Funkcje.net
//////////////NIE DO EDYCJI /////////////////
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
pole_txt.htmlText = pierwsza_wiadomosc;
var cache_killer:String = "?ck="+ new Date().getTime();
var plikXML:URLRequest = new URLRequest(sciezka_do_pliku_XML+cache_killer);
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, plik_wczytany);
addEventListener(Event.ENTER_FRAME, sprawdzaj);
wyslij_btn.enabled = false;
wyslij_btn.addEventListener(MouseEvent.MOUSE_UP, wyslij_dane);
loader.load(plikXML);
var loader2:URLLoader = new URLLoader();
loader2.addEventListener(Event.COMPLETE, plik_wczytany2);
var pierwsze_zaladowanie:Boolean = true;
var wiadomosci:XML = new XML();
wiadomosci.ignoreWhitespace = true;
var xmlList:XMLList;
var Imie:Array = new Array();
var Tytul:Array = new Array();
var Data:Array = new Array();
var Tekst:Array = new Array();
function plik_wczytany(e:Event):void {
var dane:URLVariables = new URLVariables(loader2.data);
if (pierwsze_zaladowanie == true || dane.zapis == "ok") {
wiadomosci = XML(e.target.data);
xmlList = wiadomosci.children();
for (var i:int=0; i<xmlList.length(); i++) {
var xmlImie:String = xmlList[i].imie;
var xmlTytul:String = xmlList[i].tytul;
var xmlData:String = xmlList[i].data;
var xmlTekst:String = xmlList[i].tekst;
Imie.push(xmlImie);
Tytul.push(xmlTytul);
Data.push(xmlData);
Tekst.push(xmlTekst);
if (i == xmlList.length() -1) {
aktualizacja();
}
}
pierwsze_zaladowanie == false;
}//koniec ifa
else{
loader.load(plikXML);
}
}
function aktualizacja():void {
Imie.reverse();
Tytul.reverse();
Data.reverse();
Tekst.reverse();
pole_txt.htmlText = "";
for (var i:int = 0; i<xmlList.length(); i++) {
pole_txt.htmlText += ("<b><u>Imię:</u></b> " + Imie[i]);
pole_txt.htmlText += ("<b><u>Tytul:</u></b> " + Tytul[i]);
pole_txt.htmlText += ("<b><u>Data:</u></b> " + Data[i]);
pole_txt.htmlText += ("<b><u>Wiadomość:</u></b> " + Tekst[i]);
pole_txt.htmlText += ("..........................................................................................");
}
scroll.scrollTarget = pole_txt;
}
function sprawdzaj(e:Event):void {
if (imie_input.text != "" && tytul_input.text != "" && tekst_input.text != "") {
wyslij_btn.enabled = true;
}
}
function wyslij_dane(e:MouseEvent):void {
var dzisiaj:Date = new Date();
var miesiac:uint = dzisiaj.getMonth();
var miesiace:Array = new Array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
var dzisiejsza_data:String = (dzisiaj.getDate()+" "+miesiace[miesiac]+" "+dzisiaj.getFullYear());
var nowa_pozycja:XML = XML("<wiadomosc><imie>" + imie_input.text + "</imie><tytul>" + tytul_input.text + "</tytul><data>"+ dzisiejsza_data + "</data><tekst>" + tekst_input.text + "</tekst></wiadomosc>");
wiadomosci.appendChild(nowa_pozycja);
var plikPHP:URLRequest = new URLRequest(sciezka_do_pliku_PHP+cache_killer);
plikPHP.data = wiadomosci;
plikPHP.contentType = "text/xml";
plikPHP.method = URLRequestMethod.POST;
loader2.load(plikPHP);
loader2.addEventListener(Event.COMPLETE, plik_wczytany2);
}
function plik_wczytany2(e:Event) :void {
Imie = [];
Tytul = [];
Data = [];
Tekst = [];
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
wyslij_btn.enabled = false;
pole_txt.htmlText = "";
loader.load(plikXML);
}
-
- Zobacz kod dodany do tego wpisu
-
>> tekst_input.text = "";
>> tekst_input.text = "";
>> var nowa_pozycja:XML = XML("<wiadomosc><imie>" + imie_input.text + "</imie><tytul>" + tytul_input.text + "</tytul><data>"+ dzisiejsza_data + "</data><tekst>" + tekst_input.text + "</tekst></wiadomosc>");
>> if (imie_input.text != "" && tytul_input.text != "" && tekst_input.text != "") {
-
- Zobacz kod dodany do tego wpisu
-
var sciezka_do_pliku_XML = "http://funkcjenet.boo.pl/funkcjenet/ksiega_gosci_w_xml/wiadomosci.xml";
var sciezka_do_pliku_PHP = "http://funkcjenet.boo.pl/funkcjenet/ksiega_gosci_w_xml/ksiega.php";
var pierwsza_wiadomosc:String = "Wpisz się do księgi..";
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
pole_txt.htmlText = pierwsza_wiadomosc;
var plikXML:URLRequest = new URLRequest(sciezka_do_pliku_XML);
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, plik_wczytany);
addEventListener(Event.ENTER_FRAME, sprawdzaj);
wyslij_btn.enabled = false;
wyslij_btn.addEventListener(MouseEvent.MOUSE_UP, wyslij_dane);
try {
loader.load(plikXML);
}catch(e:Error) {
pole_txt.htmlText = "błąd";
}
var wiadomosci:XML = new XML();
wiadomosci.ignoreWhitespace = true;
var xmlList:XMLList;
var Imie:Array = new Array();
var Tytul:Array = new Array();
var Data:Array = new Array();
var Tekst:Array = new Array();
function plik_wczytany(e:Event):void {
wiadomosci = XML(e.target.data);
xmlList = wiadomosci.children();
for (var i:int=0; i<xmlList.length(); i++) {
var xmlImie:String = xmlList[i].imie;
var xmlTytul:String = xmlList[i].tytul;
var xmlData:String = xmlList[i].data;
var xmlTekst:String = xmlList[i].tekst;
Imie.push(xmlImie);
Tytul.push(xmlTytul);
Data.push(xmlData);
Tekst.push(xmlTekst);
if (i == xmlList.length() -1) {
aktualizacja();
}
}
}
function aktualizacja():void {
Imie.reverse();
Tytul.reverse();
Data.reverse();
Tekst.reverse();
var buffor:String = "";
pole_txt.htmlText = "";
for (var i:int = 0; i<xmlList.length(); i++) {
buffor += "<b><u>Imię:</u></b> " + Imie[i];
buffor += "<br /><b><u>Tytul:</u></b> " + Tytul[i];
buffor += "<br /><b><u>Data:</u></b> " + Data[i];
buffor += "<br /><b><u>Wiadomość:</u></b> " + Tekst[i];
buffor += "<br />..........................................................................................<br />";
}
pole_txt.htmlText = buffor;
scroll.scrollTarget = pole_txt;
}
function sprawdzaj(e:Event):void {
if (imie_input.text != "" && tytul_input.text != "" && tekst_input.text != "") {
wyslij_btn.enabled = true;
}
}
function wyslij_dane(e:MouseEvent):void {
var dzisiaj:Date = new Date();
var miesiac:uint = dzisiaj.getMonth();
var miesiace:Array = new Array("Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień");
var dzisiejsza_data:String = (dzisiaj.getDate()+" "+miesiace[miesiac]+" "+dzisiaj.getFullYear());
var nowa_pozycja:XML = XML("<wiadomosc><imie>" + imie_input.text + "</imie><tytul>" + tytul_input.text + "</tytul><data>"+ dzisiejsza_data + "</data><tekst>" + tekst_input.text + "</tekst></wiadomosc>");
wiadomosci.appendChild(nowa_pozycja);
var plikPHP:URLRequest = new URLRequest(sciezka_do_pliku_PHP);
plikPHP.data = wiadomosci;
plikPHP.contentType = "text/xml";
plikPHP.method = URLRequestMethod.POST;
var loader2:URLLoader = new URLLoader();
loader2.load(plikPHP);
loader2.addEventListener(Event.COMPLETE, plik_wczytany2);
}
function plik_wczytany2(e:Event) :void {
Imie = [];
Tytul = [];
Data = [];
Tekst = [];
imie_input.text = "";
tytul_input.text = "";
tekst_input.text = "";
wyslij_btn.enabled = false;
pole_txt.htmlText = "";
loader.load(plikXML);
}
-