Discussão sobre a biblioteca Fivewin - O Clipper para Windows.
Moderador: Moderadores
Kapiaba
Colaborador
Mensagens: 1908 Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:
Mensagem
por Kapiaba » 22 Jan 2015 11:39
Bom dia Senhores, o que estou fazendo mal? Não está instalando a Fonte no windows 7 de 32 bits.
Código: Selecionar todos
#Include "FiveWin.ch"
FUNCTION Main ()
INSTFONTS()
RETURN NIL
FUNCTION INSTFONTS()
Local lInstala := .F.
IF .NOT. MsgYesNo( "Instalar Fontes da NF-e no Windows?", ;
"Instalar Fontes da NF-e no Windows " )
RETURN NIL
ENDIF
IF FILE( "C:\INST_NFE\GERAPNFE.EXE" ) .OR. ;
FILE( "C:\INST_NFE\GERAONFE.EXE" ) .OR. ;
FILE( "C:\INST_NFE\GERANFE.EXE" ) // PLENOIND
lInstala := .T.
ENDIF
IF lInstala
CopyFile( "C:\INST_NFE\fontes\Code128bWin.ttf", GetWinDir() + "\Fonts\Code128bWin.ttf", .T. )
AddFontResource( "C:\INST_NFE\fontes\Code128bWin.ttf" )
IF FILE( GetWinDir() + "\Fonts\Code128bWin.ttf" )
MSGWAIT( "As Fontes da NF-e Foram Instalados Com Sucesso..." )
ELSE
MSGWAIT( "As Fontes da NF-e Nao Foram Instaladas..." )
lInstala := .F.
ENDIF
ENDIF
RETURN NIL
// FIM
Obg. abs.
Kapiaba
Colaborador
Mensagens: 1908 Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:
Mensagem
por Kapiaba » 22 Jan 2015 17:54
Resolvido:
Alessandro, você é o cara!! Muito obrigado, funciona em windows 7, 8 e 10, nestes 2 últimos, testado pelo Alessandro.
Código: Selecionar todos
#Include "FiveWin.ch"
#include "Directry.ch"
#ifndef XPP
#define HKEY_CLASSES_ROOT 2147483648
#define HKEY_CURRENT_USER 2147483649
#define HKEY_LOCAL_MACHINE 2147483650
#define HKEY_USERS 2147483651
#define HKEY_PERFORMANCE_DATA 2147483652
#define HKEY_CURRENT_CONFIG 2147483653
#define HKEY_DYN_DATA 2147483654
#else
#define HKEY_CLASSES_ROOT 1
#define HKEY_CURRENT_USER 2
#define HKEY_LOCAL_MACHINE 3
#define HKEY_USERS 4
#define HKEY_PERFORMANCE_DATA 5
#define HKEY_CURRENT_CONFIG 6
#define HKEY_DYN_DATA 7
#endif
FUNCTION AddFonte()
INSTFONTS()
RETURN NIL
FUNCTION INSTFONTS()
Local lInstala := .F.
IF .NOT. MsgYesNo( "Instalar Fontes da NF-e no Windows?", ;
"Instalar Fontes da NF-e no Windows " )
RETURN NIL
ENDIF
IF FILE( "C:\INST_NFE\GERAPNFE.EXE" ) .OR. ;
FILE( "C:\INST_NFE\GERAONFE.EXE" ) .OR. ;
FILE( "C:\INST_NFE\GERANFE.EXE" ) // PLENOIND
lInstala := .T.
ENDIF
IF lInstala
IF .NOT. FILE( GetWinDir() + "\Fonts\Code128bWin.ttf" )
// Desligando o UAC do Windows.
oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" )
oReg:Set( "EnableLUA", 0 )
oReg:Close()
// Assim, o windows explorer mostra as fontes
LZCOPYFILE( "C:\INST_NFE\fontes\Code128bWin.ttf", GetWindir() + "\fonts\Code128bWin.ttf")
AddFontResource( "C:\INST_NFE\fontes\Code128bWin.ttf" )
LZCOPYFILE( "C:\INST_NFE\fontes\Code128bWinLarge.ttf", GetWindir() + "\fonts\Code128bWinLarge.ttf")
AddFontResource( "C:\INST_NFE\fontes\Code128bWinLarge.ttf" )
oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" )
oReg:Set( "EnableLUA", 1 )
oReg:Close()
ELSE
/*
oReg := TReg32():Create( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" )
// Isto nao funcionou em Windows 7 32 bits.
IF oReg:Get( "EnableLUA" ) == 0
oReg:Set( "EnableLUA", 1 )
ENDIF
oReg:Close()
*/
ENDIF
IF FILE( GetWinDir() + "\Fonts\Code128bWin.ttf" )
MsgWait( "As Fontes da NF-e Foram Instalados Com Sucesso..." )
ELSE
MsgWait( "As Fontes da NF-e Nao Foram Instaladas..." )
MsgInfo( "Desligue o Controle de Usuarios do Windows(UAC)", ;
"Desligue o Controle de Usuarios do Windows(UAC)" )
lInstala := .F.
ENDIF
ELSE
MsgWait( "As Fontes da NF-e Nao Foram Instaladas..." )
MsgInfo( "PROGRAMA DA NOTA FISCAL NAO LOCALIZADO...", ;
"PROGRAMA DA NOTA FISCAL NAO LOCALIZADO..." )
lInstala := .F.
ENDIF
lInstala := .F.
RETURN NIL
// Funções AddFontResource e RemoveFontResource, em linguagem C
#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>
HB_FUNC ( ADDFONTRESOURCE )
{
hb_retni( AddFontResource( (LPCSTR) hb_parc(1) ) );
}
HB_FUNC ( REMOVEFONTRESOURCE )
{
hb_retl( RemoveFontResource( (LPCSTR) hb_parc(1) ) );
}
#pragma ENDDUMP
// FIM
I LOVE FIVEWIN!
fladimir
Colaborador
Mensagens: 2445 Registrado em: 15 Nov 2006 20:21
Mensagem
por fladimir » 18 Mai 2016 18:24
Algumas dúvidas...
No caso da sua postagem ao instalar uma fonte vc DESATIVA o UAC q imagino ficar então a partir disto desativado... agora a dúvida é... fazendo isso teu sistema passa a rodar como Administrador ou nada ver?
Pergunto pq tem um outro tópico q vi q vc tb participou sobre como rodar o aplicativo como Administrador...
Então fiquei na dúvida sobre rodar como Administrador e desativar o UAC se são necessários os 2 procedimentos ou se 1 seria semelhante ao outro..
Tb fiquei na dúvida se deve ser colocado no inicio do sistema, digamos após o Main() e depois vem normal e fazendo isso se precisa reiniciar ou se já no inicio do sistema já resolve e o sistema já roda como Administrador...
[]´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.
Kapiaba
Colaborador
Mensagens: 1908 Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:
Mensagem
por Kapiaba » 19 Mai 2016 09:57
Bom dia Fladimir, porfa fale com o Rochinha, ele tem uma solução mais nova que esta. Abs.
fladimir
Colaborador
Mensagens: 2445 Registrado em: 15 Nov 2006 20:21
Mensagem
por fladimir » 19 Mai 2016 19:13
grato João.
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.
rochinha
Administrador
Mensagens: 4664 Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:
Mensagem
por rochinha » 21 Mai 2016 17:44
Amiguinhos,
fladimir
Veja se ajuda.
Anexos
fontinst.rar
(76.27 KiB) Baixado 129 vezes
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Kapiaba
Colaborador
Mensagens: 1908 Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:
Mensagem
por Kapiaba » 02 Jun 2016 16:45
Uma boa idéia, não testei:
Código: Selecionar todos
#include "FiveWin.ch"
FUNCTION INSTFONTS()
Local lDescarga:=.F.
IF FILE("fontinst.inf")
ERASE fontinst.inf
ENDIF
IF !MSGYESNO("Instalar Codigos de barras", "Instalar Codigos de barras")
RETURN NIL
ENDIF
IF !FILE("fontinst.exe")
lDescarga:=.T.
ENDIF
IF !FILE("Bar128ct.ttf")
lDescarga:=.T.
ENDIF
IF lDescarga
UPLOADFONTS()
ENDIF
XMENSCEN("[fonts]")
LZCOPYFILE( Curdrive()+ ":\" + Curdir() + "\Bar128ct.ttf", GetWindir()+"\fonts\Bar128ct.ttf" )
xmenscen("Bar128ct.ttf")
WINEXEC("fontinst.exe /f fontinst.inf")
MSGWAIT("Fontes Instaladas")
RETURN NIL
FUNCTION XMENSCEN(cText)
Local cFile:="fontinst.inf"
Local oText
oText := TTxtFile():New(cFile)
if oText:Open()
oText :Add( cText )
oText :Close()
endif
RETURN NIL
FUNCTION UPLOADFONTS()
Local oText,i
Local n:=0
IF FILE("UPLOADB.TXT")
ERASE UPLOADB.TXT
ENDIF
oText:= TTxtFile():New("UPLOADB.TXT" )
if oText:Open()
oText :Add("OPEN 999.999.999.999") //ftp de los fuentes
oText :Add("software")
oText :Add("1234567890" )
oText :Add("PROMPT OFF" )
oText :Add("BIN" )
oText :Add("HASH" )
oText :Add("MGET Bar128ct.ttf")
oText :Add("MGET fontinst.exe" )
oText :Add("QUIT" )
oText:Close()
endif
IF FILE("UPLOADB.TXT")
WAITRUN("FTP -s:UPLOADB.TXT")
ENDIF
ERASE UPLOADB.TXT
MSGWAIT("Fontes Baixadas", "Descarga OK")
Return .T.
// FIM