Foros del Web » Programando para Internet » ASP Clásico »

Problemas para separar una variable

Estas en el tema de Problemas para separar una variable en el foro de ASP Clásico en Foros del Web. Hola a todos, Estoy haciendo una web bastante básica de un videoclub y en un rincón de la web he puesto una imagen aleatoria que ...
  #1 (permalink)  
Antiguo 07/12/2008, 18:19
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 11 meses
Puntos: 0
Problemas para separar una variable

Hola a todos,

Estoy haciendo una web bastante básica de un videoclub y en un rincón de la web he puesto una imagen aleatoria que elige entre una de las caratulas que tengo. Quizás debería obtenerla de mi base de satos pero al no tener muchas fotos aún (260) obtengo la foto de la carpeta de caratulas. El problema que tengo ahora es que quiero que esta imagen sea un link a la ficha de esa peli, el problema es que tal y como lo tengo ahora me coge el nombre de la imagen entera, por ejemplo: 06.jpg y yo quiero quitar el .jpg para que me funcione el hipervínculo. Os pongo el código de esa parte por si me podéis ayudar.

Código PHP:
<span class="lrecomendacion">Quizá le interese...</span>
      <
a href="../detalle.asp?id=<%=RandomImage("caratulas/","caratulas/01.jpg")%>">
      <
img class="recomendacion" src="<%=RandomImage("caratulas/","caratulas/01.jpg")%>"/></a
RandomImage está incluido en RandomTest.inc.asp que es este archivo:

Código PHP:
<%
  Function 
RandomImage(strPath,strDefault)
    
On Error Resume Next
    Randomize Timer

    
' declare all variables
    Dim objFSO, objFolder, objFiles, objFile
    Dim strFiles, strImages, strPhysical, strFile

    ' 
this constant has the names of valid image file name
    
' extensions and can be modified for more image types
    Const strValid = ".gif.jpg.png"

    ' 
make sure we have a trailing slash in the path
    
If Right(strPath,1) <> Chr(47Then strPath strPath Chr(47)
    
' get the physical path of the folder
    strPhysical = Server.MapPath(strPath)
    ' 
get a File System Object
    Set objFSO 
Server.CreateObject("Scripting.FileSystemObject")
    
' create a folder object
    Set objFolder = objFSO.GetFolder(strPhysical)
    ' 
get the files collection
    Set objFiles 
objFolder.Files

    
' enumerate the files collection looking for images
    For Each objFile in objFiles
      strFile = LCase(objFile.Name)
      If Instr(strValid,Right(strFile,4)) Then
        ' 
add vaild images to a string of image names
        strFiles 
strFiles strFile vbTab
      End 
If
    
Next

    
' split the image names into an array
    strImages = Split(strFiles,vbTab)
    
    ' 
if we have an array...
    If 
UBound(strImages) > 1 Then
      
' get a random name
      RandomImage = strPath & strImages(Int(Rnd(1)*UBound(strImages)))
    Else
      ' 
otherwise return the default
      
RandomImage strDefault
    End 
If

  
End Function
%> 
El problema que tengo es que obtengo una imagen, por ejemplo:
<img src="caratulas/01.jpg>
pero el hípervinculo que creo es:
http://localhost/pelis2/detalle.asp?id=caratulas/01.jpg
y yo necesito que sea:
http://localhost/pelis2/detalle.asp?id=01

¿Cómo puedo separar el 01 o el número que sea de lo que consigo con esa función?

Si pueden darme cualquier consejo se lo agradecería mucho.
  #2 (permalink)  
Antiguo 07/12/2008, 19:53
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
Respuesta: Problemas para separar una variable

enlaceCreado = "http://localhost/pelis2/detalle.asp?id=caratulas/01.jpg"
enlaceCreado = replace(enlaceCreado,".jpg""")

o
+ midas la cadena
+ otal de caracteres menos 4 (.gif, .jpg, etc)
+ imprimes enalce

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 08/12/2008, 06:55
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Problemas para separar una variable

Hola

Parece que tambien quiere quitarle la carpeta

Prueba así

Código asp:
Ver original
  1. <%
  2. aleatorio = RandomImage("caratulas/","caratulas/01.jpg") ' caratulas/01.jpg
  3. arr = Split(aleatorio, "/")
  4. 'arr(0) caratula
  5. 'arr(1) 01.jpg
  6. largo = Len(arr(1))-4
  7. enlace = Mid(arr(1),1,lago)
  8. %>
  9.       <a href="detalle.asp?id=<%=enlace%>">texto</a>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 08/12/2008, 16:55
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Problemas para separar una variable

Muchas gracias a ambos,

He probado el método de Adler y funciona perfectamente, supongo que más adelante intentaré hacerlo de forma que coja un registro de una base de datos pero de momento me vale así.

Gracias de nuevo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:52.