Avatar billede nanna31 Praktikant
02. december 2005 - 14:27 Der er 12 kommentarer

xml basic

Hvad sker der helt præcist i linie 3 og 4 ?

var bikes:XML=new XML();
bikes.ignoreWhite=true;   
    bikes.onLoad=function(success):Void{  //what?
    if(success){trace("data not loaded")}  // vhat?
    else{trace("data not loaded")}
    }
   
bikes.load("bikes.xml");
Avatar billede nikolajdu Nybegynder
02. december 2005 - 14:39 #1
Der sker noget forkert ihvertilfald - du har "data not loaded" på begge sider af dit check.

var bikes:XML=new XML();
bikes.ignoreWhite=true;   
    bikes.onLoad=function(success):Void{  // onLoad handleren bliver trigget når xml'en vender tilbage med svar - success angiver om der er hentet data eller ej.
    if(success){trace("data loaded")}  //
    else{trace("data not loaded")}
    }
   
bikes.load("bikes.xml");
Avatar billede nikolajdu Nybegynder
02. december 2005 - 14:42 #2
if(success){trace("data loaded")}  // hvis succes - vi har hentet data.
Avatar billede nanna31 Praktikant
02. december 2005 - 15:08 #3
Ja ok, "not" var misplaceret :)

Men jeg vil gerne forstå syntaksen helt eksakt:
"bikes.onload" betyder vel "mens bikes.xml hentes"?
Kan I lave en tilsvarende oversættelse på hele linie tre og fire?
Avatar billede nikolajdu Nybegynder
02. december 2005 - 15:17 #4
var bikes:XML = new XML (); // laver et nyt xml object vi kan have data i.
bikes.ignoreWhite = true; // sørger for at utilsigtede mellemrum bliver ignoreret - xml'en kan ikke loades hvis de er der.
bikes.onLoad = function (success) {
    // onLoad handleren bliver trigget når xml'en vender tilbage med svar - success angiver om der er hentet data eller ej.
    if (success) {
        // data er hentet med held.
        trace ("data loaded");
    } else {
        // data ble ikke hentet - formodenligt fordi filen ikke kunne findes/serveren nede.
        trace ("data not loaded");
    }
};
Avatar billede nanna31 Praktikant
02. december 2005 - 15:28 #5
Denne passage forstår jeg stadig ikke helt logikken i:

bikes.onLoad = function (success)

Hvad gør bikes.onload? hvordan kan man tilskrive den en funktions værdi? Hvor kommer variablen "succes" fra?
Avatar billede docks Nybegynder
02. december 2005 - 18:53 #6
der kunne i og for sig stå bølle istedet for success, men så vidt jeg ved så returnerer den en boolean værdi 1/0 og såfrem det er 1 = "success = true" så udfører den det der er inde i det if sætning.

if(success) er det samme som if (success == true)
Avatar billede nikolajdu Nybegynder
02. december 2005 - 19:11 #7
docks har ret i der kan stå hvad som helst, men man skal lige passe på med :

if(success) er det samme som if (success == true) - Det er ganske rigtigt det samme i AS 1 - I AS 2 vil "success" i tilfældet undefined ikke være det samme som false.

function(success:Boolean) vil sikre os at det er en true/false statement -
Avatar billede nanna31 Praktikant
04. december 2005 - 17:04 #8
Har I hørt om pseudokode - der skriver man koden med almindelige sætninger/ord, så alle kan forstå logikken. Kan I ikke prøve at gøre det?

Jeg fatter ikke, hvad "bikes.onload" gør eller hvordan det giver mening at sætte den lig en function?

Sætter gerne pointene op!
Avatar billede nikolajdu Nybegynder
04. december 2005 - 18:38 #9
XML klassen ligger i din flash bibliotek -> \Macromedia\Flash 8\en\First Run\Classes\FP8

onLoad hører til XML klassen som en en udvidelse til XMLNode - Anyway så er det en inbygget funktion der bliver trigget når du bruger den som vist.

var bikes:XML = new XML (); // angiver at du vil bruge XML klassen - den indeholder så onLoad.
Avatar billede nanna31 Praktikant
05. december 2005 - 09:46 #10
Klart nok, men det besvarer ikke rigtigt mine konkrete spørgsmål.

Så vidt jeg kan læse mig til, returnerer datObjekt.onload true, hvis data er modtaget - eller er det, når overførslen påbegyndes?
Stadig kan jeg ikke se, hvordan det giver maning at sætte den værdi true eller false lig med "function(anything)"???

Kunne man ikke ligesågodt skrive:

success=dataObjekt.onload;
if(success==true)//positiv respons
else //negativ respons

?

Og hvad betyder :Void  ?
Avatar billede docks Nybegynder
05. december 2005 - 11:07 #11
nanna31 - du kan ikke gøre

success=dataObjekt.onload;
if(success==true)//positiv respons

da du jo ikke ved hvornår din data er loaded - og dvs. du udfører if(success=true) osv. inden der er loaded noget data ind i objektet. Derfor heder der onLoad - dvs. NÅR objektet har modtaget data så skal dette udgøres.

Void betyder at funktionen ikke returnerer noget.
Avatar billede nanna31 Praktikant
19. februar 2006 - 16:11 #12
Tak for hjælpen, har lige brug for et svar for at lukke spørgsmålet?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester