Especiais e Variáveis Globais Incorporadas
JoséPires
jncp@netcabo.pt
Tradução
Especiais e Variáveis Globais Incorporadas Os especiais são funções que são processadas pelo &kommander;. Você deverá saber que, até o &kommander; ter um processador completo, todos os especiais do &kommander; serão executados primeiro e só então o programa será executado. Na maioria dos casos isto não será um problema, mas em alguns deles será. @dcop(idApl, objecto, função, argumentos) Faz uma chamada de &DCOP;. @dcop(kmail, KMailIface, checkMail(), ) @dcopid O ID de &DCOP; do processo. (kmdr-executor-@pid) @dialog(janela[,parâmetros]) Lança a janela do Kommander indicada. A janela é vista na pasta da janela e na pasta actual - por esta ordem. Isto antecede a chamada ao executor e muda a pasta por omissão para a pasta onde o ficheiro do Kommander se encontra. Os parâmetros podem ser passados da forma normal do Unix ou você poderá passar parâmetros com nomes no formato variavel=valor. Você poderá então encontrar os parâmetros passados na lista de variáveis globais. O @global(variavel) iria devolver valor. @env(variavelAmbiente) Expande-se para a variável de ambiente. O @env(PWD) expande-se para o $PWD. Lembre-se que o $ faz parte da linha de comandos e não deverá ser usado. @exec(comando) devolve o resultado de executar o comando indicado. @exec(ls -l). @execBegin ... @execEnd o mesmo que o @exec, mas suporta o 'shebang' e 'scripts' de várias linhas. Isto serve para várias linguagens de programação, declarando-as ou utilizando um 'shebang'. @execBegin(php) @execBegin#!/usr/bin/php O primeiro usa o nome do executável do PHP. O &kommander; procura na PATH pelo php e, se não for encontrado, verifica se está registado no &kommander; numa localização fora da sua PATH. Se não estiver, diz ao utilizador que não pôde ser encontrado. O segundo exemplo usa o clássico shebang, o qual poderá ter alguns benefícios, assim como alguns problemas. Se você tiver uma versão beta do PHP5, por exemplo, no /usr/local/bin, a mesma não seria encontrada porque iria obter primeiro a versão em /usr/bin. Se, por outro lado, você distribuir a janela para alguém que tenha o PHP no /usr/local/bin apenas, ela não seria encontrada com o 'shebang' usado. Por isso, usar 'shebangs' deverá necessitar de cuidado e a utilização do executável é recomendada se estiver a partilhar ficheiros. @global(variável) expande para o valor da variável global indicada. @null Devolve um valor nulo. Agora que o Kommander verifica pelo 'widgetText' vazio durante a execução, isto irá evitar erros no caso de um estado indefinido de um elemento. @parentPid O &PID; do processo-pai. @pid O &PID; do processo. @readSetting(chave, valorPorOmissao) lê um valor do kommanderrc @selectedWidgetText O conteúdo seleccionado de um elemento gráfico que possa mostrar mais do que um valor, como por exemplo as listas @setGlobal(variável, valor) Configura a variável global para o valor indicado. @widgetText o conteúdo de um elemento @writeSetting(chave, valor) grava o valor no kommanderrc Grupo de Funções de Listas @Array.values(lista) Devolve uma lista separada por EOL's de todos os valores da lista. Pode ser usada para percorrer uma lista. @Array.keys(lista) Devolve uma lista separada por EOL's de todas as chaves da lista. @Array.setValue(lista, chave, valor) Define um chave e um valor para um elemento da lista. Se não existir nenhuma lista, esta é criada. @Array.clear(lista) Remove todos os elementos da lista. @Array.count(lista) Devolve o número de elementos na lista. @Array.value(lista,chave) Devolve o valor associado à chave indicado. @Array.remove(lista,chave) Remove o elemento com a chave indicada da lista. @Array.fromString(lista,texto) Adiciona todos os elementos do texto na lista. O texto deverá ter o formato chave\tvalor\n. @Array.toString(lista,texto) Devolve todos os elementos na lista num formato chave\tvalor\n. Grupo de Funções de Ficheiros @File.read(ficheiro) Devolve o conteúdo do ficheiro indicado. @File.write(ficheirotexto) Escreve o texto indicado num ficheiro. @File.append(ficheirotexto) Adiciona o texto indicado ao fim de um ficheiro. Grupo de Funções de Cadeias de Caracteres @String.length(texto) Devolve o número de caracteres no texto. @String.contains(texto,sub-texto) Verifica se o texto contém o sub-texto indicado. @String.find(texto) Devlve a posição de um sub-texto no texto ou -1 se não for encontrado. Este terá um parâmetro opcional de posição inicial para procurar as próximas instâncias na versão Alpha 6. @String.left(texto, num) Devolve os primeiros 'num' caracteres do texto. @String.right(texto, num) Devolve os últimos 'num' caracteres do texto. @String.mid(texto, inicio, fim) Devolve uma sub-sequência do texto, delimitada pelas posições indicadas. @String.remove(texto, sub-texto) Remove todas as ocorrências de um dado sub-texto. @String.replace(texto, original, substituicao) Substitui todas as ocorrências de um dado sub-texto por outro de substituição. @String.upper(texto) Converte o texto para maiúsculas. @String.lower(texto) Converte o texto para minúsculas. @String.compare(texto1, texto2) Compara dois textos. Devolve 0 se forem iguais, -1 se o primeiro texto for menor ou 1 se o primeiro texto for maior @String.isEmpty(texto) Verifica se o texto está em branco. @String.isNumber(texto) Verifica se o texto é um número válido. Globais Incorporados Os globais incorporados são acedidos como se fossem variáveis globais normais com o @global. @global(_KDDIR) A directoria onde o diálogo actual se encontra. @global(_NAME) O nome do diálogo