Funções da biblioteca Prisma Win.dll (windows.h em C)

logo_prisma148

 

win_Msg_abertura

 

 

Olá a todos, quero fazer aqui uma série de receitas prontas exemplificando diversos recursos úteis da lib win que faz parte do conjunto nativo de bibliotecas de funções de Prisma.

Nela vamos encontrar algumas funções realmente importantes, como obter Pasta e nome do usuário, pasta system32, data, eventos como pressionar de tecla, fechar ou ocultar janelas abertas, mensagem box entre outros recursos.

Pretendo aqui enumerá-los em ordem um a um e explicando como usar, não ficará terminada, sempre estará

em constante mudanças para acrescentar novas funções:

 

Mãos à obra:

 

Pausar a execução do programa:

win.Durma (tempo) ; //ou win.Aguarde (tempo ) ; //onde tempo é em milisegundos:

 

Obtendo o Nome do Usuário:

win.ObtNomeUsuario ( ) ; //retorna o nome do usuário do sistema em uma string.

ex.:

 

Obtendo a pasta Temp:

win.ObtPastaTemp() ; //retorna a pasta temp do sistema;

ex.:

 

Obtendo a pasta System:

win.ObtPastaSystem ( ); //retorna uma string do endereço da pasta system do Windows

ex.:

 

Obtendo o Tempo Local:

win.ObtTempoLocal ( ); // retorna uma tabela contendo os campos Hora, Minuto , Segundo , Milisegundos, Dia , Mes , Ano,

DiaDaSemana ;

ex.:

 

Obtendo Pasta Windows:

win.ObtPastaWindows ( ); //retorna o local da pasta WINDOWS;

ex.:

 

 

 

Copiar Aquivo:

win.CopieArquivo( ) : função muito importante, com ela você copia um arquivo, não importa o formato, a cópia é igual ao

arquivo original. Ex.:

Mover Arquivo:

win.MovaArquivo ( “origem” , “destino”); //move um arquivo origem para destino;

ex:

 

Deletar arquivo:

win.DeleteArquivo (nome_arquivo ): Muito útil para apagar arquivos, tome cuidado o processo é irreversível, o arquivo não vai para a lixeira, ele é apagado definitivamente.

Ex.:

