Winisis permite acrescentar interatividade aos formatos de extração de dados através do estabelecimento de um relacionamento entre um campo (ou grupo de campos) e uma ação a ser executada.
O formato geral do comando LINK( ) é o seguinte:
link((descritor),ação)
Onde,
- descritor é um formato que exibe ao usuário a ação a ser executada; a saída deste formato é feita com sublinhado simples na cor 2 da tabela de cores (cl2, verde por default); clicando sobre o link, uma ação será executada;
-
ação é um formato que indica ao Winisis a ação a ser executada quando o usuário clicar na saída produzida por descritor; a saída deste formato não é exibida na tela e necessariamente deve ser um dos comandos de hipertexto listados a seguir.
Exemplo de comando de hipertexto:
link((‘Ver Imagem’),’CMD pbrush c:\\winisis\\ab_jan98.bmp’)
Na tela é exibido apenas: Ver Imagem
Uma vez que o usuário clicar sobre o termo sublinhado, a figura ab_jan98.bmp é exibida pelo software Paintbrush.
Todos os comandos de hipertexto contidos em ação devem ser escritos em caixa alta e seguidos de um espaço. Além disso, tanto ação quanto descritor são sensíveis ao comando de modo utilizado. Por vezes é necessário alterar o modo corrente para obter o resultado desejado.
Quando presentes na sintaxe do comando, os caracteres especiais listados abaixo devem ser codificados conforme indicado:
Caracter |
Codificar como |
\ |
\\ |
{ |
\{ |
} |
\} |
GOTO
Sintaxe: GOTO n
Vai para o número de MFN especificado em n. A expressão n pode ser substituída por um formato desde que este devolva uma cadeia de caracteres que contenha um número. Por exemplo:
link(('teste'),'GOTO 'f(l('água')))
Esta instrução desloca o foco da janela Base de Dados para o primeiro registro ondeágua ocorra, na base de dados ativa.
link((‘teste’),’GOTO 1′)
Esta instrução desloca o foco da janela Base de Dados para o primeiro registro da base de dados ativa.
LGOTO termo
Sintaxe: LGOTO termo
Exibe o registro correspondente ao primeiro posting de termo.
Termo é um formato que define um termo a ser pesquisado no dicionário. Por exemplo:
link(('teste'),'LGOTO água')
Quando o usuário clicar em teste, Winisis exibirá o registro correspondente ao primeiro posting de água. Este exemplo tem o mesmo efeito que o visto anteriormente. A diferença é que LGOTO realiza a busca somente em resposta ao clique do usuário, enquanto GOTO realiza isto durante a execução do formato. LGOTO é mais rápido e evita buscas desnecessárias ao dicionário.
GOBACK
Mostra o registro exibido anteriormente ao registro ativo, independentemente da ordem de MFN. Isto é útil quando implementado em formatos que utilizam comandos GOTO eLGOTO. Por exemplo:
link (('Anterior'),'GOBACK')
Caixas de texto
Sintaxe:TEXTBOX[R][CHILD][IMG][LOAD] formato
Permite exibir textos ou imagens resultantes da execução de formato em uma janela separada. O exemplo a seguir mostra o formato básico do comando:
link(('Exibir resumo'),'TEXTBOX ',v24)
Note que há um espaço após o comando TEXTBOX.
Se o usuário clicar no item Exibir resumo, Winisis exibirá o conteúdo do campo 24 (v24) em uma janela própria.
Tipos de janelas TEXTBOX
É possível criar janelas TEXTBOX de diferentes maneiras:
– como janelas independentes;
– como janelas “filhas” da base de dados;
– como janelas “filhas” de um registro.
Deve-se especificar o tipo de janela a ser aberta codificando o comando como segue:
TEXTBOX a janela só pode ser fechada através do botão correspondente ou quando Winisis for terminado;
TEXTBOXCHILD a janela é declarada como “filha” da base de dados; todas as janelas declaradas como CHILD desta base fecham-se automaticamente ao ser fechada a base de dados;
TEXTBOXRCHILD a janela é declarada como “filha” do registro. Movendo-se a outro registro, ou fechando-se a base de dados, fecham-se todas as janelas declaradas como RCHILDdeste registro.
Alguns exemplos do uso de TEXTBOX:
Link(('teste'),'TEXTBOX ',v24)
Link(('teste'),'TEXTBOXCHILD ',v24” – “,v70+|; |)
Link(('teste'),'TEXTBOXRCHILD ',@cds1)
O formato do comando TEXTBOX é executado enquanto o registro é exibido, ocupando a área de armazenamento de exibição, cujo tamanho máximo é de 64.000 caracteres.
Se o formato produz uma cadeia de caracteres com 30.000 caracteres, é preciso certificar-se que o formato produzido por TEXTBOX não produzirá mais que 34.000 caracteres, ou ocorrerá um erro. Por motivos de implementação, formato não pode conter nenhum comando de espacejamento horizontal ou vertical – tais como F, FS,CL, etc. (caso contenha, serão ignorados). Para produzir saídas com este comando, é preciso utilizar o parâmetro LOAD, como explicado a seguir.
Carregando arquivos de formato
Para evitar algumas das limitações mencionadas acima, é preciso acrescentar o parâmetro LOAD ao comando TEXTBOX, indicando que formato é um nome de formato que não o atual. Neste caso, o formato não será carregado ou executado até que o usuário clique no vínculo de hipertexto. O formato carregado pode produzir uma cadeia de caracteres de até 64.000 caracteres e pode incluir qualquer comando de formatação válido. O parâmetro LOAD pode ser aplicado a qualquer tipo de comandoTEXTBOX.
Exemplo:
link (('Outro formato'),'TEXTBOXCHILDLOAD cds1')
Abrirá uma janela exibindo o texto resultante da execução do formato ‘cds1’.
Atenção para a diferença entre os dois links descritos abaixo:
link(('Outro formato'),'TEXTBOX ',@cds1)
link(('Outro formato'),'TEXTBOXLOAD cds1')
O primeiro executa o formato ‘cds1’ enquanto exibe o registro; o segundo executa ‘cds1’ somente quando o usuário clica no link de hipertexto.
Exibindo imagens com TEXTBOX
Para exibir figuras, deve-se acrescentar a expressão IMG ao parâmetro TEXTBOX.
Winisis 1.5 permite exibir arquivos de imagem do tipo bmp, gif ou jpeg.
Importante:
-
ao informar o nome do arquivo de imagem, a extensão deve ser omitida;
-
É possível utilizar o parâmetro IMG em conjunto com qualquer tipo de comando TEXTBOX, entretanto, os parâmetros LOAD e IMG são mutuamente exclusivos.
Exemplos:
Link((‘Exibir figura’),’TEXTBOXIMG ‘,v300)
O nome do arquivo da imagem deve estar presente no campo 300. Ao clicar em “Exibir figura”, o arquivo da imagem é aberto numa nova janela.
A janela de visualização da imagem disponibiliza botões para aumentar ou reduzir o tamanho, facilitando a visualização. Clique em + ou – para definir o zoom:
Textboximg de um artigo de periódico
É possível, também imprimir ou copiar a imagem para a área de transferência. Clicando no botão fechar no canto superior direito, a janela da imagem é encerrada.
link(('Ver imagem'),'TEXTBOXIMG c:\\winisis\\ab_jan98')
Abrirá uma nova janela exibindo o arquivo “ab_jan98.bmp”
link(('Ver imagem'),'TEXTBOXCHILDIMG c:\\winisis\\ab_jan98')
link(('Ver imagem'),'TEXTBOXRCHILDIMG c:\\winisis\\ab_jan98')
Identificando janelas TEXTBOX
Cada vez que um vínculo de hipertexto tipo TEXTBOX é clicado, uma nova janela é aberta para exibir os dados correspondentes. Para evitar confusão com um grande número de janelas abertas na tela, deve-se assinalar um número para cada uma delas.
O número da janela (o qual pode ser de 1 a 20) deve ser colocado entre colchetes imediatamente após o comando TEXTBOX.
Exemplos:
link((‘Ver registro’),'TEXTBOX[2] ',@cds1)
link((‘Ver registro’),'TEXTBOX[1]CHILDLOAD cds1')
link((‘Ver registro’),'TEXTBOX[3]LOAD cds1'
Openfile
Permite que um arquivo seja aberto a partir de um programa associado a sua extensão pelo Windows.
O formato geral do comando OPENFILE é o seguinte:
link((descritor),’OPENFILE ’ arquivo)
Note que OPENFILE deve ser digitado em letras maiúsculas e um espaço deve ser deixado no final da palavra, antes do fechamento das aspas, porque ele é interpretado como o nome do arquivo.
Exemplos:
link((‘texto na íntegra’),’OPENFILE ’ v50)
Supondo que o campo 50 contém o nome de um documento Word,c:\docs\recibo.doc, ao clicar sobre o link, o programa Microsoft Word será ativado e abrirá o arquivo recibo.doc.
Outro uso deste comando é para acessar páginas da Web. O formato pode conter:
Link((‘Ir para o web site’),’OPENFILE ‘,v950)
E o campo 950 é usado para armazenar o nome da URL:
http://www.oraculo.inf.br
Caso se queira abrir um arquivo presente em um subcampo específico, usar a seguinte sintaxe:
Link((v104^a),’OPENFILE ‘,v104^b)
Se o subcampo a contém o nome de uma página e o b o endereço, então será exibido na tela o nome que, quando clicado, ativará o browser para acessar a URL indicada.
CMD
Sintaxe: link((descritor),’CMD instrução’)
Roda programas em Windows ou DOS indicados em instrução (semelhante a opção Executar do menu Iniciar no Windows95). instrução pode conter parâmetros necessários a execução do programa. Para que o Windows possa encontrar o programa, seu path deve estar listado na cláusula PATH do arquivo autoexec.bat ou ser incluído em instrução.
Exemplos:
mpl,link(('Texto na íntegra'),'CMD winword ',v10)
Na tela será exibido simplesmente: Texto na íntegra
Se o usuário clicar neste item, Winisis ativará (CMD) o Word for Windows (winword), o qual carregará o documento cujo nome estiver armazenado no campo 10 (v10). Se necessário, este nome pode incluir o path completo do arquivo, utilizando contra-barras duplas (//). Um espaço deve ser deixado entre o comando e o argumento.
mpl,link(('Rodar vídeo'),'CMD mplayer /play /close ',v10)
Na tela será exibido simplesmente: Rodar vídeo
Se o usuário clicar neste item, Winisis ativará (CMD) o Multimedia Player (mplayer), rodará (/play) o vídeo cujo nome está armazenado no campo 10 (v10) e fechará a aplicação (/close). Também neste caso, o nome pode incluir o path completo do arquivo, se necessário.
Exemplo 3:
Assumindo que o campo 10 possua três subcampos:
– subcampo a contém o rótulo a ser exibido;
– subcampo b contém o programa a ser executado; e
– subcampo c contém o nome do arquivo a ser aberto.
Um dado registro apresentaria o seguinte preenchimento:
^aMadonna com criança^bpbrush^c\imagens\raffael.bmp
A seguinte linha de comando
mpl,link((v10^a),'CMD ',v10^b' ',v10^c)
Produziria a seguinte saída em tela: Madonna com criança
Se o usuário clicar neste item, Winisis ativará (CMD) o Windows Paintbrush (v10^b), o qual exibirá a imagem ‘\pictures\raffael.bmp’ cujo nome está armazenado no campo 10 (v10^c).
Como o nome do arquivo está contido num registro, e não no formato, a codificação dos caracteres especiais, no caso contra-barra, é feita normalmente.
BROWSE
Sintaxe: link((descritor),’BROWSE base[,mfn,formato,texto,novotexto]’)
base nome da base a ser aberta
mfn número do registro a ser exibido ao abrir a base
formato nome do formato de exibição a ser utilizado
texto texto a ser substituído por novotexto
novotexto texto a ser exibido
Abre a base de dados especificada por base em uma nova Janela Base de Dados e exibe o registro indicado por mfn utilizando o formato estabelecido por formato. Casobase já se encontre aberta, será exibido o MFN corrente. mfn, formato, texto enovotexto são parâmetros opcionais. Por default, mfn é 1 e formato é o formato padrão da base.
Por exemplo:
link(('Ver base Livro'),'BROWSE livro,10,print')
Abre a base LIVRO no MFN 10 utilizando o formato PRINT.
VIEW
Sintaxe: link((descritor),’VIEW base[,mfn,formato,texto,novotexto])
base nome da base a ser aberta
mfn número do registro a ser exibido ao abrir a base
formato nome do formato de exibição a ser utilizado
texto texto a ser substituído por novotexto
novotexto texto a ser exibido
Similar ao comando BROWSE, com a diferença que o registro é exibido em uma caixa de texto em vez de uma Janela Base de Dados. A diferença é evidente, uma vez que a Janela Base de Dados dá acesso a todas as funcionalidades normais de uma base (edição, pesquisa, etc.) e a caixa de texto apenas exibe o conteúdo solicitado.
Por exemplo:
link(('Ver base Livro'),'VIEW livro,1,print')
Exibe o MFN 10 da base LIVRO utilizando o formato PRINT.
Nota: Existe uma diferença fundamental entre a exibição obtida através de umTEXTBOX e aquela obtida com BROWSE ou VIEW. O formato especificado para o comando TEXTBOX sempre é aplicado ao registro corrente da base de dados dentro da qual ele está sendo ativado, enquanto o formato especificado nos comandosBROWSE ou VIEW dizem respeito às bases de dados abertas por estes comandos.
VIEWL
Sintaxe: link((descritor),’VIEWL base de dados,formato,(termo),ocorrência[,texto,novotexto]’)
base nome da base a ser aberta
formato nome do formato de exbição a ser utilizado
(termo) termo a ser pesquisado na base. Parênteses são necessários.
ocorrência número da ocorrência a ser exibida.
texto texto a ser substituído por novotexto
novotexto texto a ser exibido
VIEWL abre base no registro recuperado por (termo) e que possua o posting determinado por ocorrência.
Nota: embora não conste da documentação técnica, ao se utilizar o tag de um campo para tornar o vínculo de (termo) dinâmico, é necessário digitá-lo entre aspas conforme demonstrado no exemplo a seguir:
link(('Ver base LIVRO'),'VIEWL livro,ref,('v40'),5')
No entanto, para um vínculo fixo a string deve ser digitada sem as aspas!
link(('Ver base LIVRO'),'VIEWL livro,ref,(administração),5')