Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


fso - optimering

Postades av 2004-11-03 18:53:02 - Kim Lundström, i forum asp - allmänt, Tråden har 5 Kommentarer och lästs av 397 personer

Hej

Nån som känner för att ge lite tips på hur man kan optimera denna kod?

<%
Dim strPath
Dim objFSO
Dim objFolder
Dim objItem

strPath = "images/galleri/"
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))

Set rstFolders = Server.CreateObject("ADODB.Recordset")
rstFolders.Fields.Append "name", adVarChar, 255
rstFolders.Fields.Append "size", adInteger
rstFolders.Fields.Append "date", adDate
rstFolders.Open

Count = 0
nFirst = CInt(Request.QueryString("page"))
nLast = nFirst + 5

For Each objItem In objFolder.SubFolders
if(Count >= nFirst) Then
rstFolders.AddNew
rstFolders.Fields("name").Value = objItem.Name
rstFolders.Fields("size").Value = objItem.Size
rstFolders.Fields("date").Value = objItem.DateCreated
End If
Count = Count + 1
If (Count >= nLast) Then Exit For
Next

Set objItem = Nothing
Set objFolder = Nothing
Set objFSO = Nothing

IF rstFolders.EOF OR rstFolders.BOF THEN
goStart = "Yes"
ELSE

rstFolders.Sort = "date DESC"
rstFolders.MoveFirst

Do While Not rstFolders.EOF

fSize = rstFolders.Fields("size").Value
fSize = Round(fSize/1024/1024,2)
fDate = FormatDateTime(rstFolders.Fields("date").Value,2) & " kl " & FormatDateTime(rstFolders.Fields("date").Value,4)
%>
"><%=rstFolders.Fields("name").Value%><br>
<%
Response.Write "Skapad: " & fDate & "<br>"
Response.Write "Storlek: " & fSize & " mb<br>"

Dim FS, myFolder, myFiles
Set FS = CreateObject("Scripting.FileSystemObject")
Set myFolder = FS.GetFolder(Server.MapPath("images/galleri/" & rstFolders.Fields("name").Value))
Set myFiles = myFolder.Files
antalBilder = 0
For Each fileFound In myFiles
antalBilder = antalBilder + 1
Next
Response.Write "Antal bilder: " & antalBilder & " st<br><br>"

Set FS = Nothing
Set myFolder = Nothing
Set myFiles = Nothing

rstFolders.MoveNext
Loop

END IF

Response.Write "<div align=right>"

If(nFirst>=5) Then
IF goStart = "Yes" THEN
'Visa inget
ELSE
Response.Write "Tidigare "
END IF
End If

IF goStart = "Yes" THEN
Response.Write "<div align=left>"
Response.Write "<b>Ojdå!</b><br>Nu tog det slut på bilder.<br><br>"
Response.Write "</div>"
Response.Write "Tillbaka till start "
ELSE
Response.Write "Nästa "
END IF

Response.Write "</div>"

rstFolders.Close
Set rstFolders = Nothing
%>


Svara

Sv: fso - antal bilder i undermappar

Postades av 2004-11-05 10:12:31 - Kim Lundström

nån som kan?


Svara

Sv: fso - antal bilder i undermappar

Postades av 2004-11-05 14:07:50 - Ola Lindfeldt

Det var en del kod, jag skummar igenom snabbt och ger några tips bara..


<code>
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
' Du har här ett objFSO. Använd det i resten av koden. Skapa det inte igen!
' längre ner skapar du det för varje varv i en snurra, inte så bra.
' sätt den till Nothing allra sist.


For Each objItem In objFolder.SubFolders
if(Count >= nFirst) Then
' detta är väl onödigt. For-snurran stannar när det är slut..
Next





' vad gör FormatDateTime ?


' ett snabbare sätt att slå ihop strängar på:
Dim fDate
ReDim fDate(2) ' detta görs EN gång. Bara EN gång. 3 element. Upperbound=2.

