[Notes2-team] =?ISO-8859-1?Q?Notes_com_suporte_a_Macros_em_JavaScr?= =?ISO-8859-1?Q?ipt!_Adeus_conc
Brought to you by:
andersonrb
|
From: Anderson R. B. <and...@po...> - 2004-07-28 18:00:40
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Notes Script Api</title>
</head>
<body>
<h1>Scripts do Notes</h1>
<h2>1. A linguagem de script do Notes</h2>
A linguagem de script do Notes é JavaScript 1.5. O Notes usa a
mesma engine de script (chamada de SpiderMonkey) que os navegadores do
projeto Mozilla e de muitos produtos da Macromedia. Portanto, todos a
especificação da linguagem JavaScript é suportada.
Porém, a DOM, que não faz parte da linguagem, não
é suportada pelo Notes (ou seja, objetos como window, form,
document, etc. não funcionam). No lugar da DOM o Notes traz uma
API própria e completa que permite interagir com os sistemas
internos do Notes, manipular arquivos, executar programas, etc. Esta
API é descrita no capítulo 2. O capítulo 3
apresenta as ações internas do Notes, ações
dos painéis e propriedades dos painéis que podem ser
manipuladas através de algumas funções descritas
no capítulo 2. <br>
<br>
<h2>2. Funções e objetos <br>
</h2>
<h3>2.1. Funções para interagir com o Notes <br>
</h3>
Várias funções que permitem receber
informações sobre o Notes, executar ações
internas do Notes, se comunicar com os painéis, etc.<br>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;"> notesExec(
ActionName );</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Executa
uma ação interna do Notes. Passe o nome da
ação como uma string. Veja a lista de ações
no final deste documento.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:
<br>
<pre>//Mostra o diálogo para criar novos arquivos<br>notesExec('actFileNew');<br><br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;"> notesPanelExec(
PanelName, ActionName, Params );</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Executa
uma ação interna de um dos painéis do Notes. Passe
o nome do painel, o nome da
ação e o parâmetros da ação como
strings. Veja as apis para cada painel no fim do documento. </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:
<br>
<pre>// Imprime "hello world" no painel de saída<br>notesPanelExec('Output', 'add', 'Hello World!');<br><br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;"> notesPanelSetProperty(PanelName,
PropertyName, Value);</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Modifica
o valor de uma propriedade de um dos painéis do Notes. Passe o
nome do painel, o nome da propriedade e o novo valor como strings. Veja
as apis para cada painel no fim do documento. </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:
<br>
<pre>// Faz o painel biblioteca exibir os códigos para java script<br>notesPanelSetProperty('Library', 'FileType', 'JavaScript');<br><br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">notesPanelGetProperty(Name,
PropertyName) </span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Lê
o valor de uma propriedade de um dos painéis do Notes.
Passe o
nome do painel e o nome da propriedade, o valor será retornado
na forma de uma string. Você pode usar funções do
JavaScript para converter o valor para outros tipos - mas em geral
você querer os valores em strings mesmo. Veja
as apis para cada painel no fim do documento para saber sobre as
propriedades disponíveis.</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Armazena na variável o tipo de arquivo que está sendo mostrado <br>// no painel biblioteca<br>CurrentLibraryLanguage= notesPanelGetProperty('Library', 'FileType');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">getNotesSettingsDir
()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Retorna
o diretório em que estão as
configurações do Notes<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>dir= getNotesSettingsDir();<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">getNotesDir()
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Retorna
o diretório em que o Notes está instalado<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>dir= getNotesDir();<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">getActiveProfile()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Retorna
o profile atual.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Acha o diretório de macros <br>macrosDir= getNotesSettingsDir() + 'profiles\' + getActiveProfile() + '\macros\';<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<h3>2.2. Funções do sistema operacional</h3>
Funções que permitem receber e modificar
informações do sistema operacional, executar programas,
etc.<br>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">shellExec(
ProgramToRun, Args )</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Executa
um programa. Passe o programa como primeiro parâmetro e
os argumentos que você quer passar para ele no segundo.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Roda o Notes<br>shellExec(getNotesDir() + 'Notes.exe', ''); <br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">getClipboard
()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Retorna
o conteúdo da área de transferência.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// cola o texto da área de transferência no Notes<br>editor.selText= getClipboard();<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">setClipboard(Value)
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Envia
para a área de transferência o conteúdo
passado.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// O mesmo que fazer um notesExec('actEditCopy'), ou seja, copiar<br>setClipboard( editor.selText );<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">setEnv(name,
value) </span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Modifica
o valor da variável de ambiente passada em "name" para
value. Se a variável de ambiente não existir, ela
será criada.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>setEnv('HOME', 'C:\');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">getEnv(name)
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Pega
o valor de uma variável de ambiente.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>homeEnvVar= getEnv('HOME');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">getCurDir()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Lê
o diretório atual do sistema operacional<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>curDir= getCurDir();<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">setCurDir(dirname)
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Modifica
o diretório atual para o valor passado.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>setCurDir( getEnv('HOME') );<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<h3>2.3. O objeto "editor"</h3>
O objeto "editor" permite a você acessar as propriedades e
métodos do editor ativo.<br>
Para verificar se há um editor ativo, você pode ler a
propriedade isActive. Veja<br>
todas as propriedades e méotodos abaixo:<br>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.insert(str)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Insere
a string passada no editor.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>editor.insert('Hello word'); <br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.text
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
acessar todo o conteúdo do editor atual.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Manipula o texto do editor atual, acrescentando "aham!"<br>s= editor.text;<br>s= s + 'aham!';<br>editor.text= s;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.selText
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
acessar o texto selecionado.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>s= editor.selText;<br>s= s + 'adicionando aham a seleção!';<br>editor.selText= s; <br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.lineText</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
acessar o conteúdo da linha atual<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Deleta o conteúdo da linha atual<br>editor.lineText= '';<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.line</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
acessar o número da linha em que está o cursor.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Pula 10 linhas<br>editor.line = editor.line + 10;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.col</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
acessar a coluna que que está ao cursor.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Vai para a última coluna da linha<br>s = editor.lineText;<br>editor.col= s.length; <br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.selStart
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
acessar a posição do caret e onde está o
início da seleção atual.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Move o caret para o primeiro caracter do texto<br>editor.selStart = 1;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.selLength
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
ler e modificar o número de caracteres selecionados.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// seleciona 10 caracteres<br>editor.selLength= 10;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.linesCount
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
descobrir quantas linhas tem o texto atual. <span
style="font-style: italic;">Não</span> é possível
modificar o número de linhas usando está propriedade,
apenas descobrir quantas linhas o texto tem.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>txtLines = editor.linesCount;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.saveView
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Faz
o editor gravar a posição em que o caret está.
É possível retornar a posição usando
restoreView(). Use quando você pretende voltar a
posição em que estava no texto após fazer
modificações.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// salva a posição do texto (para voltar ao mesmo lugar depois)<br>editor.saveView();<br><br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.restoreView</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Volta
ao lugar em que o editor estava quando saveView foi chamado.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// volta ao lugar em que o cursor estava quando saveView foi chamado<br>editor.restoreView();<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.fileType</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Tipo
de arquivo do arquivo atual. </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Sincroniza o tipo de arquivo atual com o tipo de arquivo<br>// que está sendo mostrado na biblioteca<br>editor.fileType= getNotesPanelProperty('Library', 'FileType');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.tabSize</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Tamanho
usado para o caracter tab.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>if (editor.tabSize == editor.indentSize) {<br> alert('O tamanho da identação e do caracter tab são iguais!!!');<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.indentSize</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Tamanho
da identação </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Modifica o tamanho da identação para o tamanho do caracter tab<br>editor.indentSize = editor.tabSize;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.modified
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Dize
se o texto foi modificado e permite mudar isto.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Faz o Notes pensar que o texto não foi modificado<br>editor.modified = false;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.isReadOnly</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Diz
se o texto pode ser modificado. </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Proíbe que mudanças sejam feitas no arquivo<br>editor.isReadOnly= true;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">editor.isActive
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Diz
se há um editor ativo (pode não ter arquivo aberto ou
estar mostrando a StartPage!). Essa propriedade não pode ser
modificada.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>if (editor.isActive == true){ <br> editor.insert('Hi!');<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<h3>2.4. O objeto "tabs"</h3>
O objeto tabs permite manipular as tabs (cada documento aberto no Notes
é uma tab) abertas no Notes. Você pode ir de uma tab para
outra, descobrir que arquivo está sendo mostrado na tab atual,
etc.<br>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.nextTab()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Vai
para o próximo documento.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>tabs.nextTab();<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.previusTab()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Vai
para o documento anterior.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>tabs.previusTab();<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.gotoFile(fileName)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);"> Vai
para a tab do arquivo passado.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>tabs.gotoFile( 'Nome do arquivo' );<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.gotoFileAndMarkLine(fileName,
line)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
marcar em vermelho (ou outra cor para erros configurada pelo
usuário) a linha passada.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Marca a linha 10 do documento atual<br>tabs.gotoFileAndMarkLine(tabs.activeFileName, 10);<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.activeTabIndex
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permiter
ler e modificar o index da tab atual.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Muda de tab e volta para o mesmo lugar <br>i= tabs.activeTabIndex;<br>tabs.nextTab();<br>tabs.activeTabIndex= i;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.activeTabCaption</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Permite
ler o título da tab atual (normalmente o nome do
arquivo, mas pode ser "Documento 1", por exemplo, se o arquivo ainda
não tiver sido salvo).<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>alert(tabs.activeTabCaption);<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.activeFileName</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);"> Nome
do arquivo atual. Essa propriedade não pode ser modificada, mas
você pode usar o método gotoFile do objeto tabs para ir
para um determinado arquivo.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>alert(tabs.activeFileName);<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.openFile(fileName);
</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Abre
o arquivo passado em fileName.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// abre o readme do Notes<br>tabs.openFile(getNotesDir() + 'reame.txt'); <br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.activeTabType;</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);"> Tipo
da tab atual. Use para saber se a tab atual é um arquivo nunca
salvo ou se é a StartPage, etc. Retorna startpage, newfile, file
ou none.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>if (tabs.activeTabType == 'newfile') {<br> alert('Você nunca salvou este arquivo na vida!!!');<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">tabs.count</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Número
total de tabs abertas no Notes. Você pode usar isto
para circular em todas as tabs em um loop e assim alterar todos os
arquivos.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Salva todos os arquivos<br>for(var i= 0; i < tabs.count; i++){<br> tabs.activeTabIndex= i;<br> notesExec('actFileSave');<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<h3>2.5. Funções para lidar com arquivos e
diretórios</h3>
Várias funções para lidar com arquivos e
diretórios. Note que as funções que manipulam
aquivos tem o nome iniciado por "file" enquanto as que manipulam apenas
diretórios, iniciam sempre por "dir". Então para copiar
um arquivo você usa fileCopy e para copiar um diretório,
dirCopy. <br>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">fileGetContents(filename)
string</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Lê
o arquivo passado e retorna o conteúdo dele como uma
string.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// vemos se o texto atual é igual ao do arquivo salvo. Se for,<br>// tiramos o status de modificado do arquivo <br>if (editor.modified = true && tabs.activeTabType == 'file'){<br> if (editor.text == fileGetContents(tabs.activeFileName)){<br> editor.modified = false; <br> }<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">filePutContents(filename,
content)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Salva
a string passada em content para um arquivo.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Salva apenas o conteúdo selecionado para o arquivo <br>filePutContents(tabs.activeFileName, editor.selText);<br>// Mostramos o resultado para o usúario<br>editor.text = editor.selText;<br>// removemos o estatus de modificado<br>editor.modified = false;<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">fileCopy(fromfile,
tofile [, overwrite = true])</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Copia
um arquivo para outro lugar. O último parâmetro
é opcional e indica o que fazer se o arquivo especificado em
"tofile" já existir. Se você passar true, ele vai
sobrescrever o arquivo existente. Se você passar false, ele
não vai copiar. Se você não especificar um valor,
ele será setado para true. A função retorna true
se conseguir copiar e false se algo der errado.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Faz o backup do arquivo atual<br>fileCopy(tabs.activeFileName, '~' + tabs.activeFileName);<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">fileDelete(filename)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Deleta
um arquivo <span style="font-style: italic;">sem pedir
confirmação e sem mover para lixeira</span>. Tenha
cuidado ao usar esta função!<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Deleta o arquivo que o Notes está mostrando<br>if (confirmDlg('Você quer mesmo deletar este arquivo?!?!') == 'yes') {<br> editor.modified= false;<br> flname= tabs.activeFileName;<br> notesExec('actFileClose');<br> fileDelete(flname);<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">fileSearch(dirname
[, mask = '*'] [, recursive = false]) </span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Busca
arquivos e pastas em um diretório usando a mascára
passada em mask. Retorna uma string com os arquivos e pastas
encontrados separados pelo caracter #10. O parâmetro mask
é opcional e no caso de não ser passado usa "*". O
parâmetro recursive também é opcional (false se
omitido), e especifica se a busca deve incluir os subdiretórios
recursivamente. Todos os caminhos para diretórios retornados
possuem um "\" como último caracter (assim você pode saber
se se trata de um arquivo ou de um diretório com
segurança).<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Lista todos os arquivos no diretório do Notes<br>var searchresult= new String( fileSearch( getNotesDir() , '*', true) );<br>// coloca o resultado em um array<br>arraydecaminhos= searchresult.split( String.fromCharCode(10) );<br>// conta o número de diretórios<br>dircount = 0;<br>for (var i in arraydecaminhos){<br> caminho = new String(arraydecaminhos[i]);<br> if (caminho[caminho.length-1] == '\\'){<br> dircount = dircount + 1;<br> }<br>}<br>alert('O diretório do Notes tem ' + dircount + ' subdiretórios!');</pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">fileIsReadOnly(filename)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Retorna
true se o arquivo passado como parâmetro for readonly. </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>isRO= fileIsReadOnly( tabs.activeFileName );<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">fileSize(filename)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Retorna
o tamanho do arquivo no HD.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Mostra o número de caracteres acrescentados ao arquivo<br>// atual desde a última vez que ele foi salvo<br>if (editor.modified = true && tabs.activeTabType == 'file'){<br> s= editor.text;<br> count= s.length - fileSize(tabs.activeFileName); <br> alert('Você adicionou ' + count ' ao texto :)');<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">dirExists(dirname)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Retorna
true se o diretório passado como parâmetro existir.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// lembre-se de usar o caracter de escape "\" para caminhos de arquivo<br>jsdk= dirExists('c:\\javasdk142\\');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">dirCopy(fromdir,
todir [, mask = '*' ][, overwrite = true])</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Copia
um diretório e seus subdiretórios de "fromdir" para
"todir" de acordo com a mascara passada em "mask"; "mask" ("*" se
omitido) e "overwirte" ("true" se omitido) são opcionais. Um
diálogo será mostrado ao usuário enquanto a
cópia é realizada indicando o progresso e permitindo que
ele cancele a operação se ela for muito longa. Se o
usuário cancelar ou ocorrerem erros, a função
retornará false. </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// faz um backup do diretório do Notes<br>dirCopy(getNotesDir(),getNotesDir() + 'backup\\');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">dirDelTree(dirname
[, mask = '*' ]) bool // deleta arquivos e
subdiretórios. Use dirDelete para deletar o diretório
depois que ele estiver vazio </span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Deleta
uma árvore de diretórios sem deletar o
diretório passado em "dirname". Você pode usar a
função para deletar apenas arquivos ou
subdiretórios de um diretório usando uma máscara.
Se você quiser remover a pasta e todo o seu conteúdo, use
dirDelTree('Nome do diretório') e depois dirDelete(' Nome do
diretório'). A máscara é opcional e é "*"
quando omitida. Essa função sempre funciona de forma
recursiva, mas você pode impedi-la de deletar
subdiretórios usando uma máscara mais restritiva.
Alternativamente você pode usar combinações de
fileSearch com fileDelete e dirDelete para operações mais
complexas. Essa função mostra um diálogo de
progresso ao usuário, como em dirCopy().<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// deleta todas as configurações do Notes e sai do<br>// programa forçando o Notes a chamar o instalador <br>// da próxima vez que iniciar. (Não faça isto em casa!)<br>dirDelTree(getNotesSettingsDir());<br>notesExec('actFileExit');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">dirDelete(dirname)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Deleta
um diretório vazio.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>dirDelete(' Caminho aqui! ');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">dirCreate(dirname
[, force = false]) </span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Cria
um novo diretório; "force" é parâmetro opcinal
que é setado para false quando omitido. Se você setar ele
para true a função tentará criar todos os
diretórios necessários para poder criar o
diretório especificado.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Cria a pasta "Minha Pasta" no diretório do Notes<br>dirCreate( getNotesDir() + 'Minha Pasta\\' );<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">move(from,
to)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Move
um arquivo ou pasta do caminho especificado em "from" para "to".
Retorna true se funcionar.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>move( getNotesDir() + 'Minha Pasta', getNotesDir() + 'MyFolder'); <br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">rename(from,
to)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Renomeia
arquivo ou pasta. </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Tanto faz renomear ou mover :)<br>rename( getNotesDir() + 'Minha Pasta', getNotesDir() + 'MyFolder'); <br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<h3>2.6. Diálogos</h3>
Funções que permitem interargir com o usuário
mostrando diálgos para pedir ou mostrar
informações.<br>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">alert(msg)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);"><span
style="font-weight: bold;"></span>Mostra uma mensagem para o
usuário;<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// mostra diálogo com Hello Woooooorrrrrld! <br>alert('Hello Woooooorrrrrld!');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">msgDlg(msg)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">O
mesmo que alert();<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>//Mostra olá <br>msgDlg('Olá');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">confirmDlg(msg)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);"> Mostra
uma mensagem pedindo confirmação ao usuário se
algo deve ou não ser feito. Retorna "yes, no, cancel".<span
style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>if (confirmDlg('Deletar arquivo?') == 'yes') {<br> //TODO código para deletar arquivo aqui!<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">errorDlg(msg)</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">O
mesmo que alert e msgDlg, porém com ícone de erro.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>errorDlg('Você ainda não configurou o script usuário estúpido!');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">colorDlg()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);"> Mostra
um diálogo para o usuário selecionar a cor e retorna a
cor no formato html (#RRGGBB). </td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Insere uma cor no código<br>editor.selText= colorDlg();<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">inputDlg(descr
[, value = '']) </span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">Diálogo
que
pede ao usuário que preencha um valor; "descr" especifica a
instrução que será mostrada ao usuário;
"value" é um valor iniciar opcional. Retorna o valor preenchido
pelo usuário.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>editor.selText= inputDlg('O que você quer inserir hoje?!');<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">openDlg()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);"> Mostra
um diálogo de abrir arquivo e permite o usuário escolher
um arquivo que será retornado como resultado da
função.<span style="font-weight: bold;"> </span></td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>msgDlg("Você selecionou " + openDlg());<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<table style="width: 90%; text-align: left;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">saveDlg()</span><br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(238, 238, 238);">O
mesmo que openDlg, só que é mostrado um diálogo
de salvar.<br>
</td>
</tr>
<tr>
<td
style="vertical-align: top; background-color: rgb(252, 255, 220);">Exemplo:<br>
<pre>// Uma implementação de "salvar como" :)<br>s= saveDlg();<br>if (s != '') {<br> filePutContents(s, editor.text);<br>}<br></pre>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<h2>3. Ações e propriedades internas do Notes<br>
</h2>
<h3>3.1. Ações do Notes</h3>
As ações abaixo podem ser chamadas usando a
função notesExec.<br>
<br>
<table style="width: 100%; text-align: left;" border="1" cellpadding="5"
cellspacing="0">
<tbody>
<tr>
<td width="30%">actFileNew</td>
<td>Mostra o diálogo para criar novos arquivos</td>
</tr>
<tr>
<td width="30%">actFileOpen</td>
<td>Mostra o diálogo para abrir um arquivo</td>
</tr>
<tr>
<td width="30%">actFileRevert</td>
<td>Desfaz todas as alterações revertendo o arquivo
para o seus estado inicial</td>
</tr>
<tr>
<td width="30%">actFileSave</td>
<td>Salva as modificações feitas no arquivo</td>
</tr>
<tr>
<td width="30%">actFileSaveAs</td>
<td>Mostra um diálogo que permite salvar o documento atual
com o nome que você escolher</td>
</tr>
<tr>
<td width="30%">actFileSaveAll</td>
<td>Salva todos os arquivos</td>
</tr>
<tr>
<td width="30%">actFileSaveSelection</td>
<td>Mostra um diálogo que permite salvar o trecho
selecionado do documento</td>
</tr>
<tr>
<td width="30%">actFilePrint</td>
<td>Mostra um diálogo que permite imprimir o documento</td>
</tr>
<tr>
<td width="30%">actFileClose</td>
<td>Fecha o documento atual</td>
</tr>
<tr>
<td width="30%">actFileCloseAll</td>
<td>Fecha todos os documentos</td>
</tr>
<tr>
<td width="30%">actFileExit</td>
<td>Sai do programa</td>
</tr>
<tr>
<td width="30%">actEditUndo</td>
<td>Desfaz a última alteração feita</td>
</tr>
<tr>
<td width="30%">actEditRedo</td>
<td>Refaz a última alteração desfeita</td>
</tr>
<tr>
<td width="30%">actEditCut</td>
<td>Recorta o texto selecioado para a área de
transferência</td>
</tr>
<tr>
<td width="30%">actEditCopy</td>
<td>Copia o texto selecioado para a área de
transferência</td>
</tr>
<tr>
<td width="30%">actEditPaste</td>
<td>Cola o conteúdo da área de transferência
no documento</td>
</tr>
<tr>
<td width="30%">actEditSmartPaste</td>
<td>Cola o conteúdo da área de transferência
adequando esta a identação</td>
</tr>
<tr>
<td width="30%">actEditAddToClipboard</td>
<td>Adciona o texto selecionado ao conteúdo da área
de transferência</td>
</tr>
<tr>
<td width="30%">actEditDel</td>
<td>Deleta o texto selecionado ou o caracter atual</td>
</tr>
<tr>
<td width="30%">actEditSelectAll</td>
<td>Seleciona todo o texto</td>
</tr>
<tr>
<td width="30%">actEditLineDel</td>
<td>Deleta a linha atual</td>
</tr>
<tr>
<td width="30%">actEditLineSelect</td>
<td>Seleciona a linha atual</td>
</tr>
<tr>
<td width="30%">actEditLineDuplicate</td>
<td>Cria uma cópia da linha atual</td>
</tr>
<tr>
<td width="30%">actEditFormatUppercase</td>
<td>Converte os caracteres selecionados ou a palavra atual para
maiúsculas</td>
</tr>
<tr>
<td width="30%">actEditFormatLowercase</td>
<td>Converte todos os caracteres ou a palavra atual para
minúsculas</td>
</tr>
<tr>
<td width="30%">actEditFormatTitlecase</td>
<td>Deixa todas as palavras com a primeira letra em
maiúscula</td>
</tr>
<tr>
<td width="30%">actEditFormatToggleCase</td>
<td>Transforma os caracteres maiúsculos para
minúsculas e vice-versa</td>
</tr>
<tr>
<td width="30%">actEditComment</td>
<td>Comenta as linhas selecionadas</td>
</tr>
<tr>
<td width="30%">actEditUncomment</td>
<td>Descomenta as linhas selecionadas</td>
</tr>
<tr>
<td width="30%">actEditIndent</td>
<td>Aumenta a identação das linhas selecionadas ou
da linha atual</td>
</tr>
<tr>
<td width="30%">actEditUnindent</td>
<td>Diminuí a identação das linhas
selecionadas ou da linha atual</td>
</tr>
<tr>
<td width="30%">actSearchFind</td>
<td>Mostra um diálogo que permite localizar no documento
atual e em outros documentos</td>
</tr>
<tr>
<td width="30%">actSearchFindPrevius</td>
<td>Localiza uma ocorrência anterior da palavra no texto</td>
</tr>
<tr>
<td width="30%">actSearchFindNext</td>
<td>Localiza a próxima ocorrência da palavra no texto</td>
</tr>
<tr>
<td width="30%">actSearchReplace</td>
<td>Mostra um diálogo quer permite substituir neste e em
outros documentos</td>
</tr>
<tr>
<td width="30%">actSearchGotoline</td>
<td>Mostra um diálogo que permite ir para uma linha exta
do documento</td>
</tr>
<tr>
<td width="30%">actSearchGotocol</td>
<td>Mostra um diálogo que permite ir para uma coluna exata
da linha atual</td>
</tr>
<tr>
<td width="30%">actSearchToggleMark</td>
<td>Adicionar ou remove um marcador à linha atual</td>
</tr>
<tr>
<td width="30%">actSearchNextMark</td>
<td>Pula para o próximo marcador no texto</td>
</tr>
<tr>
<td width="30%">actSearchPreviusMark</td>
<td>Pula para o marcador anterior</td>
</tr>
<tr>
<td width="30%">actSearchGotoMark</td>
<td>Mostra um diálogo que permite pular para um dos
marcadores do arquivo</td>
</tr>
<tr>
<td width="30%">actSearchClearMarks</td>
<td>Deleta todos os marcadores</td>
</tr>
<tr>
<td width="30%">actSearchNextProblem</td>
<td>Pula para o próximo problema</td>
</tr>
<tr>
<td width="30%">actSearchPreviusProblem</td>
<td>Pula para o problema anterior</td>
</tr>
<tr>
<td width="30%">actSearchClearProblems</td>
<td>Limpa a lista de problemas</td>
</tr>
<tr>
<td width="30%">actSearchForward</td>
<td>Avança para um ponto em que você já esteve</td>
</tr>
<tr>
<td width="30%">actSearchBack</td>
<td>Volta para um ponto em que você já esteve</td>
</tr>
<tr>
<td width="30%">actViewNexttab</td>
<td>Mostra o próximo documento</td>
</tr>
<tr>
<td width="30%">actViewPreviustab</td>
<td>Mostra o documento anterior</td>
</tr>
<tr>
<td width="30%">actViewStatusBar</td>
<td>Mostra/esconde a barra de status</td>
</tr>
<tr>
<td width="30%">actViewToolbar</td>
<td>Mostra/esconde a barra de ferramentas</td>
</tr>
<tr>
<td width="30%">actProjectNew</td>
<td>Mostra um diálogo que permite criar um novo projeto</td>
</tr>
<tr>
<td width="30%">actProjectOpen</td>
<td>Mostra um diálogo que permite abrir um documento do
projeto</td>
</tr>
<tr>
<td width="30%">actProjectOpenAll</td>
<td>Abre todos os documentos do projeto</td>
</tr>
<tr>
<td width="30%">actProjectAdd</td>
<td>Mostra um diálogo que permite adicionar um documento
ao projeto</td>
</tr>
<tr>
<td width="30%">actProjectRemove</td>
<td>Mostra um diálogo que permite remover um documento do
projeto</td>
</tr>
<tr>
<td width="30%">actProjectOptions</td>
<td>Mostra um diálogo que permite editar as
opções do projeto</td>
</tr>
<tr>
<td width="30%">actRunLast</td>
<td>Executa o último item executado</td>
</tr>
<tr>
<td width="30%">actRunFile</td>
<td>Executa o arquivo atual</td>
</tr>
<tr>
<td width="30%">actRunConfigure</td>
<td>Mostra um diálogo que permite configurar as
ferramentas externas que podem ser executadas</td>
</tr>
<tr>
<td width="30%">actCommandsUndo</td>
<td>Desfaz todas as alterações feitas pelo
último comando</td>
</tr>
<tr>
<td width="30%">actCommandsFixlinebreaks</td>
<td>Corrige as quebra de linhas do documento atual</td>
</tr>
<tr>
<td width="30%">actCommandsWrap</td>
<td>Mostra um diálogo que permite quebrar as linhas a cada
X caracteres</td>
</tr>
<tr>
<td width="30%">actCommandsInsertFile</td>
<td>Mostra um diálogo que permite inserir o
conteúdo de um arquivo no documento atual</td>
</tr>
<tr>
<td width="30%">actCommandsInsertDateTime</td>
<td>Insere a data e hora atuais</td>
</tr>
<tr>
<td width="30%">actCommandsInsertImage</td>
<td>Mostra um diálogo que permite inserir a tag HTML para
mostrar a imagem selecionada</td>
</tr>
<tr>
<td width="30%">actCommandsConvertSpecialHtmlChars</td>
<td>Converte caracteres especiais para o seu código HTML</td>
</tr>
<tr>
<td width="30%">actCommandsCompressHtml</td>
<td>Remove caracteres desnecessários do HTML diminuindo o
tamanho da sua webpage</td>
</tr>
<tr>
<td width="30%">actCommandsVerifyHTML</td>
<td>Verifica o código HTML usando o HTMLTidy</td>
</tr>
<tr>
<td width="30%">actCommandsFixHTML</td>
<td>Tenta corrigir os erros do c&oacut...
[truncated message content] |