Comando Host no Forms 9i

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Filipe_Geissler
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 08 Fev 2006 9:17 am
Localização: Canoas - RS

Bom dia!

Minha situação é a seguinte, tenho uma rotina que lê todos os arquivos de um diretório:

Selecionar tudo

Host( 'Dir c:\temp\*.* /aa/b > c:\temp\' || v_file, NO_SCREEN);
depois eu leio esse arquivo assim:

Selecionar tudo

filename := 'c:\temp\' || v_file;
in_file := Text_IO.Fopen(filename, 'r');
e jogo cada linha num campo no forms. Bem, ate aqui funciona muito bem! O problema é que ele quando ele cria o arquivo no comando host, ele não grava todo o nome do arquivo!

Por exemplo, se o nome do arquivo é Modelo_Planilha_Faturamento_Fabricante.xls, ele grava no arquivo MODELO~1.XLS !! Daí eu não posso exibir isso no forms!

Se está faltando por favor me digam!!!
Obrigado pela atenção!!!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Muito estranho...

O comando, direto no S.O, funciona perfeitamente.

Selecionar tudo

C:\>dir c* /aa/b
C05022005000813_10004365.str
C06022005013738_10004365.str
C06022005204603_10005024.str
C07022005012003_10004269.str
C07022005051343_10004269.str
C07022005162834_10006301.str
cobertura.txt
CONFIG.SYS
config_apisul.txt
CPQDRV
Cópia de C05022005000813_10004365.str
Cópia de C06022005013738_10004365.str
Cópia de C06022005204603_10005024.str
Cópia de C07022005012003_10004269.str
Cópia de C07022005051343_10004269.str
Cópia de C07022005162834_10006301.str

C:\>
Mas depois que eu rodei a mesma coisa no FORMS, não funcionou!!! Os nomes ficaram do jeito que você disse!

Eu criei .BAT com o comando DIR e chamei esse .BAT pelo HOST e daí funcionou direitinho. Fica a dúvida do que é isso...
Filipe_Geissler
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 08 Fev 2006 9:17 am
Localização: Canoas - RS

bah cara! Funcionou mesmo colocando o "dir" dentro de um .BAT. Valeu.

Eu estou fazendo isso, por que é para dar a opção do usuário de escolher o arquivo em questão.

Seria muito mais fácil usar o WIN_API_DIALOG.OPEN_FILE ou o GET_FILE_NAME, só que nenhum desses funciona, não abre a janela do windows para escolher o arquivo! Acho que é porque o 9i roda pela web.

Será que tens alguma dica? porque se isso funcionasse era o ideal!

Obrigado!
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Vai ter que usar a WEB_UTIL para escolher arquivo direto no cliente.
http://www.oracle.com/technology/produc ... ebutil.htm

A WEB_UTIL é uma série de DLL e JAR´s que são instaladas no servidor IAS, e elas fazem tudo que a D2KWUTIL faz. (tem um exemplo de todas as suas funções)
* Ler arquivos no cliente
* Gravar arquivos no cliente
* Buscar informações na maquina do cliente
* Rodar DLL´s no cliente!
* etc... Tudo isso, o applet faz! Parece um milagre, mas funciona!

É um pouco complicado de instalar, e sinceramente, não existe documentação em português! Sugiro você dar uma olhada no link acima pra ter uma idéia.



:-o
Filipe_Geissler
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 16
Registrado em: Qua, 08 Fev 2006 9:17 am
Localização: Canoas - RS

e aí!

Desculpe não ter mencionado antes, mas eu já tentei instalar ela! O problema é que aqui o banco é o 8i, daí ela não funciona, por que ela precisa de packages que não tem no 8i, pesquisei um monte isso já!!!!

Mas obrigado mesmo! Ajudou muito!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes