Ich habe einen Teil einer Webseite neu gestaltet, um die Aktualisierung in Zukunft zu erleichtern. Derzeit ist es eine Reihe von Tabellen, die fest codiert sind. Um die Tabelle neu zu gestalten (zum Beispiel, um sie wie gewünscht zu alphabetisieren), müssen Sie manuell viele Werte im HTML-Code austauschen.So implementieren Sie ein Array in VBScript mit einer Variablengröße
Dies ist, was ich tun möchte: Erstellen Sie ein URL_Link-Objekt mit einem Titel und Link-Variable, um den Anzeigenamen und die URL jeweils zu halten. Erstellen Sie ein Array von url_Link-Objekten, und füllen Sie es am Anfang der ASP-Datei für die Seite auf. Führen Sie eine für jede Schleife auf diesen Arrays zum Erstellen und Füllen der Tabelle
Dies ist nicht so schlimm, aber ich habe zwei Probleme. Zuerst möchte ich die Array-Größe nicht definieren müssen, da dies eine zweite Stelle darstellt, die geändert werden muss, wenn Änderungen an der Anzahl der Links vorgenommen werden. Es gibt eine Logik, die verhindert, dass bestimmte url_Link-Objekte angezeigt werden (z. B. können einige Benutzer nicht auf bestimmte Seiten zugreifen, so dass sie keine Links sehen), und dies würde Probleme bei der Dimensionierung der Arrays verursachen.
Ich weiß, dass ich nur die Arrays von einer großen Größe machen konnte, aber das scheint mir verschwenderisch (und ich weiß nicht, wie für jede Funktion und wollen nicht eine Reihe von leeren Zeilen angezeigt werden).
Was kann ich tun, um diese Probleme zu lösen? Ich bin in VBScript nicht sehr kenntnisreich, und der meiste Code, mit dem ich gearbeitet habe, nutzt Arrays oder Objekte nicht aus.
UPDATE: Ich habe versucht, mit einem redim PRESERVE das überschüssige Fett eines übergroßen Array zu trimmen. Das Problem ist, dass mein Array in einigen Fällen aufgrund von if-Bedingungen mit kleineren Mengen von Objekten gefüllt wird als seine maximale Größe. Dies verursacht später Probleme, wenn ich eine for-Schleife verwende (versuche, eine für jeden zu bekommen, die funktioniert und das ist im Moment nicht passiert). Ich erhalte die Fehlermeldung "Dieses Array fest oder vorübergehend gesperrt" auf der ReDim Linie
Code:
dim systemSettingsArray(1)
arrayCounter = 0
if ADMIN = "Y" then
set systemSettingsArray(arrayCounter) = (new url_Link).Init("Account Administration","Maintenance/Account_Admin.asp")
arrayCounter = arrayCounter + 1
end if
set systemSettingsArray(arrayCounter) = (new url_Link).Init("Time Approval","Maintenance/system_Time_Approval.asp")
redim Preserve systemSettingsArray(arrayCounter)
"Dim a (1)" erstellt ein festes (nicht ReDim-fähiges) Array mit 2 Elementen, indiziert 0 und 1. Verwenden Sie "Dim a: a = Array()" oder "ReDim a (-1)" zu Erstellen Sie ein leeres ReDim-fähiges Array. –