fDate(0) = FormatDateTime(rstFolders.Fields("date").Value,2)
fDate(1) = " kl "
fDate(2) FormatDateTime(rstFolders.Fields("date").Value,4)

sResult = Join(fDate)




Response.Write "Skapad: " & fDate & "<br>"

'concat med en array som ovan eller
'ett annat sätt som oxå är mer optimalt.

Response.Write "Skapad: "
Response.Write fDate
Response.Write "<br>"





Dim FS, myFolder, myFiles
Set FS = CreateObject("Scripting.FileSystemObject")
'NEJ!! inte en gång till .. :-)




For Each fileFound In myFiles
antalBilder = antalBilder + 1
Next

' finns inte myFolder.Files.Count ?


</code>



Svara

Sv: fso - antal bilder i undermappar

Postades av 2004-11-05 16:18:38 - Kim Lundström

Hej
Tack för hjälpen :)
Det blev så här till slut.

( går att beskåda på http://www.weine.se/ .... galleri i menyn )

<%
Dim strPath
Dim objFSO
Dim objFolder
Dim objItem
Dim myFolder
Dim myFiles

strPath = "images/galleri/"
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))

Set rstFolders = Server.CreateObject("ADODB.Recordset")
rstFolders.Fields.Append "name", adVarChar, 255
rstFolders.Fields.Append "size", adInteger
rstFolders.Fields.Append "date", adDate
rstFolders.Open

pageCount = 0
nFirst = CInt(Request.QueryString("page"))
nLast = nFirst + 5

For Each objItem In objFolder.SubFolders
rstFolders.AddNew
rstFolders.Fields("name").Value = objItem.Name
rstFolders.Fields("size").Value = objItem.Size
rstFolders.Fields("date").Value = objItem.DateCreated
pageCount = pageCount + 1
If (pageCount >= nLast) Then Exit For
Next

IF rstFolders.EOF OR rstFolders.BOF THEN
goStart = "Yes"
ELSE

rstFolders.Sort = "date DESC"
rstFolders.MoveFirst

Do While Not rstFolders.EOF

fSize = rstFolders.Fields("size").Value
fSize = Round(fSize/1024/1024,2)

Dim fDate
ReDim fDate(2)
fDate(0) = FormatDateTime(rstFolders.Fields("date").Value,2) 
fDate(1) = " kl "
fDate(2) = FormatDateTime(rstFolders.Fields("date").Value,4) 
fDateResult = Join(fDate)

%>
"><%=rstFolders.Fields("name").Value%><br>
<%
Response.Write "Skapad: "
Response.Write fDateResult
Response.Write "<br>"

Set myFolder = objFSO.GetFolder(Server.MapPath("images/galleri/" & rstFolders.Fields("name").Value))
Set myFiles = myFolder.Files

Response.Write "Antal bilder: "
Response.Write myFolder.Files.Count
Response.Write " st<br>"

Response.Write "Storlek: "
Response.Write fSize
Response.Write " mb<br><br>"

rstFolders.MoveNext
Loop

END IF

Response.Write "<div align=right>"

If(nFirst>=5) Then
IF goStart = "Yes" THEN
'Visa inget
ELSE
Response.Write "Tidigare "
END IF
End If

IF goStart = "Yes" THEN
Response.Write "<div align=left>"
Response.Write "<b>Ojdå!</b><br>Nu tog det slut på bilder.<br><br>"
Response.Write "</div>"
Response.Write "Tillbaka till start "
ELSE
Response.Write "Nästa "
END IF

Response.Write "</div>"

rstFolders.Close
Set rstFolders = Nothing

Set myFolder = Nothing
Set myFiles = Nothing
Set objItem = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
%>


Svara

Sv: fso - antal bilder i undermappar

Postades av 2004-11-06 16:45:13 - Ola Lindfeldt

Det verkar fungera bra. Hur mkt snabbare blev det?


Svara

Sv: fso - antal bilder i undermappar

Postades av 2004-11-07 14:03:59 - Kim Lundström

en hel del snabbare :)
den va som rätt seg tidigare

tack


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 785
27 960
271 761
758
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies