Página 1 de 1
Converter site/pdf
Enviado: 29 Ago 2019 00:51
por JoséQuintas
Preciso fazer o seguinte:
1. Converter o conteúdo do PDF em texto e/ou dbf
2. Mesma coisa com esta página
https://www.sony.com/electronics/suppor ... te_codes_i
O PDF tem código que o site não tem, e vice-versa, e já usei dos dois.
Se o site desaparecer, lá se vão os códigos.
Alguma dica sobre como fazer isso?
No site parece Jason, mas não sei dizer, porque não mexo com isso, é apenas chute.
É do controle remoto Sony, aparelhos que ele pode controlar, e depende de colocar o código correto.
Converter site/pdf
Enviado: 29 Ago 2019 07:22
por Toledo
Quintas, você pode fazer o seguinte:
PDF para texto, veja este site:
https://pdftotext.com
Agora Site para texto, você pode fazer o seguinte:
1 - Entre no site e depois clique com o botão da direita do mouse sobre a página do site e escolha a opção "Salvar Página como...", ai na janela que vai abrir, você pode escolher o Tipo de arquivo você deseja salvar, onde tem opção para salvar como Arquivo Texto (txt).
Converter site/pdf
Enviado: 11 Ago 2020 16:49
por JoséQuintas
Lembrei disso......
Deu um trabalhinho.... mas tava tudo num jason.
Agora falta criar o que interessa.
O fonte cria o texto do hash, e mostra de forma "humana", de como seria usado no fonte.
Tem a função que usei pra converter a string em um fonte PRG
Tem a minha rotina de mostrar como seria usado o hash no fonte.
A rotina de mostrar, mostra algo deste tipo:
Converter site/pdf
Enviado: 11 Ago 2020 17:15
por JoséQuintas
Pra quem não viu....
Tem 12 tipos de aparelho, em cada aparelho é escolher o fabricante, e conforme a escolha, mostra os códigos para programação.
É que controle remoto, sem o manual de como configurar, não é útil.
E mais fácil selecionar por um menu desse tipo, do que procurar numa lista gigantesca, com letras miúdas.
É daquele controle remoto que veio da China, mas que é Sony.
Vai que a Sony tira do ar, melhor garantir.
O próximo passo é como criar o fonte da seleção.
Converter site/pdf
Enviado: 11 Ago 2020 17:39
por JoséQuintas
Não pensei que ia ser tão rápido.
Usei como referência a janela anterior, aonde mostra a "nomenclatura" do acesso.
Isso mostra o que já comentei: Seja HASH ou Jason convertido, é tudo array, e acessa igual array, ou por nome ou por número.
TUDO direto no Hash array retornado do hb_JsonDecode()
Mas pra ficar bom... precisa ser em tbrowse, porque em prompt não cabe na tela.
Código: Selecionar todos
#include "inkey.ch"
PROCEDURE Main
LOCAL cTxt, aHash
LOCAL oAparelho, nOpcAparelho := 1
LOCAL oFabricante, nOpcFabricante := 1
LOCAL oCode
SetMode(30,100)
CLS
cTxt := JasonList() // Memoread( "remote.html" )
aHash := hb_jsonDecode( cTxt )
DO WHILE .T.
@ 0, 30 CLEAR TO MaxRow(), MaxCol()
FOR EACH oAparelho IN aHash[ "devices" ]
@ oAparelho:__EnumIndex, 1 PROMPT oAparelho[ "device" ]
NEXT
MENU TO nOpcAparelho
IF Lastkey() == K_ESC
EXIT
ENDIF
DO WHILE .T.
@ 0, 60 CLEAR TO MaxRow(), MaxCol()
FOR EACH oFabricante IN aHash[ "devices" ][ nOpcAparelho ][ "brandCodes" ]
@ oFabricante:__EnumIndex, 30 PROMPT oFabricante[ "brand" ]
NEXT
MENU TO nOpcFabricante
IF LastKey() == K_ESC
EXIT
ENDIF
FOR EACH oCode IN aHash[ "devices" ][ nOpcAparelho ][ "brandCodes" ][ nOpcFabricante][ "codes" ]
@ oCode:__EnumIndex, 60 SAY oCode
NEXT
Inkey(0)
ENDDO
ENDDO
//ShowJson( aHash, "aHash" )
//Inkey(0)
RETURN
Converter site/pdf
Enviado: 11 Ago 2020 17:45
por JoséQuintas
Putz... o potencial é grande.
Aparece a lista de tipos de aparelho.
Ao escolher o aparelho, aparece a lista de fabricantes para o tipo de aparelho escolhido.
Ao escolher o fabricante, aparece a lista de códigos para o fabricante escolhido, e para o tipo escolhido.
TUDO UMA ÚNICA VARIÁVEL.
Não consigo nem imaginar qual seria o tamanho do fonte, se fosse fazer diferente.
Imaginem isso pra definir uma tela GUI, combos, textbox, listbox, etc.
Uma única variável com tudo.
Achei sensacional
Abre muitas possibilidades.
Nota: e isso tudo foi só pra poder olhar os códigos na hora de programar o meu controle remoto.... kkkk
Converter site/pdf
Enviado: 11 Ago 2020 18:16
por JoséQuintas
Tava com preguiça... fiz em GUI mesmo.
Código: Selecionar todos
#include "inkey.ch"
PROCEDURE Main
LOCAL cTxt, aHash, oAparelho, oFabricante, oCode
LOCAL oMenu, oSubMenu1, oSubMenu2, oSubMenu3, nKey := 0
SetMode(30,100)
CLS
cTxt := JasonList() // Memoread( "remote.html" )
aHash := hb_jsonDecode( cTxt )
oMenu := wvgSetAppWindow():MenuBar()
oSubMenu1 := wvgMenu():New( oMenu, , .T. ):Create()
FOR EACH oAparelho IN aHash[ "devices" ]
oSubMenu2 := WvgMenu():new( oSubMenu1, , .T. ):Create()
FOR EACH oFabricante IN aHash[ "devices" ][ oAparelho:__EnumIndex ][ "brandCodes" ]
oSubMenu3 := wvgMenu():New( oSubMenu2, , .T. ):Create()
FOR EACH oCode IN aHash[ "devices" ][ oAparelho:__EnumIndex ][ "brandCodes" ][ oFabricante:__EnumIndex ][ "codes" ]
oSubMenu3:AddItem( oCode, { || NIL } )
NEXT
oSubMenu2:AddItem( oSubMenu3, oFabricante[ "brand" ] )
NEXT
oSubMenu1:AddItem( oSubMenu2, oAparelho[ "device" ] )
NEXT
oMenu:AddItem( oSubMenu1, "Selecione" )
DO WHILE nKey != K_ESC
nKey := Inkey()
ENDDO
wvgSetAppWindow():oMenu := NIL
oMenu:Destroy()
//ShowJson( aHash, "aHash" )
//Inkey(0)
RETURN

