Just nu i M3-nätverket
Jump to content

Problem med att skapa vektor


bruse33

Recommended Posts

Är inte så bra på ASP, men jag försöker skapa en vektor som ser ut så här:

Dim arrDataRubrik(2)

arrDataRubrik("Fordon") = "Fordon"

arrDataRubrik("Ägare") = "Ägare"

arrDataRubrik("Placering") = "Placering"

 

Men jag får följande fel:

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: "Fordon"]'

/includes/common_se.asp, line 3

 

Vad är det för fel? Hur gör man (funkar uu fint i PHP...).

 

 

Link to comment
Share on other sites

Du måste ange index:

 

Dim arrDataRubrik(2)

arrDataRubrik(0) = "Fordon"

arrDataRubrik(1) = "Ägare"

arrDataRubrik(2) = "Placering"

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Link to comment
Share on other sites

Anjuna Moon

Alternativt kan du använda Dictionary-objektet (som är likvärt PERLs accociativa arrayer):

 

[color="#0000ff"]Dim[/color] arrDataRubrik
[color="#0000ff"]Set[/color] arrDataRubrik = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.Dictionary"[/GRÅ])
arrDataRubrik.Add [GRÅ]"Lambourghini"[/GRÅ], [GRÅ]"Fordon"[/GRÅ]
arrDataRubrik.Add [GRÅ]"AnjunaMoon"[/GRÅ], [GRÅ]"Ägare"[/GRÅ]
arrDataRubrik.Add [GRÅ]"Handikapplats"[/GRÅ], [GRÅ]"Placering"[/GRÅ]

 

Dock måste första parametern vara unik, så det hela beror på hur du tänkt hantera multipla poster. Andra parameterna kan ha vilken typ som helst, så helst lägger man ett unikt id som första parameter (key) och sedan ett nytt Dictionary objekt som andra parameter (item).

 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/jsobjDictionary.asp

 

AnjunaMoon

____________________________________________________________

/* There is nothing more permanent than a temporary solution... */

Stoppa mjukvarupatenten nu! http://www.ffii.se/

 

[inlägget ändrat 2004-07-21 14:34:59 av Anjuna Moon]

Link to comment
Share on other sites

Tackar... hur kommer jag åt dem då? Så här?:

Response.Write arrDataRubrik("Fordon")

 

Det är så jag tänkt mig, för har jag 200 poster i vektorn, så kan jag för mitt liv inte hålla reda på siffror... Tänkte ha den för att att ha olika språkmoduler i varsina filer, så på en engelsk sida visas värdet "vehicle" för ovanstånde. Är ni med?

 

Link to comment
Share on other sites

Anjuna Moon

Så för varje språk kommer du alltså ha en annan uppsättning av dessa poster gissar jag och det gemensamma för sidan (oavsett språk) är hur den visar det?

 

Isåfall, för en engelsk sida anger du för posten Fordon:

[color="#0000ff"]Dim[/color] arrDataRubrik
[color="#0000ff"]Set[/color] arrDataRubrik = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.Dictionary"[/GRÅ])
arrDataRubrik.Add [GRÅ]"Fordon"[/GRÅ], [GRÅ]"Vehicle"[/GRÅ]

 

och visar den med:

 

[b]Response[/b].write arrDataRubrik.Item([GRÅ]"Fordon"[/GRÅ])

[inlägget ändrat 2004-07-21 14:48:52 av Anjuna Moon]

Link to comment
Share on other sites

Du fatta... knappt jag förstår mig själv ibland!

 

Nå, jag testade med

arrDataRubrik("Fordon")

å det funka. Så vad gör den där item du lade till?

arrDataRubrik.Item("Fordon")

 

Link to comment
Share on other sites

Anjuna Moon

 

arrDataRubrik("Fordon") är bara en kortform för arrDataRubrik.Item("Fordon")

 

(Ungefär som Request("fält") är en kortform för Request.Form("fält"))

 

 

Link to comment
Share on other sites

Men om man skriver Request("fält") så kollar den både querystring och form items så det är inte att rekommendera att skriva så eftersom det kan krocka vid gemensam namngivning.

 

Skriv ut allt, det är oftast bäst :)

 

Link to comment
Share on other sites

Johan Knape

Skall du ha flera olika språk? Isåfall bör du skapa en 2 dimensionell vektor och en endimensionell vektor.

 

Såhär:

 

ArrLanguage(x) ' X = antalspråk du har

ArrLanguage(1) = "English"

ArrLanguage(2) = "Swedish"

 

o.s.v.

 

Sedan har du den 2 dimensionella vektorn

ArrWord(x,y) ' X är språket och y är ordet

 

ArrWord(1,1) = Car

ArrWord(2,1) = Bil

ArrWord(1,2) = Name

ArrWord(2,1) = Namn

 

o.s.v

 

På så sätt kan du enkelt genom att första lista ut vilket språk det är som skall visas och ta fram vilken siffra som är det språket sedan enkelt skriva ut.

 

Detta gör det också enklare om du lägger till ett nytt språk efterhand.

 

/Johan

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...