Listar Resources? Alguém Sabe?
Moderador: Moderadores
Listar Resources? Alguém Sabe?
Olá pessoal...
Existe alguma função que traga a lista de Resources... exemplo no ADVPL da TOTVS eles tem uma função pelo q vi chamada GetArrayRes q traz a lista de resorces em um array... queria algo semelhante.
[]'s
Existe alguma função que traga a lista de Resources... exemplo no ADVPL da TOTVS eles tem uma função pelo q vi chamada GetArrayRes q traz a lista de resorces em um array... queria algo semelhante.
[]'s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Listar Resources? Alguém Sabe?
Directory() não resolve?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Listar Resources? Alguém Sabe?
Não seriam os arquivos RC e sim o q é incorporado no EXE...
Explico...
antes meus relatórios FR3 (fastreport) eram arquivos externos soltos na pasta Relatórios... agora todos eles estão incorporados ao EXE, ou seja, não precisa mais enviar os FR3 junto nem se alguém apagar o sistema ter q baixar pra rodar o relatório pois fazem parte do EXE.
Ok até ai tudo certo.
Porém quero deixar de uma forma q se em determinado cliente precisar ter um relatório PERSONALIZADO então vai em determinada opção no sistema chamada Editar Relatórios do Sistema e aparece uma LISTA de tais relatórios, esta LISTA pra eu não ter q toda vez q criar um relatório e mencionar no arquivo RC ter q adicionar ao ARRAY manualmente gostaria, se tiver como, através de uma função listar todos os Recursos q estão incorporados no sistema...
Hoje esta assim:
Conteúdo do arquivo Sistema.RC (compilado e incorporado ao EXE)
Ai qdo vou no sistema em Editar Relatórios crio um Menu Achoice a partir de um Array com o nome dos relatórios assim:
Ai o usuário escolhe o relatório e eu eu abro no Fast o relatório em modo Design pra poder Alterar e Salvar como o mesmo nome exemplo relContrato.FR3 (relatório a partir do Resource alterado e salvo na pasta do sistema)
Este procedimento será feito pela área técnica pra evitar de usuários ficarem modificando sem conhecimento.
Ai na parte q carrega os relatórios ficaria assim...
Tudo isto já funciona, porém se tivesse como listar os relatórios contidos no EXE através do Resource, evitaria falha de eu incorporar um relatório e esquecer de alterar a rotina de personalização.
[]´s
Explico...
antes meus relatórios FR3 (fastreport) eram arquivos externos soltos na pasta Relatórios... agora todos eles estão incorporados ao EXE, ou seja, não precisa mais enviar os FR3 junto nem se alguém apagar o sistema ter q baixar pra rodar o relatório pois fazem parte do EXE.
Ok até ai tudo certo.
Porém quero deixar de uma forma q se em determinado cliente precisar ter um relatório PERSONALIZADO então vai em determinada opção no sistema chamada Editar Relatórios do Sistema e aparece uma LISTA de tais relatórios, esta LISTA pra eu não ter q toda vez q criar um relatório e mencionar no arquivo RC ter q adicionar ao ARRAY manualmente gostaria, se tiver como, através de uma função listar todos os Recursos q estão incorporados no sistema...
Hoje esta assim:
Conteúdo do arquivo Sistema.RC (compilado e incorporado ao EXE)
Código: Selecionar todos
relContrato RCDATA "D:\Projetos\Sistema\Relatorios\Contrato.FR3"
relEstoque RCDATA "D:\Projetos\Sistema\Relatorios\Estoque.FR3"Código: Selecionar todos
aRelatorios := { "relContrato", "relEstoque" }Este procedimento será feito pela área técnica pra evitar de usuários ficarem modificando sem conhecimento.
Ai na parte q carrega os relatórios ficaria assim...
Código: Selecionar todos
...
CarregaRelatorio("relContrato")
...
function CarregaRelatorio( cNomeRelatorio )
*-- Verifica se existe arquivo de relatório personalizado, caso não carrega do Resource.
if file( cNomeRelatorio + '.FR3)
oFR:LoadFromFile( cNomeRelatorio+'.FR3')
else
oFR:LoadFromResource(cNomeRelatorio)
endif
return nil
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Listar Resources? Alguém Sabe?
Fladimir,
Entendi agora.
Achei esse cara Resource Viewer
http://www.heaventools.com/rt-tour-resource-viewer.htm
Não sei se vai te atender.
Entendi agora.
Achei esse cara Resource Viewer
http://www.heaventools.com/rt-tour-resource-viewer.htm
Não sei se vai te atender.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Listar Resources? Alguém Sabe?
Obrigado Alexandre, mas esse aplicativo seria pra visualizar os resources de fora, o q eu gostaria era q meu sistema visualizasse os resources exitentes e tratasse isso filtrando os q são relatorios FR3 pra montar um menu pra poder editar de forma automática, hj monto isso manualmente.
Pesquisei e em FiveWin tem uma função em C chamada GetResources() q teria esta informação...
Mas blz... vamos continuando, caso eu consiga migrar esta função para o Harbour posto aki.
Mais uma vez agradeço a força.
[]´s
Pesquisei e em FiveWin tem uma função em C chamada GetResources() q teria esta informação...
Mas blz... vamos continuando, caso eu consiga migrar esta função para o Harbour posto aki.
Mais uma vez agradeço a força.
[]´s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Listar Resources? Alguém Sabe?
Fladimir,
Estou procurando no google, eu acho interessante obter essa informação.
Achei isso:
http://www.codeproject.com/Articles/422 ... -resources
A minha busca está indo nessa linha:
extract Resource from executable c++
Provavelmente você terá que achar um código em C ou C++ e portar para uma função harbour.
Tamu junto!
Estou procurando no google, eu acho interessante obter essa informação.
Achei isso:
http://www.codeproject.com/Articles/422 ... -resources
A minha busca está indo nessa linha:
extract Resource from executable c++
Provavelmente você terá que achar um código em C ou C++ e portar para uma função harbour.
Tamu junto!
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Listar Resources? Alguém Sabe?
Achei um que extrai todos os resources do .exe, sei que não é isso que você quer, mas pode ser útil, é free
https://sourceforge.net/projects/resourcextract/files/
https://sourceforge.net/projects/resourcextract/files/
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Listar Resources? Alguém Sabe?
Não sei se eu entendi direito, desculpe caso não tenha entendido.
Não teria como você ler os RCs e procurar por exemplo por "RCDATA" e ir pegando os nomes dos recursos?
Não teria como você ler os RCs e procurar por exemplo por "RCDATA" e ir pegando os nomes dos recursos?
William Manesco
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
Harbour 3.x | Fivewin | BCC | MySQL (TDolphin) | HBQT | HBIDE | Atom
Listar Resources? Alguém Sabe?
É por ai mesmo Alexandre... vou ver se consigo algo
Willian, não poderia pq os RC não vão pro cliente
Willian, não poderia pq os RC não vão pro cliente
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Listar Resources? Alguém Sabe?
Estou estranhando....
Você mesmo digita o nome no RC, antes de compilar.
E você quer uma lista do que você mesmo digita?
Não seria só digitar o mesmo nome no RC e no PRG?
Você mesmo digita o nome no RC, antes de compilar.
E você quer uma lista do que você mesmo digita?
Não seria só digitar o mesmo nome no RC e no PRG?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Listar Resources? Alguém Sabe?
o que o wmanesco escreveu está correto.
Se for o caso, você pode criar uma rotina, pra ser executada ANTES da compilação, que cria o PRG pra você a partir do arquivo RC.
Executaria a rotina antes de fazer a compilação, e já compilaria o PRG contendo a lista de resource.
Se for o caso, você pode criar uma rotina, pra ser executada ANTES da compilação, que cria o PRG pra você a partir do arquivo RC.
Executaria a rotina antes de fazer a compilação, e já compilaria o PRG contendo a lista de resource.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Listar Resources? Alguém Sabe?
Fladimir,
Você pode incluir no .rc o próprio .rc como texto e depois acessar/listar.
Você pode incluir no .rc o próprio .rc como texto e depois acessar/listar.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Listar Resources? Alguém Sabe?
Verdade pessoal...
Vou tentar aki obrigado
Vou tentar aki obrigado
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Listar Resources? Alguém Sabe?
No arquivo seu.rc
FileRC TXT SEU.RC
Para ler:
FileRC TXT SEU.RC
Para ler:
Código: Selecionar todos
cDataRC := Hb_LoadResourceRawFile ( "FileRC", "TXT" )
#pragma BEGINDUMP
#include <Windows.h>
#include <hbApi.h>
// HMG_LoadResourceRawFile ( cFileName, cTypeResource | nTypeResourceID )
HB_FUNC ( HB_LOADRESOURCERAWFILE )
{
HRSRC hResourceData;
HGLOBAL hGlobalResource;
LPVOID lpGlobalResource = NULL;
DWORD nFileSize;
TCHAR *FileName = (TCHAR*) hb_parc(1);
TCHAR *TypeResource = HB_ISCHAR (2) ? (TCHAR*) hb_parc(2) : MAKEINTRESOURCE ( hb_parni(2) );
hResourceData = FindResource ( NULL, FileName, TypeResource );
if ( hResourceData != NULL )
{
hGlobalResource = LoadResource ( NULL, hResourceData );
if ( hGlobalResource != NULL )
{
lpGlobalResource = LockResource ( hGlobalResource );
if ( lpGlobalResource != NULL )
{
nFileSize = SizeofResource ( NULL, hResourceData );
hb_retclen ( (const CHAR *) lpGlobalResource, (HB_SIZE) nFileSize );
}
FreeResource ( hGlobalResource );
}
}
if ( lpGlobalResource == NULL )
hb_retclen ( (const CHAR *) NULL, (HB_SIZE) 0 );
}
#pragma ENDDUMP
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Listar Resources? Alguém Sabe?
Quais as opções de executar esses relatórios?
Faça um teste com o resource universal.
Uso pra algumas coisas.
Assim o resource fica embutido dentro de um PRG.
Pra ilustrar o retorno em run-time:
A partir daí, é verificar na rotina que vai usar o relatório qual a melhor forma de usar.
Faça um teste com o resource universal.
Uso pra algumas coisas.
Assim o resource fica embutido dentro de um PRG.
Código: Selecionar todos
FUNCTION JPEGBancoItau()
#pragma __binarystreaminclude "image\banco341.jpg" | RETURN %s
FUNCTION JPEGBancoBradesco()
#pragma __binarystreaminclude "image\banco237.jpg" | RETURN %s
FUNCTION JPEGNatal()
#pragma __binarystreaminclude "image\natal.jpg" | RETURN %s
FUNCTION JPEGAnoNovo()
#pragma __binarystreaminclude "image\anonovo.jpg" | RETURN %s
Código: Selecionar todos
hb_MemoWrit( "itau.jpg", JPEGBancoItau() )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/

