webForumDet fria alternativet

Ändra ordningen på innehållet i en kommaseparerad sträng.

ASP

4 svar · 329 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Ändra ordningen på innehållet i en kommaseparerad sträng.

Har en sträng som tex: varString = "type, value, color, price"

Jag behöver nu en funktion för att ändra ordningen på dessa. Tex vill jag kunna byta plats på color och type (varString = "color, value, type, price")

Några ideer om hur man smidigt kan åstakomma detta?

Medlem sedan dec. 20003 563 inlägg
#2

En enkel funktion som ändrar värdet mellan två index ur en kommaseparerad sträng.

function switchPlaces(iSwFrom,iSwTo,str)
 dim tmpArr, tmpVar, i
 tmpArr = split(str,",")
 tmpVar = tmpArr(ISwTo)
 tmpArr(iSwTo) = tmpArr(iSwFrom)
 tmpArr(iSwFrom) = tmpVar
 tmpVar = ""
 for i = lbound(tmpArr) to ubound(tmpArr)
  tmpVar = tmpVar & tmpArr(i) & ", "
 next
 switchPlaces = left(tmpVar, len(tmpVar)-2)
end function

Går förmodligen att göra smidigare iofs.

Medlem sedan maj 20012 080 inlägg
#3

Hmmm.... Jag förstår nästan koden ovan... :)

iSwFrom och iSwTo är det ett numeriskt värde för platsen på posterna som ska byta plats?

Jag har inte riktigt tänkt ut hur mitt gränssnitt ska se ut ännu... Men det här ska jag få till.

Medlem sedan dec. 20003 563 inlägg
#4

Ja precis. Koden är otestad men borde nog fungera.

switchPlaces(0,2,"Ett, Två, Tre")
' kommer resultera i en sträng "Tre, Två, Ett"
Medlem sedan maj 20012 080 inlägg
#5

cyprys du ska ha tack för hjälpen. Funktionen är klart användbar. Behövde bara bestämma mig för hur jag skulle hantera mitt gränssnitt.

TACK!

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)