Converter site/pdf
Enviado: 07 Set 2020 19:08
por JoséQuintas
Eliminei a criação do json do fonte, usando resource:
Código: Selecionar todos
STATIC FUNCTION JasonList()
#pragma __binarystreaminclude "resource/remote.json" | RETURN %s
É com minha função de achoice fiz o resto.
Código: Selecionar todos
#include "inkey.ch"
PROCEDURE pTesRemSony
LOCAL cTxt, aHash, aList, nOpc
LOCAL oAparelho, nOpcAparelho
LOCAL oFabricante, nOpcFabricante
LOCAL oCode
cTxt := JasonList()
aHash := hb_jsonDecode( cTxt )
DO WHILE .T.
Cls()
aList := {}
FOR EACH oAparelho IN aHash[ "devices" ]
AAdd( aList, oAparelho[ "device" ] )
NEXT
wAchoiceNoClose( 1, 1, aList,@nOpcAparelho, "Device" )
IF Lastkey() == K_ESC
EXIT
ENDIF
DO WHILE .T.
@ 0, 60 CLEAR TO MaxRow(), MaxCol()
aList := {}
FOR EACH oFabricante IN aHash[ "devices" ][ nOpcAparelho ][ "brandCodes" ]
AAdd( aList, oFabricante[ "brand" ] )
NEXT
wAchoiceNoClose( 5, 30, aList, @nOpcFabricante, "brand" )
IF LastKey() == K_ESC
EXIT
ENDIF
aList := {}
FOR EACH oCode IN aHash[ "devices" ][ nOpcAparelho ][ "brandCodes" ][ nOpcFabricante][ "codes" ]
AAdd( aList, oCode )
NEXT
wAchoice( 10, 60, aList, @nOpc, "brandcodes" )
( nOpc )
Inkey(0)
wClose()
ENDDO
wClose()
ENDDO
RETURN
STATIC FUNCTION JasonList()
#pragma __binarystreaminclude "resource/remote.json" | RETURN %s

Conclusão interessante:
Dá pra aproveitar o arquivo json pra economizar fonte PRG, como as IDEs fazem.
Sei não... possibilidades se mutiplicando.... ainda mais podendo salvar no MySQL...
Assim vou começar a gostar de variável hash.....
Converter site/pdf
Enviado: 07 Set 2020 19:29
por JoséQuintas
Só precisa achar um jeito de reduzir o "linguição".
Agora com título conforme seleção.
Definitivamente, igual array mesmo, só troca número por palavra.