Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2018
Jcg-Guirola Jcg-Guirola is offline
Miembro
NULL
 
Registrado: may 2017
Posts: 20
Poder: 0
Jcg-Guirola Va por buen camino
Navegar por una web añadida como recurso en el .exe

Hola, lo que tengo es una página web de un solo archivo de extención .mht el nombre del archivo que he añadido al programa se llama Ayuda.res y la página web de un solo archivo se llama Ayuda.mht, lo que necesito es que en un componente webbrowser que tengo en mi form pueda abrir esta página(insertada en el .exe como recurso). He encontrado varios ejemplos pero donde el archivo de recurso es un audio o una imágen y he tratado de modificar el código para hacer esto pero no he logrado nada.
Responder Con Cita
  #2  
Antiguo 15-03-2018
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Básicamente debes volcar el recurso a un archivo temporal y abrirlo después con tu webbrowser. Aquí tienes in ejemplo con un mp3.

Saludos.
Responder Con Cita
  #3  
Antiguo 15-03-2018
Jcg-Guirola Jcg-Guirola is offline
Miembro
NULL
 
Registrado: may 2017
Posts: 20
Poder: 0
Jcg-Guirola Va por buen camino
Pruebo y mañana te digo porque tengo que ir ya para la casa y en mi casa no tengo internet
Responder Con Cita
  #4  
Antiguo 16-03-2018
Jcg-Guirola Jcg-Guirola is offline
Miembro
NULL
 
Registrado: may 2017
Posts: 20
Poder: 0
Jcg-Guirola Va por buen camino
Llevando eso a código delphi hice lo siguiente:
Código Delphi [-]
procedure THome.Label2Click(Sender: TObject);
var
Recursos: TResourceStream;

begin
  Recursos := TResourceStream.Create(hInstance, 'RES_MAPCODE', RT_RCDATA );
  Recursos.Seek( 0, soFromBeginning );
  recursos.SaveToFile('Ayuda.mht');//con esto lo guarda en la carpeta donde está el .exe
  webbrowser1.Navigate('\Ayuda.mht');//aqui pongo la dirección en donde se encuentra
end;
Lo que pasa es que me hace falta que lo guarde en los archivos temporales ('o en cualquier otro lado que no sea la carpeta de la aplicación) no sé si haya alguna de forma de que lo guarde allí independientemente de la verción de windows o la letra de la unidad donde está el sistema, por ejemplo en mi pc la ruta sería(C:\Windows\Temp) pero puede que para alguien sea (F:\Windows\Temp)

Última edición por Casimiro Notevi fecha: 16-03-2018 a las 19:04:32.
Responder Con Cita
  #5  
Antiguo 16-03-2018
Jcg-Guirola Jcg-Guirola is offline
Miembro
NULL
 
Registrado: may 2017
Posts: 20
Poder: 0
Jcg-Guirola Va por buen camino
En este enlace http://www.clubdelphi.com/foros/showthread.php?t=52361 encontré algo sobre obtener la ruta de la carpeta temp para usuarios voy a probar con eso
Responder Con Cita
  #6  
Antiguo 16-03-2018
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código Delphi [-]
function GetLongPathName(ShortPath, LongPath: PAnsiCHAR; size: DWORD): DWORD; stdcall; external 'Kernel32.dll' name 'GetLongPathNameA';



function GetTempFolder: String;
var
  buffer: array [0..MAX_PATH-1] of AnsiChar;
begin
  GetLongPathName(PAnsiCHAR(GetEnvironmentVariable('temp')), buffer, sizeof(buffer));
  Result:= buffer;
end;


Saludos.
Responder Con Cita
  #7  
Antiguo 20-03-2018
Jcg-Guirola Jcg-Guirola is offline
Miembro
NULL
 
Registrado: may 2017
Posts: 20
Poder: 0
Jcg-Guirola Va por buen camino
Ah disculpa la demora, problemas con el internet , mira que fácil, yo después de revisar lo que había descargado lo habia hecho de la siguiente forma(un poco más complicado):
Cita:
function SpecialFolder(Folder: Integer): String;
var
SFolder : pItemIDList;
SpecialPath : Array[0..MAX_PATH] Of Char;
begin
SHGetSpecialFolderLocation(ayudas.Handle, Folder, SFolder);
SHGetPathFromIDList(SFolder, SpecialPath);
Result := StrPas(SpecialPath);
end;


procedure TAyudas.Ayuda1Click(Sender: TObject);
var
Recursos: TResourceStream;
hFind, hRes: THandle;
url:string;

begin
url:=SpecialFolder(CSIDL_APPDATA)+'\Ayuda.mht';
Recursos := TResourceStream.Create(hInstance, 'RES_MAPCODE', RT_RCDATA );
Recursos.Seek( 0, soFromBeginning );
recursos.SaveToFile(URL);
webbrowser1.Navigate(URL);

// con esto no lo guardo en los archivos temporales, sino e la appdata del usuario
//ha y debe agregarse ,Shlobj en uses
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
DFM almacenado como recurso en ejecutable jocaro Varios 3 31-05-2016 19:33:14
dll como recurso. dentro d JXJ Varios 0 26-03-2011 01:23:27
Como navegar por un website offline desde delphi? Kyubi Internet 2 07-01-2009 20:29:41
Como evitar dejar rastros al navegar. selman .NET 5 02-09-2006 05:47:55
Como evitar dejar rastros al navegar selman .NET 1 01-09-2006 19:43:29


La franja horaria es GMT +2. Ahora son las 11:39:41.


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