Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
Mantener Formato de HTML

Buenas noches

Aqui, otra vez con mis preguntas jeje, ahora estoy haciendo una aplicación para guardarme las tabladuras de la página http://www.lacuerda.net, para asi guardarlas en una DB (por cierto uso paradox 7)

La idea es la siguiente, agregar la URL en un edit, pulsar un botón y que parsee el HTML, guarde los datos extraidos de todo el código HTML, vamos a poner un ejemplo, este link http://lacuerda.net/tabs/m/mana/amam..._muera-4.shtml

Si se fijan hay títulos, nombre de canción, artista, etc

Código:
 Maná 
 Amame hasta que me muera   
  AUTOR: Fher
ALBUM: Sue~os Liquido (1997)
Y lo mas importante la letra de la canción con la tabladura, ahora he creado mi tabla de la siguiente manera, Artista, Cancion, Autor, Album, links -> Tipo Alpha de 100 caracteres (links es donde se va guardar el links, este para que no se repita el mismo)
y ahora ¿Donde guardaría la letra? ah si, pues que solo el campo Alpha solo es hasta 255 caracteres me vi obligado a usar el campo Memo, ya creo que esta bien mi tabla.

Ahora la aplicación hasta el momento esta funcionando bien, peeeero el problema es mostrar los datos, y si, ya tengo un tema parecido a este por aqui mismo, donde el #0 corta la cadena y no deja visualizar en el DBMemo, o es que no agrega todo el contenido ?

Una imagen vale mas que mil palabras, cuando estoy debunguendo (o como se llame, no sé )

http://img180.imageshack.us/img180/7214/errorfw6.jpg

Me salen un montón de caracteres raros, mirando en una tabla de HTML ASCII -> http://www.w3schools.com/tags/ref_ascii.asp no logré encontrar que eran esos caracteres, tambien hay comillas simples, probé con un

Código Delphi [-]
StringReplace(Codigo, '''', '', [rfReplaceAll]);

y con un

Código Delphi [-]
StringReplace(Letra.Text,'#$d#$A','#13', [rfReplaceAll]);

Pero sin resultados buenos, en la parte de #$d#$A jugué un poco con los caracteres, pero no le hace caso y se lo pasa por el ... xD

Ahora mi pregunta es, como podría guardar, y luego mostrar TODO lo que esta dentro de la etiqueta < PRE > < / PRE > ?

Ya que creo que lo hago correctamente, pero no logro poder visualizarlo en el DBMemo, puede ser el problema parecido al anterior, pero no puedo darme cuanta, ya que no es igual no hay el #0 (que lo parió) que corte la cadena, entonces que la corta ? O es que no la guarda ? o simplemente el Memo no quiero mostrarlo?

Aqui les dejo una parte del código, algo chapuzo, pero estoy aprendiendo

Código Delphi [-]
procedure TFPrincipal.BGuardarClick(Sender: TObject);
var
  Codigo : String;
  Letra : TStringList;
  Artista, Titulo, Autor, Album : String;
begin
  //Codigo := TStringList.Create;

  try
    Codigo := IdHTTP1.Get(ELink.Text);
    Artista := CopiarEntre(Codigo, 'class=tran1>', '
');
    Titulo := CopiarEntre(Codigo, 'COLOR=#b00000>', '

Última edición por dec fecha: 13-03-2008 a las 06:01:33.
Responder Con Cita
  #2  
Antiguo 25-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.297
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Los caracteres que te están apareciendo son el CR y LF (salto de carro y final de línea), que corresponden al #10 y #13.
Puedes usar el StringReplace si quieres con estos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 09-11-2007
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
Hola, ya he intentado con replace, pero ni caso le hace, sigue sin mostrar nada en el DBMemo

Saludos

PD, por cierto que a pasado con las etiquetas DELPHI ? en todos los subfotros veo que ya no sirven:S
Responder Con Cita
  #4  
Antiguo 09-11-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.297
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por BlackDaemon Ver Mensaje
PD, por cierto que a pasado con las etiquetas DELPHI ? en todos los subfotros veo que ya no sirven:S
Se restaurarán en breve; La última actualización de vBulletin que se acaba de hacer se las ha cargado...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 07-03-2008
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
buenas, quize abrir otro tema con el mismo problema y prefería seguir este, ya que trata de lo mismo, vamos otra vez estoy intentando hacer mi aplicaicón

Ya, el problema es el siguiente, no sé por que no me deja guardar parte del código html que genera la página de alguna pista.

Tengo mi tabla paradox con el campo memo, que es donde debería guardarse la letra con los acordes de la canción pero no lo hace, pero en este caso no se corta el código por que hay un #0 en medio ni nada, simplemente me sale un garabato en el DBMemo, ¿Por qué pasa esto?

Yo tengo una función que copia todo el texto que hay entre 2 palabras o cadenas que le pases como referencia, ahora un ejemplo.

El código fuente que genera esta página
http://lacuerda.net/tabs/m/mana/amam..._muera-4.shtml
es lo que necesito parsearlo, para obtener datos de el, como título, autor, etc, eso lo consigo, pero lo que no puedo conseguir es la canción misma, osea la letra con las tabladuras :S mas concretamente lo que quiero es lo que está entre las etiquetas html <PRE> y </PRE>, no sé que caracter haga que no guarde bien, pero probé con el principio de la página, vamos a ver este código

Código PHP:
<HTML>
 <
HEAD>
  <
TITLE>LaCuerdaManá Amame hasta que me muera</TITLE>
  <
META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
  <
LINK href="/estilo.php" rel="stylesheet" type="text/css">
 </
HEAD>

<
script language=JavaScript src="/scroll.php"></script>

<BODY aLink=#A00000 bgColor=#d0d0d0 topmargin=5 leftmargin=0 background="/Gifs/?i=fondo"> 
Función copiarentre

Código Delphi [-]
function TFPrincipal.CopiarEntre(var Cadena:AnsiString; Desde, Hasta:string):string;
var
  Inicio, Final: integer;
begin
  Result := '';
  Inicio := Pos(Desde, Cadena) + Length(Desde);
  Final := PosEx(Hasta, Cadena, Inicio);
  if Inicio = length(Desde) then Exit;
  if (Inicio > 0) and (Final > Inicio) then begin
    Result := Copy(Cadena, Inicio, Final-Inicio );
    Delete(Cadena,1,Inicio);
  end;
end;

Por ejemplo si yo le pongo copiarentre(codigoHTML, '<HTML>', 'scroll.php');
Lo hace correctamente, en el DBMemo me sale lo que está entre medio de esas cadenas, pero aquí es donde da el error yno sé por que, que es cuando uso la misma función y le pongo:
copiarentre(codigoHTML, '<HTML>','</script>');
Ahí es donde no guarda lo que tiene que ser, no sé por que pasa eso, supongo que hay un caracter en esa línea que hace que falle todo, pero no supe cual era, bueno solo es eso, espero me sepan ayudar


saludos!!
Responder Con Cita
  #6  
Antiguo 13-03-2008
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Poder: 18
BlackDaemon Va por buen camino
alguna idea ? me quedé aquí varado xD
podría ser que uso un string para tener todo el código fuente y que solo me guarda 255 caracteres ? qué tendría que usar ? Stringlist ? AnsiString ?

saludos!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
XML, HTML a texto con Formato. JXJ Varios 2 11-07-2007 23:34:22
como puedo mantener el formato de un campo DBEdit?? Bitbanner Tablas planas 9 07-02-2005 21:41:46
Como enviar un correo en formato HTML TDworD Internet 0 20-11-2004 20:01:13


La franja horaria es GMT +2. Ahora son las 06:15:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi