Sitter här och knådar skallen lite...
Jag har gjort som så att jag fyller ett Recordset med filer i en mapp, och sedan skriver jag ut alla i bokstavsordning...
Men jag vill lista det på ett annat sätt!
Jag har exempelvis:
entextfil.doc
entextfil.pdf
När jag skriver ut dessa vill jag få.
Filnamnet pdf doc
Alltså skriva ut namnet, och sedan ifall det finns en pdf-fil så skriver jag ut pdf och en länk till den och om det finns en likadan fil fast med .doc så skriver jag det och en länk till den!!!
gör så att du sparar föregående filnamn i en variabel och jämför den nästkommande med den. Skulle det vara samma (innan punkten), så lägger du ju bara till en länk till .pdf.
hmm....
Efter en stor kopp kaffe och en stund så har jag entligen fått det att fungera...
Man listar alla Word (.doc) och Acrobat Reader (pdf) filer i en mapp, gjord för att man skall ha två stycken. allså ex.
Folder.doc
Folder.pdf
Men det går likabra att bara ha en fil!
Ifall någon behöver något liknande
<table width="500" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF">
<tr>
<td width="300" bgcolor="#9EB1CD"> <strong>Dokument:</strong></td>
<td width="100" bgcolor="#9EB1CD"> <strong>WORD-fil:</strong></td>
<td width="100" bgcolor="#9EB1CD"> <strong>PDF-fil:</strong></td>
</tr>
<%
Dim objRS, objFSO, objFolder, Extension, File
Set objRS = Server.CreateObject("ADODB.Recordset")
'## -- definiera fälten som ska ingå i recordsetet --
objRS.Fields.Append "FileName", adVarChar, 255
objRS.Fields.Append "FileSize", adInteger, 50
objRS.Fields.Append "FileExtension", adVarChar, 5
'## -- skapa fälten och öppna recordsetet --
objRS.Open ,,adOpenStatic,adLockOptimistic
'///////////////////////////////////////////////////
'## -- Nu skall vi lägga in filer i Recordsetet --
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("Styrdokument\"))
'## -- lista alla filer i katalogen och lägg till infon --
For Each File IN objFolder.Files
Extension = Right(File.Name, 3)
objRS.AddNew
objRS("FileName") = File.Name
objRS("FileSize") = File.Size
objRS("FileExtension") = Extension
objRS.Update
Next
'///////////////////////////////////////////////////
'## -- sortera efter filändelse --
objRS.Sort = "FileName ASC"
'## -- gå till första posten --
objRS.MoveFirst
'///////////////////////////////////////////////////
Dim intLength, strNewName, strOldName, size, typ, tecken
'## -- Skriv ut filerna!
Do Until objRS.Eof
'## -- Hämta filnamnet och ta bort de fyra sista för att jämnföra & skriva ut
intLength = Len(objRS("FileName")) - 4
strNewName = Left(objRS("FileName"), intLength)
'## -- Kolla storleken på filen och bestäm!
Typ = "kb"
Size = objRS("FileSize") / 1000
Tecken = instr(Size,",") + 1
Size = Left(Size,Tecken)
If Size = "0,0" Then
Size = objRS("FileSize")
Typ = "byte"
End if
'## -- Jämnför det gamla med det nya namnet
If strNewName = strOldName Then
'## -- Namnen stämmde
'## -- Ifall det finns en PDF-fil med samma namn så skriv ut!
If UCase(objRS("FileExtension")) = "PDF" Then
Response.Write "<td width=""100""> "
Response.Write "<a href=""Styrdokument\" & objRS("FileName") & """ class=""lank"">"
Response.Write objRS("FileExtension")
Response.Write "</a> <i>" & Size & " " & Typ & "</i></td></tr>" & vbcrlf
Else
Response.Write "<td width=""100""> </td></tr>" & vbcrlf
End If
Else
Response.Write "<tr>" & vbcrlf
'## -- Skriv ut filens namn, samt spara i variabel för att jämnföra
Response.Write "<td width=""300""> "
intLength = Len(objRS("FileName")) - 4
strOldName = Left(objRS("FileName"), intLength)
Response.Write strOldName
Response.Write "</td>" & vbcrlf
'## ----------------------------------------------------------------
'## Skriv ut om det är en pdf eller doc
If UCase(objRS("FileExtension")) = "DOC" Then
Response.Write "<td width=""100""> "
Response.Write "<a href=""Styrdokument\" & objRS("FileName") & """ class=""lank"">"
Response.Write objRS("FileExtension")
Response.Write "</a> <i>" & Size & " " & Typ & "</i></td>" & vbcrlf
ElseIf UCase(objRS("FileExtension")) = "PDF" Then
Response.Write "<td width=""100""> </td>" & vbcrlf
Response.Write "<td width=""100""> "
Response.Write "<a href=""Styrdokument\" & objRS("FileName") & """ class=""lank"">"
Response.Write objRS("FileExtension")
Response.Write "</a> <i>" & Size & " " & Typ & "</i></td></tr>" & vbcrlf
Else
Response.Write "<td width=""100""> </td>" & vbcrlf
End If
End If
objRS.MoveNext
Loop
%>
</table>
253 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9