Ver Mensaje Individual
  #5  
Antiguo 07-03-2008
Avatar de BlackDaemon
BlackDaemon BlackDaemon is offline
Miembro
 
Registrado: dic 2006
Ubicación: Bolivia - Santa Cruz
Posts: 206
Reputación: 20
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