05.23 Hipertexto

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 FFS,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 bmpgif ou jpeg.

Importante:

  1. ao informar o nome do arquivo de imagem, a extensão deve ser omitida;

  2. É 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. mfnformato, 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')

Deixe um comentário