Dica: use o asterisco para apagar vários arquivos de mesma extensão, ex. “caminho_pasta/*.ext” neste caso apagará todos os

arquivos .ext dentro da pasta “caminho_pasta/”;

Capturando o identificador de uma janela pelo título

Esta função serve para pegar o id (hwnd em windows.h) de uma janela através do texto da barra de título.

Isto é muito útil para manipular uma janela externa ao programa por meio de seu id.

 

Ativando e desativando uma janela

win.AtiveJanela ( id_janela , valor ); // onde valor é falso para desativar e verdadeiro para ativar a janela.

Ex.: (antes de executar este exemplo abra a calculadora do Windows );

 

Testando se uma tecla foi ativada ou desativada

 

 

Capturando as teclas digitadas, mesmo se o programa estiver em segundo plano

 

 

Obtendo o Título da janela do cmd e o ambiente de execução do programa ( pasta atual ):

 

 

Definindo a pasta atual:

 

Definindo o título do console do Windows (cmd):

 

 

No exemplo acima compliquei um pouquinho fazendo um laço enquanto e atribuindo o texto digitado pelo usuário

como título do console, mas a função é simples como você pode ver: win.DefConsoleTitulo ( “string titulo” );

o retorno pode ser 1 ou 0. Se for zero significa que não deu certo a operação, se for 1 teve sucesso na operação.

 

Obtendo a posição x e y do cursor na tela do computador:

Como fui fiel ao windows.h, o x é a coluna e o y é a linha;

Caso você queira obter apenas a linha use o seguinte modo:

linha = win.ObtenhaPosCursor( ).y ; //observe o ponto e o y no fim da função, se chama acesso direto a um campo de retorno.

para a coluna:

colunaMouse = win.ObtenhaPosCursor( ).x ;

//isso pode ser feito com qualquer função que retorna uma tabela, inclusive com a função que retorna data e hora!

 

Definindo a posição do cursor na tela:

 

Obtendo o id da janela em foco:

Obtendo o título da janela:

 

 

Definindo o título da janela:

 

Fechando a janela:

 

Tocando sons do sistema e wav’s:

baixe o beat.wav aqui, ou use outro de sua preferência.

 

Caixa de mensagem:

Veja outros argumentos que você pode usar:

/**
alguns botoes de mensagem:
win_mb_Ok

win_mb_OkCancelar

win_mb_AnularRepetirIgnorar

win_mb_Applmodal

win_mb_Combinar

win_mb_cur_max

win_mb_SimNao

win_mb_SimNaoCancelar

Alguns icones:

win_mb_IconeInformacao

win_mb_IconeAsterisco

win_mb_IconeErro

win_mb_IconeExclamacao

win_mb_IconeMao

win_mb_IconeMascara

win_mb_IconeQuestao
win_mb_IconePare

win_mb_IconeAdvertencia

Alguns retornos de botoes:

são variaveis de numeros, bastando descobrir o numero nem
precisa usar o nome do retorno, exemplo: Anular = 3;

win_mb_ret_Sim

win_mb_ret_Nao

win_mb_ret_Ok

win_mb_ret_Cancelar

win_mb_ret_Abortar = Anular

win_mb_ret_Anular

win_mb_ret_TentarNovamente = Repetir

win_mb_ret_Repetir

win_mb_ret_Ignorar
**

Resolução da tela:

Obtendo a resolução (altura e largura) da tela:

 

Passando o parâmetro que especifica se é altura ou largura (res_altura / res_largura):

Sem especificar altura ou largura ( o retorno é duplo):

 

(baixe prisma versão 1.0.9 ) aqui

Minimizando, maximizando, ocultando e mostrando uma janela:

comando: win.MostreJanela ( id_da_janela , sw_modo );

veja outros modos:

 

(Novidades! A partir daqui baixe Prisma: 12/10/2015 ou mais recente.)

A partir desta versão é necessário incluir a biblioteca win. Veja:

win.Execute(…);

 

win_execute

 

Executa programas ou arquivos a partir de seu programa Prisma:

DETALHES:

Sintaxe: win.Execute( id , modo, alvo , param , diretorio , visual ); em que:

id = nulo ou o hwnd de uma janela.

modo – é uma string que indica a forma de chamar o alvo. Veja abaixo as opções de modos:

  • “” ou nulo – string vazia ou nulo – apenas chama o alvo.
  • “edit” – chama um arquivo de texto para ser editado em seu programa padrão, ex. *.prisma abre com prismacod
  • “open” – chama qualquer documento e o abre com seu programa padrão. Menos os da modalidade “edit”
  • “runas” – executa um programa *.exe pedindo permissão de privilégio administrador.
  • “explore” – abre o explorador de arquivos, na pasta indicada em alvo.
  • “find” – abre uma página de pesquisa de arquivos na pasta indicada em alvo.
  • “print” – imprime o arquivo indicado em alvo.

alvo = é o arquivo, endereço, ou diretório a ser executado. (Lembre-se que “.” significa diretório atual)

param = são os parâmetros passados para o alvo. Deixe espaço entre os parâmetros. Ex.: ” -o file.out file.in -std=c99 ”

diretorio = string que indica a pasta onde será o ambiente de execução. Geralmente na mesma pasta do arquivo a ser aberto.

visual = Variável predefinida em win que indica se o arquivo ou programa será aberto minimizado, maximizado, normal, oculto etc. Sempre inicia com sw_ (Show_Window); Eis algumas delas a seguir:

  • sw_minimize , sw_mostre , sw_maximize , sw_oculte;

 

win.poe(string)

 

win_poe

Emite uma mensagem de alerta com botão ok. Sintaxe: win.poe(“string”). Muito simples não possui título a mensagem.

(Pensei em dar o nome do comando win.Alerte, mas, por questão de simplicidade e menos letras, escolhi win.poe mesmo. Acho que um dos únicos comandos com inicial minúscula da biblioteca win. // poe vem de põe, ou seja, coloque o resultado na tela, exiba etc.)

O parâmetro string pode ser qualquer string válida. Ex.:

 


 

win.CriePasta(‘string’)

Cria um diretório vazio. O argumento deve ser uma string válida.

Você pode passar um caminho completo como: “C:\\Caminho\\nomePasta”

ou o nome da pasta apenas: “NomePasta”. Neste caso o destino será a pasta atual do programa sendo executado.


win.ObtErroMsg( )

Retorna uma string com a mensagem do último erro ou sucesso até o momento de sua chamada. A saída vai ser de acordo com o idioma definido pelo usuário. Ex.:

UltimoErroMsg

Obs. que a mensagem já vem codificada para conv_w, mostra acentos no modo gráfico win32, e não para conv_c que mostra acentos no modo console (cmd/dos).

Caso você queira imprimir no cmd com acentos terá que reverter a string e depois converter para conv_c assim:

 


string_c = conv_c ( “string”)

Faz com que uma string seja mostrada com acento no cmd, tela preta de comandos.

Exemplo:

Note que apesar dessa função não iniciar com win. é necessário incluir a biblioteca win onde ela está declarada.

Obs. Caso queira reverter o processo, use str = desconv_c( str_c );

Saída:

conv_c


str_w = conv_w(‘str’)

Faz com que strings com acentos sejam exibidas normalmente no modo gráfico (_w = win32); Em mensagens, títulos de janela etc. Somente em funções da lib win, o ig não precisa pois o gtk já é preparado para utf8.

ex.:

1: 2:

conv_w1 conv_w2

Caso você obtenha uma str no modo conv_w e queira reverter para o modo normal use:str = desconv_w(str_w);

logo_prisma148

Continua… (funções do registro em breve)

linguagemprisma@gmail.com

Att. Adalberto

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *