Teď jste offline a čekáte, až se znova připojí internet.

Řazení prostředí slovník doplněny s daty řetězec

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:246067
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončena
Tento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Souhrn
Objekt skriptování slovník je ekvivalentní PERL asociativní pole, kde informace uloženy v matici tvořený jedinečné klíče a data položky. Protože tato informace je uložená neseřazené, výčet prostřednictvím matice vrátí informace v pořadí byl uložen. Účelem tohoto článku je definovat funkci SortDictionary() seřadí obsah objektu slovníku naplněn daty řetězec klíč nebo položku.
Další informace
Následující příklad kódu definuje konstanty dictKey a dictItem, které se používají funkce SortDictionary(). Funkce SortDictionary() trvá dva parametry objektu dříve vytvořené jako skriptovací slovníku a jeden konstanty určit, zda chcete seřadit podle klíče do slovníku nebo položky.

Const dictKey  = 1Const dictItem = 2Function SortDictionary(objDict,intSort)  ' declare our variables  Dim strDict()  Dim objKey  Dim strKey,strItem  Dim X,Y,Z  ' get the dictionary count  Z = objDict.Count  ' we need more than one item to warrant sorting  If Z > 1 Then    ' create an array to store dictionary information    ReDim strDict(Z,2)    X = 0    ' populate the string array    For Each objKey In objDict        strDict(X,dictKey)  = CStr(objKey)        strDict(X,dictItem) = CStr(objDict(objKey))        X = X + 1    Next    ' perform a a shell sort of the string array    For X = 0 to (Z - 2)      For Y = X to (Z - 1)        If StrComp(strDict(X,intSort),strDict(Y,intSort),vbTextCompare) > 0 Then            strKey  = strDict(X,dictKey)            strItem = strDict(X,dictItem)            strDict(X,dictKey)  = strDict(Y,dictKey)            strDict(X,dictItem) = strDict(Y,dictItem)            strDict(Y,dictKey)  = strKey            strDict(Y,dictItem) = strItem        End If      Next    Next    ' erase the contents of the dictionary object    objDict.RemoveAll    ' repopulate the dictionary with the sorted information    For X = 0 to (Z - 1)      objDict.Add strDict(X,dictKey), strDict(X,dictItem)    Next  End IfEnd Function				

A pracovní příklad

Následující příklad využívá funkci výše.

Poznámka: Všechny komentáře byly odebrány z skutečné funkci třídění v tomto příkladu.

Zkopírujte následující kód ASP a uložit ji do složky jako Sortdemo.asp s alespoň skriptů přístup:
<%@LANGUAGE="VBSCRIPT"%><% Option Explicit %><html><head><title>Dictionary Sorting</title></head><body><%  Dim d, i  Const dictKey  = 1  Const dictItem = 2  Set d = Server.CreateObject("Scripting.Dictionary")  d.Add "3", "Delta"  d.Add "1", "Foxtrot"  d.Add "4", "Bravo"  d.Add "2", "Echo"  d.Add "6", "Alpha"  d.Add "5", "Charlie"  Response.Write "<p>Before Sorting:<br>"  For Each i In d    Response.Write i & "=" & d(i) & "<br>"  Next  Response.Write "<p>By Key:<br>"  SortDictionary d,dictKey  For Each i In d    Response.Write i & "=" & d(i) & "<br>"  Next  Response.Write "<p>By Item:<br>"  SortDictionary d,dictItem  For Each i In d    Response.Write d(i) & "=" & i & "<br>"  Next%></body></html><%  Function SortDictionary(objDict,intSort)    Dim strDict()    Dim objKey    Dim strKey,strItem    Dim X,Y,Z    Z = objDict.Count    If Z > 1 Then      ReDim strDict(Z,2)      X = 0      For Each objKey In objDict          strDict(X,dictKey)  = CStr(objKey)          strDict(X,dictItem) = CStr(objDict(objKey))          X = X + 1      Next      For X = 0 to (Z - 2)        For Y = X to (Z - 1)          If StrComp(strDict(X,intSort),strDict(Y,intSort),vbTextCompare) > 0 Then              strKey  = strDict(X,dictKey)              strItem = strDict(X,dictItem)              strDict(X,dictKey)  = strDict(Y,dictKey)              strDict(X,dictItem) = strDict(Y,dictItem)              strDict(Y,dictKey)  = strKey              strDict(Y,dictItem) = strItem          End If        Next      Next      objDict.RemoveAll      For X = 0 to (Z - 1)        objDict.Add strDict(X,dictKey), strDict(X,dictItem)      Next    End If  End Function%>				
při procházení, by měly být zobrazeny následující výstup:
Before Sorting:3=Delta1=Foxtrot4=Bravo2=Echo6=Alpha5=CharlieBy Key:1=Foxtrot2=Echo3=Delta4=Bravo5=Charlie6=AlphaBy Item:Alpha=6Bravo=4Charlie=5Delta=3Echo=2Foxtrot=1				

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci, bez žádné záruky výslovně uvedené nebo odvozené,. včetně, bez omezení, odvozených záruk vztahujících se k obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že uživatel je obeznámen s programovacím jazykem, který je předmětem ukázky, a s nástroji použitými pro vytvoření a ladění skriptu. Pracovníci technické podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však následující příklady rozšířit o další funkce nebo konstrukce podle konkrétních požadavků uživatele. Další informace o dostupných možnostech podpory a o kontaktování společnosti Microsoft naleznete na následujícím webu společnosti Microsoft:
Odkazy
Další informace o skriptovací technologie společnosti naleznete na webu Microsoft Developer Network na následující adrese URL:
IIS

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 246067 - Poslední kontrola: 08/08/2007 06:48:23 - Revize: 3.3

Microsoft Internet Information Services 5.0

  • kbmt kbinfo KB246067 KbMtcs
Váš názor
&t=">e;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >