Avatar billede larsbachmanndk Nybegynder
31. august 2005 - 14:23 Der er 11 kommentarer og
1 løsning

split filnavn ved punktum

Jeg har en side der viser en liste over tilgængelige filer.
Disse filer er primært Excel og Word (exl og doc), men der kan komme andre.

Lige nu viser den listen med filnavn.
Eks.

1.  fil1.xls
2.  fil2.xls
3.  dokument.doc

osv..

Nu vil jeg gerne have en funktion der deler filnavnet ved punktum
og så viser et et excel ikon hvis ordet slutter på xls, og et Word ikon, hvis filnavnet slutter på doc.

På forhånd tak :)
Avatar billede fennec Nybegynder
31. august 2005 - 14:28 #1
if right(filnavn,3) = "xls" then response.write "Excel"
if right(filnavn,3) = "doc" then response.write "Word"
Avatar billede softspot Forsker
31. august 2005 - 14:29 #2
vil du have hele koden eller er det bare selve opslitningen af filnavnet du er ude efter.

Det kan i det mindste gøres med split-funktionen

extension = split(filnavn, ".")(1)
Avatar billede fennec Nybegynder
31. august 2005 - 14:33 #3
Split() funktionen kan bare skabe problemer, hvis der er . i filnavnet. Ved godt at der ikke er mange der bruge . i filnavnet, men det kan desværre forkomme :o)
Avatar billede softspot Forsker
31. august 2005 - 14:33 #4
Hvis listen ellers er en streng hvor hver fil står på egen linie, kan du lave hele moletjavsen med flg.:

arrFilliste = split(filliste, vbCrLf)
for i = 0 to ubound(arrFilliste)
  filExt = split(arrFilliste(i), ".")(1)
  response.write("<img src=""" & filExt & ".gif"">" & arrFilliste(i) & "<br>")
next

forudsat at filliste har flg. indhold:

filnavn1.xls
filnavn2.doc
filnavn3.doc
...


Så skal du have nogle giffer liggende som hedder doc.gif og xls.gif.
Avatar billede softspot Forsker
31. august 2005 - 14:35 #5
fennec >> det har du egentlig ret i, så jeg vil da ændre mit forslag til

arrFilliste = split(filliste, vbCrLf)
for i = 0 to ubound(arrFilliste)
  arrFilParts = split(arrFilliste(i), ".")
  filExt = arrFilParts(ubound(arrFilParts))
  response.write("<img src=""" & filExt & ".gif"">" & arrFilliste(i) & "<br>")
next
Avatar billede softspot Forsker
31. august 2005 - 14:36 #6
...hvis der var nogen som skulle have den "perverse" idé at bruge extension der var længere end 3 tegn (jeg er klar over at den ikke er relevant her, men vil da nævne .html) :)
Avatar billede larsbachmanndk Nybegynder
31. august 2005 - 14:39 #7
Vi er ihvertfald på rette vej her.

Problemet er bare jeg ikke nødvendigvis ved hvad filnavnet er..
De kan hedde filnavn1.xls eller nogetheltandet.xls

Så uanset hvad filnavnet er, skal den dele ved punktum
Avatar billede softspot Forsker
31. august 2005 - 14:40 #8
Det gør den også :)

formatet var mere myntet på linieskiftene
Avatar billede larsbachmanndk Nybegynder
31. august 2005 - 14:45 #9
Herunder er et udsnit af koden.
Jeg henter filerne fra en Access database.
Kan jeg få jer til at tilpasse/indsætte jeres forslag?

<%
While Not rsFiles.EOF
%>

<table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td width="10"><b><% place = place+1 %><%=place%>.</b></td>
    <td><a href="files.asp?f_id=<% =rsFiles("id")%>" class="headline_big"><% =rsFiles("filename") %></a>
    </td>
  </tr>
</table>
<%
rsFiles.Movenext
Wend
%>
Avatar billede fennec Nybegynder
31. august 2005 - 14:50 #10
<%
While Not rsFiles.EOF
%>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td width="10"><b><% place = place+1 %><%=place%>.</b></td>
    <td><a href="files.asp?f_id=<% =rsFiles("id")%>" class="headline_big"><%= rsFiles("filename") %><%
    if right(rsFiles("filename")) = "doc" then Response.write "<img src=""word.gif"">"
    if right(rsFiles("filename")) = "xls" then Response.write "<img src=""excel.gif"">"
    %></a>
    </td>
  </tr>
</table>
<%
rsFiles.Movenext
Wend
%>
Avatar billede larsbachmanndk Nybegynder
31. august 2005 - 14:55 #11
Ahaa... :)

Tak for hjælpen til jer begge.
Avatar billede softspot Forsker
31. august 2005 - 14:56 #12
Velbekomme :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester