/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Dictionary object
Fra : Jesper Stocholm


Dato : 14-03-01 16:38

Er der nogen, der kan forklare mig lidt om hvad man skal/kan bruge
dictionary-objectet til ?

Forklaringen på msdn er ikke vildt fyldestgørende.



--
Danmark som netværkssamfund - hvor er vi nu ?
- Interviewer i HardDisken på P1

- Jesper Stocholm - http://stocholm.dk

 
 
Jakob Andersen (14-03-2001)
Kommentar
Fra : Jakob Andersen


Dato : 14-03-01 17:01

Det er lidt ligesom associative arrays i Javascript... Du kan have et two
dimmensionelt array, hvor du kan referere til dem ved navn...

F.eks.

<%
Dim Hovedstad
Set Hovedstad = CreateObject("Scripting.Dictionary")
Hovedstad.Add "Danmark", "København"
Hovedstad.Add "England" , "London"
Hovedstad.Add "Tyskland" , "Berlin"
Hovedstad.Add "Sverige" , "Stockholm"
%>

Og du kan så hente dem med f.eks.
<%
Hovedstad.Item("Danmark")
%>

Derudover findes der også en "rar" funktion der hedder exists altså kan du
bruge:

<%
if Hovedstad.Exists("Bulgarien") Then
'Noget
Else
'Noget andet
End if
%>

Håber det klarede lidt op....
--
Jakob Andersen
FAQ for webdesign gruppen på
<http://www.usenet.dk/oss/dk.edb.internet.webdesign>
"Det er rart at være vigtig, men det er vigtigere at være rar "
"Jesper Stocholm" <usenet@stocholm.dk> wrote in message
news:Xns9064A917B9CEEspamstocholmdk@192.38.208.81...
> Er der nogen, der kan forklare mig lidt om hvad man skal/kan bruge
> dictionary-objectet til ?
>
> Forklaringen på msdn er ikke vildt fyldestgørende.
>
>
>
> --
> Danmark som netværkssamfund - hvor er vi nu ?
> - Interviewer i HardDisken på P1
>
> - Jesper Stocholm - http://stocholm.dk



Jesper Stocholm (14-03-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 14-03-01 17:10

"Jakob Andersen" <jakob@andersen.as> wrote in <oBMr6.14222$lk1.560227
@twister.sunsite.dk>:

>Det er lidt ligesom associative arrays i Javascript... Du kan have et two
>dimmensionelt array, hvor du kan referere til dem ved navn...
>
>F.eks.
>
><%
>Dim Hovedstad
>Set Hovedstad = CreateObject("Scripting.Dictionary")
>Hovedstad.Add "Danmark", "København"
>Hovedstad.Add "England" , "London"
>Hovedstad.Add "Tyskland" , "Berlin"
>Hovedstad.Add "Sverige" , "Stockholm"
>%>
>
dvs det bla er til at håndtere "hægtede lister" eller todimensionelle arrays
?

Kan dictionary-object indeholde flere datatyper ... fx int og bin ? kan man
fx lave et

Set picArr = CreateObject("Scripting.Dictionary")
picArr.Add 1, <binary stream1>
picArr.Add 2, <binary stream2>
picArr.Add 3, <binary stream3>
picArr.Add 4, <binary stream4>

?

Men tak ... det blev lidt klarere nu.


--
Danmark som netværkssamfund - hvor er vi nu ?
- Interviewer i HardDisken på P1

- Jesper Stocholm - http://stocholm.dk

Peter Lykkegaard (15-03-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 15-03-01 13:09


"Jesper Stocholm" <usenet@stocholm.dk> wrote in message
news:Xns9064AE775BDF5spamstocholmdk@192.38.208.81...
> Kan dictionary-object indeholde flere datatyper ... fx int og bin ?

Du kan smide efter det "whatyoulike" - inkl lidt blandede bolcher - svjv

mvh/Peter Lykkegaard



Peter Lykkegaard (14-03-2001)
Kommentar
Fra : Peter Lykkegaard


Dato : 14-03-01 17:46


"Jesper Stocholm" <usenet@stocholm.dk> wrote in message
news:Xns9064A917B9CEEspamstocholmdk@192.38.208.81...
> Er der nogen, der kan forklare mig lidt om hvad man skal/kan bruge
> dictionary-objectet til ?
>
Jeg bruger den fx i stedet for Arrays hvor jeg har brug for at lave hurtige
opslag på om et item eksisterer i et givent "array"
Her er det ret suverent

mvh/Peter Lykkegaard



Bjørn Ginsborg (14-03-2001)
Kommentar
Fra : Bjørn Ginsborg


Dato : 14-03-01 23:44

On Wed, 14 Mar 2001 15:37:51 +0000 (UTC), usenet@stocholm.dk (Jesper
Stocholm) wrote:

>Er der nogen, der kan forklare mig lidt om hvad man skal/kan bruge
>dictionary-objectet til ?
>
>Forklaringen på msdn er ikke vildt fyldestgørende.
>
>

Jeg benytter nedenstående til at uploade binære filer med, så det kan
man vidst godt svare ja til?:

FileUploader ASP Library (beta 1.2)
********************************************************
Author: Jacob "Bèézle" Gilley
Co-author: Philippe Collignon (I'm assuming)
Email: avis7@airmail.net
Purpose: To provide a free and easy way to perform file
       uploading across the web via Active Server Pages.
********************************************************

NOTE - YOU MUST HAVE VBSCRIPT v5.0 INSTALLED ON YOUR WEB SERVER
    FOR THIS LIBRARY TO FUNCTION CORRECTLY. YOU CAN OBTAIN IT
    FREE FROM MICROSOFT WHEN YOU INSTALL INTERNET EXPLORER 5.0
    OR LATER.

Object Overview
---------------

========================================================
FileUploader Object
========================================================

METHODS
---------
Upload() - Begins the file upload process. MUST BE CALLED FIRST!

PROPERTIES
------------
Files - A Collection of UploadedFile objects. (see below)
Form - A Collection of posted form elements.

========================================================


========================================================
UploadedFile Object
========================================================

METHODS
---------
SaveToDisk(Path) - Accepts a fully qualified physical path
               to save the   uploaded file to.
               
SaveToDatabase(Field) - Accepts an ADODB.Field object to save
                   the uploaded file to. The ADODB.Recordset
                   must be opened by you and the database must
                   support Binary Large Objects (BLOBS).

PROPERTIES
------------
FileName - The name of the file uploaded. (Does not include path
information)
FileSize - The size, in bytes, of the file uploaded.
FileData - The raw binary file data.
ContentType - The application association string that binds a
particular file
          extention to an application. (e.g. "image/gif")

========================================================



<%
'***************************************
' File:    Upload.asp
' Author: Jacob "Beezle" Gilley
' Email: avis7@airmail.net
' Date: 12/07/2000
' Comments: The code for the Upload, CByteString,
'         CWideString   subroutines was originally
'         written by Philippe Collignon...or so
'         he claims. Also, I am not responsible
'         for any ill effects this script may
'         cause and provide this script "AS IS".
'         Enjoy!
'****************************************

Class FileUploader
   Public Files
   Private mcolFormElem

   Private Sub Class_Initialize()
      Set Files = Server.CreateObject("Scripting.Dictionary")
      Set mcolFormElem = Server.CreateObject("Scripting.Dictionary")
   End Sub
   
   Private Sub Class_Terminate()
      If IsObject(Files) Then
         Files.RemoveAll()
         Set Files = Nothing
      End If
      If IsObject(mcolFormElem) Then
         mcolFormElem.RemoveAll()
         Set mcolFormElem = Nothing
      End If
   End Sub

   Public Property Get Form(sIndex)
      Form = ""
      If mcolFormElem.Exists(LCase(sIndex)) Then Form =
mcolFormElem.Item(LCase(sIndex))
   End Property

   Public Default Sub Upload()
      Dim biData, sInputName
      Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos
      Dim nPosFile, nPosBound

      biData = Request.BinaryRead(Request.TotalBytes)
      nPosBegin = 1
      nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
      
      If (nPosEnd-nPosBegin) <= 0 Then Exit Sub
      
      vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin)
      nDataBoundPos = InstrB(1, biData, vDataBounds)
      
      Do Until nDataBoundPos = InstrB(biData, vDataBounds &
CByteString("--"))
         
         nPos = InstrB(nDataBoundPos, biData,
CByteString("Content-Disposition"))
         nPos = InstrB(nPos, biData, CByteString("name="))
         nPosBegin = nPos + 6
         nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
         sInputName = CWideString(MidB(biData, nPosBegin,
nPosEnd-nPosBegin))
         nPosFile = InstrB(nDataBoundPos, biData,
CByteString("filename="))
         nPosBound = InstrB(nPosEnd, biData, vDataBounds)
         
         If nPosFile <> 0 And nPosFile < nPosBound Then
            Dim oUploadFile, sFileName
            Set oUploadFile = New UploadedFile
            
            nPosBegin = nPosFile + 10
            nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34)))
            sFileName = CWideString(MidB(biData, nPosBegin,
nPosEnd-nPosBegin))
            oUploadFile.FileName = Right(sFileName,
Len(sFileName)-InStrRev(sFileName, "\"))

            nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:"))
            nPosBegin = nPos + 14
            nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13)))
            
            oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin,
