Avatar billede brink99 Nybegynder
20. maj 2005 - 17:14 Der er 23 kommentarer og
1 løsning

Skriv flere variabler

Jeg har en bestillings side hvor der bliver lavet unike variabler til hver vare så de senere kan sendes til bestillings siden.

Mit spørgsmål er hvordan skriver man alle variablerne på scenen i samme tekstfelt så kunden kan få et overblik over hvad der er bestilt???

/Brink
Avatar billede pyroman Nybegynder
21. maj 2005 - 09:09 #1
Nu er jeg ikke 100% sikker på hvad du mener, men du kan skrive flere variabler og tekst sammen i ét tekstfelt på denne måde:

var tekst1 = "tekst1";
var tekst2 = "tekst2";
var tekst3 = "tekst3";

mitTekstfelt.text = tekst1 + " " + tekst2 + " " + tekst3;
Avatar billede pyroman Nybegynder
21. maj 2005 - 10:54 #2
hey - og så har du sgu spørgsmål nr. 13.000 i flash kategorien!! :D
Avatar billede brink99 Nybegynder
21. maj 2005 - 11:23 #3
det lyder fint men kan det ikke laves dynamisk.
Avatar billede pyroman Nybegynder
21. maj 2005 - 15:51 #4
Hvordan?? Jeg ved jo ikke hvordan du vil have det...
Avatar billede barklund Nybegynder
21. maj 2005 - 19:03 #5
Hvis du har et array af strenge kan du løbe array'et igennem i en løkke og udskrive hvert enkelt element i et tekstfelt:

var txt:String = "";
var elementer:Array = ["nummer a", "nummber b", "nummer c"];
for (var i:Number = 0; i < elementer.length; i++) {
    txt += elementer[i] + "\n";
}
mit_tekstfelt.text = txt;

Hvis det er det, du mener...

--
Morten Barklund
Avatar billede brink99 Nybegynder
22. maj 2005 - 12:53 #6
Jeg mener selv at jeg er rimeligt velbevandret i action script, men jeg har aldrig arbejdet med Array's så det siger mig ikke lige så meget...

Lad mig forklare min problemstilling.
Jeg har nogle variabler som bliver genereret ud fra hvad kunden bestiller, altså

antal0 = noget
Farve0 = noget
size0 = noget
comboBox1_result0 = noget
price0 = noget

antal1 = noget
Farve1 = noget
size1 = noget
comboBox1_result1 = noget
price1 = noget

osv osv alt efter hvad og hvormange vare der bestilles...
problemet er så at få det skrevet ud så kunden kan se det og så jeg kan sende bestillingen til mig selv..

/Brink
Avatar billede pyroman Nybegynder
22. maj 2005 - 13:11 #7
her vil enten arrays eller klasser være det smarteste...

Array er en liste af værdier, som man kan tilgå ved at specificere et specielt index-nr. Man opretter et tomt array - dvs uden nogel værdier i sådan her:

var mitArray1 = new Array();

eller:

var mitArray2 = [];


Man kan også fra start af putte nogle værdier i:

var mitArray = newArray("værdi1", "værdi2", "værdi3");
var mitArray = ["værdi1", "værdi2", "værdi3"];

Som du her ser, indeholder det tekststrenge - men det kan indeholde hvad som helst - ligesom variabler, fx referencer til movieclip...
Når man godt vil have fat på fx værdi nr 2, som er "værdi2" gør man således:

var vaerdi2FraArray = mitArray[1];

Du undrer dig måske over at der står 1 og ikke 2, men i computerverdenen er 0 altid det første tal - derfor hvis man vil have "værdi1":

vaerdi1FraArray = mitArray[0];

Man kan også ændre eller putter værdier i et array på denne måde:

mitArray[2] = "nyVærdi";


Array-klassen har desuden en masse metoder man kan bruge til at putte nyt indhold i arrayet - slette indehold og sortere det, fx efter alfabetisk rækkefølge... Disse kan du se i actionsscript-dokumentationen...

Laver lige et eksempel med arrays...
Avatar billede barklund Nybegynder
22. maj 2005 - 15:10 #8
Du kan ikke klare dig nogensinde i ActionScript uden arrays, objekter eller tilsvarende. Det bliver simpelthen noget bøvlet hejs!

"Nogen" har dog skrevet en bog om blandt andet arrays og om grundlæggende programmering i ActionScript - den er bestemt værd at læse:

http://globe.dk/?action=detail&vare=FG227-7

--
Morten Barklund
Avatar billede brink99 Nybegynder
29. maj 2005 - 14:01 #9
Jeg har nu fået mit array til at virke dynamisk... men når jeg udskriver det på scenen bliver det skrevet i en lang tekststreng.

Er der mulighed for at få hver variabel skrevet under hinanden

/Brink
Avatar billede barklund Nybegynder
29. maj 2005 - 14:12 #10
Jada, du løber arrayet igennem i en løkke:

var mit_arr:Array = ["a", "b"];
for (var i:Number = 0; i < mit_arr.length; i++) {
    mit_tekstfelt.text += mit_arr[i] + "\n";
}

Eller ved at bruge join-metoden:

var mit_arr:Array = ["a", "b"];
mit_tekstfelt.text = mit_arr.join("\n");

:)

--
Morten Barklund
Avatar billede brink99 Nybegynder
29. maj 2005 - 14:23 #11
Hvad med at du smider et svar her og så kan vi snakke videre på det andet der er lidt mere til det end her.

http://www.eksperten.dk/spm/621540

/brink
Avatar billede barklund Nybegynder
29. maj 2005 - 14:25 #12
Det er fint nok - lad os bare holde det heri, for det er jo ret simpelt :)
Avatar billede barklund Nybegynder
29. maj 2005 - 14:25 #13
Og et svar - hvis du har fået det til at virke :)
Avatar billede barklund Nybegynder
29. maj 2005 - 14:30 #14
Komma før navnene - det forstår jeg ikke? Hvordan ser dit script ud? Og dit array?
Avatar billede brink99 Nybegynder
29. maj 2005 - 14:41 #15
Min kode ser sådan her ud

on (release) {
    mcArr = new Array();
    Nr = 0;
    for(i=Nr; i<_root.bestilling; i++){
        if(_root["slettet"+Nr]==true){
            Nr = Nr+1
        }else{
            mcArr.push("<b>type: </b>"+this["type"+Nr]+ "\n");
            mcArr.push("<b>price: </b>"+this["price"+Nr]+ "\n"+ "\n");
            Nr = Nr+1
        }
    }

Hertil høre så en textbox med en scrollbar som har var navnet mcArr.

Den udskriver så sådan her.

type: Classic t-shirt
,price: 150

Jeg vil gerne have fjernet kommaet

/brink
Avatar billede barklund Nybegynder
29. maj 2005 - 14:50 #16
Det ser lidt mærkeligt ud - og hvor er din print-ting - altså hvor du sætter indholdet i tekstfeltet?

Det giver ikke mening, at der kommer et komma der udfra det givne :)
Avatar billede brink99 Nybegynder
29. maj 2005 - 15:35 #17
At det ser mærkeligt ud tror jeg gerne... men det er første gang jeg leger med arrays og det ser ud til at fungere som det skal.

Bortset fra det komma.

Mit textfelt ligger i en anden frame og der er ikke nogen print eller andet den har kun "var mcArr" hvor den skriver helle arrayen ud og det kommer til at se sådan ud

type: Classic t-shirt
,price: 150


/Brink
Avatar billede brink99 Nybegynder
29. maj 2005 - 15:39 #18
Det vil sige at mit array kommer til at se sådan her ud... tror jeg.

mcArr("<b>Type:</b>Classic t-shirt\n","<b>price:</b>150\n");

hvor "Classic t-shirt og 150" er dynamiske fra tidligere brugerdefinisioner.
Avatar billede barklund Nybegynder
29. maj 2005 - 16:04 #19
Så dit tekstfelt hedder mcArr som variable? Sådan skal du jo ikke gøre. Du skal bruge dit tekstfelt's instancenavn til, at når du når til den frame, hvor tekstfeltet er, så bruger du en af ovenstående metoder til at skrive resultatet ud i tekstfeltet :)
Avatar billede brink99 Nybegynder
29. maj 2005 - 16:47 #20
hvis jeg gør sådan her med min metode

mcArr.push("<b>type: </b>"+this["type"+Nr]+ "\n");

bliver "type" med fed men med din metode skriver den det hele i textfeltet.

din metode virker rigtig fint men jeg ville gerne have dele af den fed... jeg har brugt

on (release) {
    InstanceName_0.text = mcArr.join("\n");
}
Avatar billede brink99 Nybegynder
29. maj 2005 - 16:49 #21
Kan man det med din metode??

:)
/Brink
Avatar billede barklund Nybegynder
29. maj 2005 - 18:33 #22
Du skal bruge htmlText og ikke text, hvis det er html:

on (release) {
    InstanceName_0.html = true;
    InstanceName_0.htmlText = mcArr.join("\n");
}

--
Morten Barklund
Avatar billede brink99 Nybegynder
29. maj 2005 - 18:48 #23
Du har været en kæmpe hjælp tusind tak jeg vil gerne give dig 15 point mere er der en måde man kan gøre det på?? ud over at oprette et spørgsmål.

/Brink
Avatar billede barklund Nybegynder
29. maj 2005 - 18:52 #24
Hvis du havde ventet med at acceptere, til vi var helt færdige, så havde du kunnet hæve pointene ved at trykke på dem oppe i hjørnet. Men når du har accepteret er der lukket :)

Det er nu også fint nok med mig - husk at lukke det andet spørgsmål :)

--
Morten Barklund
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