nPosEnd-nPosBegin))
            
            nPosBegin = nPosEnd+4
            nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
            oUploadFile.FileData = MidB(biData, nPosBegin,
nPosEnd-nPosBegin)
            
            If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName),
oUploadFile
         Else
            nPos = InstrB(nPos, biData, CByteString(Chr(13)))
            nPosBegin = nPos + 4
            nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2
            If Not mcolFormElem.Exists(LCase(sInputName)) Then
mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData,
nPosBegin, nPosEnd-nPosBegin))
         End If

         nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds),
biData, vDataBounds)
      Loop
   End Sub

   'String to byte string conversion
   Private Function CByteString(sString)
      Dim nIndex
      For nIndex = 1 to Len(sString)
       CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1)))
      Next
   End Function

   'Byte string to string conversion
   Private Function CWideString(bsString)
      Dim nIndex
      CWideString =""
      For nIndex = 1 to LenB(bsString)
       CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1)))
      Next
   End Function
End Class

Class UploadedFile
   Public ContentType
   Public FileName
   Public FileData
   
   Public Property Get FileSize()
      FileSize = LenB(FileData)
   End Property

   Public Sub SaveToDisk(sPath)
      Dim oFS, oFile
      Dim nIndex
   
      If sPath = "" Or FileName = "" Then Exit Sub
      If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\"
   
      Set oFS = Server.CreateObject("Scripting.FileSystemObject")
      If Not oFS.FolderExists(sPath) Then Exit Sub
      
      Set oFile = oFS.CreateTextFile(sPath & FileName, True)
      
      For nIndex = 1 to LenB(FileData)
       oFile.Write Chr(AscB(MidB(FileData,nIndex,1)))
      Next

      oFile.Close
   End Sub
   
   Public Sub SaveToDatabase(ByRef oField)
      If LenB(FileData) = 0 Then Exit Sub
      
      If IsObject(oField) Then
         oField.AppendChunk FileData
      End If
   End Sub

End Class
%>
Med venlig hilsen
Bjørn Rønn Ginsborg
Telefon / Fax: 54457667
E-Mail adr.:
Ginsborg@Get2Net.DK

Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408878
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste