Documente Academic
Documente Profesional
Documente Cultură
Ferramenta de
Trabalho IDE
Página 1 de 41
Inteligência Protheus
IDE – Ambiente de
desenvolvimento
integrado
Página 2 de 41
Inteligência Protheus
Sumário
O IDE .............................................................................................. 5
Configurando o IDE ........................................................................ 5
Configurações do Debugger ................................................................... 6
Definindo o Padrão de Teclas de Atalho .............................................................6
Definindo o Número de Arquivos na Lista de Recentemente Abertos ......................7
Utilizando a Régua com o Número de Linhas .....................................................7
Definindo a Localização de Arquivos..................................................................7
Ignorando Arquivos Não Encontrados................................................................7
Configurações de Código ....................................................................... 8
Elementos de Texto........................................................................................8
Definindo o Estilo do Texto ..............................................................................8
Definindo a Cor do Texto.................................................................................8
Definindo a Cor de Fundo do Texto ...................................................................8
Desabilitando a Diferenciação de Sintaxe...........................................................8
Configurações de Controle de Versão .................................................... 9
Utilizando o Controle de Versão........................................................................9
Software Controlador de Versão ..................................................................... 10
Path Inicial do Software Controlador de Versão ................................................ 10
Linha de Comando para Obtenção da Última Versão.......................................... 10
Linha de Comando para Reservar Arquivo........................................................ 10
Linha de Comando para Cancelar Reserva ....................................................... 10
Linha de Comando para Confirmar Arquivo ...................................................... 11
Linha de Comando para Adicionar Arquivo ....................................................... 11
Linha de Comando para Remover Arquivo........................................................ 11
Utilizando o IDE............................................................................ 12
A Edição de Arquivos ............................................................................12
Criando e Editando Arquivos .......................................................................... 12
Recursos de Edição ...................................................................................... 13
Modificações de Texto ............................................................................. 14
Inserção de Texto em um Arquivo............................................................. 14
Localização e Substituição de Texto........................................................... 14
Utilizando Book Marks ............................................................................. 16
Grupos de Projetos e a Compilação de Arquivos ...................................17
Trabalhando com Grupos de Projetos .............................................................. 17
Compilando Arquivos de Código-Fonte ............................................................ 19
Configurações de um Grupo de Projetos .......................................................... 19
Utilizando o Debugger do IDE...............................................................22
Os Comandos de Debug ................................................................................ 22
As Janelas de Inspeção do IDE....................................................................... 24
A Janela de Break Points.......................................................................... 25
A janela de Pilha de Chamadas ................................................................. 25
A Janela de Watchs................................................................................. 26
As Janelas de Inspeção de Variáveis.......................................................... 27
A Janela de Inspeção de Tabelas e Campos ................................................ 28
O Inspetor de Objetos ............................................................................. 29
Página 3 de 41
Inteligência Protheus
Página 4 de 41
Inteligência Protheus
O IDE
Como ferramenta de edição, possui todos os recursos das ferramentas mais populares,
como cortar e colar, levar o cursor até determinada linha do código, localização e
substituição de texto, etc., e recursos adicionais, como identação de código, inserção de
comentários de documentação, etc.
Como ferramenta de debug, dispõe de ações de debug como Percorrer Linha, Pular Linha,
Executar, Seguir até o Retorno, Pausar Execução, Derrubar Client, etc., permitindo ao
usuário executar e depurar suas rotinas de dentro de seu ambiente integrado,
inspecionando o ambiente de execução de suas rotinas através de diversas janelas de
informações, como variáveis (divididas entre variáveis locais, variáveis públicas, variáveis
privadas e variáveis estáticas), expressões em Watch, tabelas, índices e campos, break
points, programas registrados (inspetor de objetos) e pilha de chamadas. Além disso, os
programas criados são compilados diretamente do IDE, onde são mantidos em projetos e
grupos de projetos. Os grupos de projetos facilitam a compilação de um ou mais projetos
de arquivos, utilizando conceitos de repositórios e diretivas de compilação, possibilitando
inclusive a manutenção de bibliotecas de rotinas do usuário.
Configurando o IDE
Antes de iniciar a utilização do
IDE, deve-se configurá-lo para
um melhor aproveitamento de
seus recursos. Na opção de
preferências, encontrada no
menu Arquivo, item
Preferências, são definidas as
informações que influenciam no
comportamento do IDE. Ao
acionar este item do menu, a
janela de Preferências é
exibida, contendo informações
divididas em três pastas. Todas
as informações das
preferências bem como as
diversas informações
armazenadas pelo IDE, são
mantidas no arquivo chamado
Figura 1 - A pasta Debugger da janela de Preferências do IDE xxxIDE.INI que se encontra no
mesmo diretório de execução
do IDE.
Configurações do Debugger
A pasta de configurações do debugger (figura 1), exibe as opções básicas para o
processamento do IDE em modo de debug e do editor. Aqui são definidas as configurações
para a localização dos arquivos de código fonte durante o processo de debug, se o IDE
deve ignorar automaticamente os arquivos não encontrados, o tamanho da tabulação, do
número de Undo's, etc.
O padrão de teclas utilizado identifica quais serão as teclas para o acionamento das
principais funções de debug do IDE. Os padrões possíveis são os mesmos utilizados pelas
linguagens de programação FiveWin, Visual C++ e Delphi, tornando fácil a assimilação
para usuários de algumas destas ferramentas. Para cada um dos padrões utilizados, as
combinações de teclas para o acionamento das ações de debug serão:
FiveWin
Percorrer Linha F8 Seguir até o Retorno F7
Pular Linha F10 Localizar Ctrl+L
Executar F5 Localizar Próximo F3
Adicionar Break F9 Ir para a linha "n" Ctrl+G
Point
Visual C++
Percorrer Linha F11 Seguir até o Retorno Ctrl+F10
Pular Linha F10 Localizar Ctrl+F
Executar F5 Localizar Próximo F3
Adicionar Break F9 Ir para a linha "n" Ctrl+G
Point
Delphi
Percorrer Linha F7 Seguir até o Retorno F4
Pular Linha F8 Localizar Ctrl+F
Executar F9 Localizar Próximo F3
Adicionar Break F5 Ir para a linha "n" Ctrl+G
Point
Definindo a Tabulação
O campo Tabulação indica o número de caracteres que serão usados para cada tecla de
tabulação (código ASC II #9), na identação do código.
A opção Exibir Régua com o Número de Linhas indica se o IDE deve exibir uma régua com
os números das linhas em um novo gutter na margem esquerda de cada arquivo aberto,
para facilitar a localização visual do usuário.
Configurações de Código
A pasta de configurações
do código (figura 2), exibe
as opções para controle da
diferenciação de sintaxe no
editor do IDE. Aqui você
pode habilitar ou
desabilitar a diferenciação
de sintaxe bem como
configurar as cores para
cada elemento de texto
que pode ser diferenciado.
Os elementos de texto são tipos de expressões que devido a sua finalidade são
classificados em grupos separados. Como por exemplo, palavras reservadas ao
compilador, strings de caracteres, números, etc. Nesta lista são apresentados os
diferentes elementos de texto que permitem a diferenciação de sintaxe no IDE. O
elemento deve ser selecionado nesta lista para que se possa configurar suas cores e
estilo. Todas as demais configurações nesta mesma pasta serão, então, relacionadas com
o elemento atualmente selecionado.
Nesta lista de opções pode-se escolher qual o estilo será aplicado ao elemento de texto
selecionado na lista de elementos.
Nesta lista de cores pode-se escolher qual será a cor aplicada ao elemento de texto
selecionado na lista de elementos.
Nesta lista de cores pode-se escolher qual será a cor de fundo aplicada ao elemento de
texto selecionado na lista de elementos.
A pasta de configurações de
Controle de Versão (figura
3), exibe as opções para a
integração de um software
de controle de versão ao
IDE. Nesta pasta são
definidos os comandos
básicos para acionamento
do software controlador de
versão através de linha de
comando. Estes comandos
podem ser acionados
automaticamente pelo IDE
ou pela requisição do
usuário através dos botões
da barra de ferramentas de
controle de versão.
Figura 3 - A pasta Controle de Versão da janela de Preferências do
IDE
A opção Utiliza Controle de Versão indica que será utilizado um software de controle de
versão para controlar a reserva e a alteração de arquivos de código-fonte. Ao acionar esta
opção uma janela com os softwares controladores de versão compatíveis (figura 4) será
apresentada para que o usuário escolha aquele que esteja utilizando. A confirmação desta
janela traz nos campos das linhas de comando as sintaxes utilizadas pelo software
escolhido sugeridas. Caso o software utilizado não se encontre na lista de softwares
compatíveis, o usuário deverá consultar a documentação que o acompanha e fornecer
manualmente as sintaxes para as linhas de comandos.
Software Controlador
de Versão
O campo Software indica o
caminho para o software que
receberá as linhas de
comando enviadas pelo IDE
para as ações de controle de
versão.
Path Inicial do
Software Controlador
de Versão
O campo Iniciar Em indica o
path onde o software
controlador de versão será
iniciado quando receber as
linhas de comando.
Note que apesar desta linha de comando poder ser acessada através da barra de
ferramentas, não se deve fugir de seu objetivo (reservar o arquivo aberto no
servidor de arquivos), pois quando o uso de controle de versão está habilitado no
IDE, esta linha de comando é executada automaticamente no momento que
alguma alteração está prestes a ser efetuada em um arquivo. Caso necessite
executar algo diferente, utilize-se das ferramentas no menu Ferramentas.
código aberto no momento. Pode-se utilizar macros para obtenção do nome do arquivo
corrente, path, etc. Veja a Tabela de Macros para informações das macros disponíveis no
IDE.
Utilizando o IDE
A Edição de Arquivos
O IDE suporta a edição de arquivos no formato texto, sendo que as extensões padrões são
PRW, PRX e PRG. Todos os arquivos gravados pelo IDE, são gravados contendo como
finalizadores de linha os caracteres de código ASC II 10 e 13 (LF e CR). Através das
opções dos menus o usuário tem um controle amplo da formatação do texto, com
facilidades de cópia e edição de múltiplos arquivos como uma aplicação MDI.
Ao contrário, a opção Salvar Como sempre questiona o usuário por um nome de arquivo e
grava-o com o nome informado. As opções Imprimir e Configurar Impressora permitem ao
usuário imprimir o arquivo corrente ou uma seleção de texto através das impressoras
definidas no Windows. Pode-se também enviar o arquivo aberto por e-mail utilizando a
opção Enviar via e-mail.
A opção Escolha de Fonte permite ao usuário escolher qual a fonte gráfica e qual o
tamanho dos caracteres que utilizará para editar seus arquivos. A escolha de fonte não faz
parte da diferenciação de sintaxe. Para uma perfeita exibição dos caracteres gráficos
utilizados para a moldura de comentários nos arquivos de código-fonte criados, existe um
arquivo de fonte chamado LINEDRAW.TTF (MS LineDraw) que os exibe como são exibidos
em editores para ambiente DOS. O IDE está preparado para tentar detectar a existência
desse arquivo no diretório de seu executável e instalá-lo no ambiente do usuário assim
que for iniciado.
Para finalizar a execução do IDE, o usuário pode escolher a opção Sair, utilizar a
combinação de teclas
Alt+F4 ou clicar no ícone
em forma de x na barra
de títulos da janela
principal. Ao finalizar, o
IDE grava todas as
informações das
preferências bem como
informações do ambiente
do usuário (como janelas
abertas, posicionamento,
etc.). Porém, se o usuário
estiver com uma sessão
de debug em progresso, o
IDE irá questioná-lo para
encerrar a sessão de Figura 6 - Diferenciação de Sintaxe em um arquivo aberto no IDE,
debug antes de finalizar. utilizando o fonte MS LineDraw.
Muito importante: Se o usuário finalizar o IDE sem que uma sessão de debug
tenha sido encerrada, o IDE irá tentar encerrar esta sessão antes de finalizar
enviando ao Server o comando Derrubar Client (que será detalhado mais a
frente no tópico sobre Utilização do Debug do IDE). Porém, a finalização do
Remote nem sempre é imediata visto que o controle do envio das mensagens
pode não estar com o IDE no momento da finalização. Isto pode acarretar na
finalização do IDE sem que o Remote seja finalizado, ou seja, o processo de
execução do Remote ficará preso na memória da estação.
Recursos de Edição
Modificações de Texto
No item Texto, existem opções para transformar o texto selecionado para caracteres
maiúsculos ou minúsculos e até mesmo uma opção para identar o arquivo.
If(<Expressão>)
<Comando>
Endif
If (<Expressão>)
<Comando>
Endif
Nesta pasta as opções de direção são substituídas pelas opções de localização, ou seja,
onde a pesquisa deve ser efetuada. Se o usuário optar por pesquisar em um diretório, o
quadro de opções Diretório de Pesquisa será habilitado, permitindo ao usuário digitar no
campo Máscara de Pesquisa o diretório e a máscara de arquivos que deseja pesquisar (por
exemplo, C:\FONTES\*.PRX). A máscara padrão de pesquisa é *.PR?. Se o usuário desejar
utilizar uma máscara diferente (por exemplo, pesquisar em arquivos texto com extensão
TXT), deverá selecionar a caixa Usa Caracteres Curinga que nesta pasta está habilitada.
Se o path informado juntamente com a máscara não for informado, será considerado o
path atual. Se o path for inválido, não haverá erros emitidos ao usuário. Apenas nenhuma
ocorrência da expressão será encontrada. Se o usuário desejar pesquisar a mesma
máscara nos subdiretórios, deverá marcar a opção Pesquisar Subdiretórios. A seleção da
opção Repetir Procura não vale para a localização em arquivos. Se for requisita a pesquisa
será feita como uma localização comum no arquivo aberto.
Para substituir todas as ocorrências o usuário deve pressionar o botão Tudo. O IDE não
perguntará ao usuário se deve substituir as expressões a menos que a caixa Perguntar
Antes de Substituir seja selecionada. Nesse caso, para cada uma das expressões
encontradas, será exibido um diálogo
perguntando ao usuário se deseja
substituir a expressão com os botões
Sim, Não, Cancela e Tudo. O botão Sim,
substitui a ocorrência e continua a
pesquisa, o botão Não não substitui a
ocorrência e continua a pesquisa, o
botão Cancela finaliza a pesquisa
mantendo as substituições até então
efetuadas e o botão Tudo termina de
substituir todas as ocorrências sem
questionar o usuário.
No menu acionado pelo botão direito do mouse ainda existem duas opções para
importação e exportação do Grupo de Projetos de/para um arquivo texto. Isto permite ao
usuário manter cópias de segurança de grupos de projetos longos, de modo que se
ocorrer algum problema no arquivo binário onde os projetos são mantidos, as informações
possam ser facilmente restauradas do arquivo texto formatado.
Quando o arquivo for compilado com sucesso, o IDE indicará através deste
ícone. Quando o grupo de projetos é gravado, um flag de compilado é gravado
para o arquivo. Isto é necessário para evitar a recompilação do arquivo até que
o mesmo seja alterado ou que o usuário acione o comando "Compilar Tudo".
Quando houver alterações no arquivo, o IDE indicará através deste ícone. A
identificação de alteração é efetuada através da data e hora do arquivo que é
mantida no arquivo de grupo de projetos desde sua última gravação. Desse
modo, o IDE somente identificará que o arquivo teve modificações quando o
mesmo for gravado. Ou seja, alterações efetuadas no buffer de edição do
arquivo que não forem gravadas, não serão consideradas na gravação. O IDE
sempre compilará o arquivo encontrado no path indicado no Gerenciador de
Projetos. Quando o arquivo é indicado como modificado, o flag de compilado (se
existir) será removido para indicar que o arquivo deve ser recompilado.
Se o arquivo não for encontrado no path indicado no Gerenciador de
Projetos, o IDE indicará através deste ícone. Isto pode acontecer, por exemplo,
se o arquivo for deletado do diretório sem ser removido do projeto em que se
encontra.
Para a compilação, o IDE não poderá estar em modo de debug. Existem três opções de
compilação:
• a compilação de tudo, que ignora o flag de compilado nos arquivos, simplesmente
enviando novamente todos os arquivos ao server para serem compilados;
• a compilação do projeto selecionado, que envia apenas os arquivos do projeto
selecionado na janela do Gerenciador de Projetos que não contenham o flag de
compilado ao server;
• a compilação em Batch, na qual o usuário pode selecionar quais os projetos que
desejará compilar com quais configurações de compilação.
A configuração default é a
selecionada no combo existente na
barra de ferramentas do IDE. É a
configuração que será utilizada para
a compilação (exceto a compilação
em batch) e para a execução do
Remote.
Também é através das configurações onde o usuário pode incluir definições próprias que
identificarão blocos de compilação condicional dentro do código dos fontes (uso de
diretivas #IFDEF ou #IFNDEF). Tais definições devem ser adicionadas no campo
Parâmetros exatamente como seriam enviadas na linha de comando. Estas definições
serão adicionadas aquelas já definidas pelo Server de acordo com o Environment utilizado.
A linguagem ADVPL foi criada seguindo o padrão xBase para Windows utilizando
os recursos criados pela Microsiga desde versões anteriores do Siga Advanced.
Desse modo, o IDE procura compatibilizar ao máximo todos os Rdmakes que os
usuários de versões anteriores tenham criado. Para isso existe o Assistente de
Conversão de Código que será detalhado mais a frente. Uma dessas mudanças
importantes é que todos os programas de usuários devem começar com USER
FUNCTION <nome do arquivo> (caso contrário um erro de compilação
ocorrerá). Isso se deve porque o produto Siga Advanced na versão 5.07 é todo
criado utilizando-se a linguagem ADVPL. Como os usuários também poderão
utilizar-se desta linguagem para criar suas rotinas específicas, se todos se
utilizassem da cláusula FUNCTION poderia ocorrer de alguma nova versão do
Siga Advanced conter funções que por coincidência tivessem o mesmo nome de
alguma função criada por um usuário. Isto ocasionaria a substituição das
funções do usuário pelas funções criadas pela Microsiga em uma eventual
atualização de versão. Desse modo, é proibido ao usuário utilizar-se de funções
comuns (sem a cláusula USER). Para o uso interno, a Microsiga dispõe de uma
chave de autorização que é fornecida através do menu Autorização, permitindo
assim que funções comuns sejam utilizadas.
Os Comandos de Debug
O menu Executar (figura 19), contem todos os comandos utilizados para debugar rotinas
no IDE. Este comando executa o Remote, inicialmente pelo programa inicial ou quando em
processo de debug, a partir do ponto atual. A execução é normal como se a rotina
estivesse sendo executada diretamente (sem o Siga Advanced Protheus IDE). O
processamento poderá parar quando um break point for encontrado ou quando o usuário
interrompê-lo.
O programa inicial deve ser informado no combo de
seleção existente na barra de ferramentas do IDE, como
exibido na figura 20. Se por acaso o programa inicial
não for informado, o Remote questionará o usuário pelo
nome do programa inicial quando for executado.
Geralmente o processo de debug consiste em adicionar
um break point a rotina desejada, executar o Remote
através do IDE e executar o sistema até o momento em
que o break point seja encontrado. Então, o usuário
utiliza-se dos comandos de execução passo-a-passo
para acompanhar a execução da rotina criada. Pode-se
também executar o Remote e acionar o comando Pausa
quando a execução chegar na rotina desejada. A
execução do comando Pausa também pode ser efetuada
através da combinação de teclas ALT+D efetuada no
Remote em execução.
Figura 19 - O menu Executar, com
as opções para debug de rotinas.
IDE – Ambiente de desenvolvimento integrado 22
Inteligência Protheus
O usuário também pode adicionar break points (pontos de parada) ao código. Os pontos
de parada indicam linhas do código que farão com que o IDE entre em modo de debug
exatamente como se o comando Percorrer Linha tivesse sido acionado, assim que a
execução do código no Remote atingir a linha marcada. O acionamento do comando
Liga/Desliga Ponto de Parada, marca ou desmarca a linha onde o cursor está posicionado
no arquivo corrente. Por comodidade, os pontos de parada são gravados pelo IDE quando
este é encerrado, de modo que não é necessário remarcá-los na próxima execução. Pode-
se definir condições para a parada em um break point, porém a definição destas condições
e outros detalhes serão explicados mais a frente na seção que trata sobre a janela de
exibição dos break points existentes.
Por fim, o comando Atualiza, força uma atualização de todas as janelas de informações do
IDE. Todas as expressões ou variáveis são reavaliadas no Server.
A janela de Break Points (figura 22) exibe todos os break points adicionados ao código.
Nesta janela são exibidos o
nome do arquivo, a linha
onde o break point se
encontra e a condição de
execução. São três os tipos
de break points existentes.
O break point comum
contém apenas o nome do
arquivo e a linha onde deve
parar o processamento e
pode ser adicionado através
do comando Liga/Desliga
Ponto de Parada do IDE, Figura 22 - A janela de Break Points com o menu acionado pelo
ou através do menu acionado pelo botão pressionamento do botão direito do mouse.
direito do mouse sobre a janela de Break
Points. Este tipo de break point pode também ter uma condição de parada. Isto significa
que o processamento somente irá parar neste ponto se a condição informada for
satisfeita. Para informar uma condição, o usuário deve primeiro adicionar um break point
e depois editá-lo através do menu acionado pelo botão direito do mouse. Existe também
um break point chamado de break point condicional. Ele não contém nome de arquivo ou
linha, pois a parada é efetuada na primeira linha de código onde a condição informada
seja satisfeita. Este tipo de break point somente pode ser adicionado através do menu
acionado pelo botão direito do mouse na opção Adicionar (figura 23). Note que os break
points adicionados a uma linha de código, pararão somente quando a linha for encontrada,
sendo que o processamento poderá
seguir normalmente nas linhas
seguintes. Ao contrário, um break point
condicional fará com que o
processamento páre (ou seja, entre em
modo de debug) enquanto a condição
for satisfeita. Portanto poderá ser
necessário remover um break point
condicional depois que a condição for
atingida pela primeira vez, para poder
continuar com o processamento
normalmente.
Algumas chamadas, como de Code Blocks ou chamadas internas do Server, não exibem o
nome do programa. Se um duplo clique for efetuado sobre um item da lista, o IDE irá
localizar o arquivo e posicionar o cursor na linha da chamada, recalculando as demais
janelas de inspeção de acordo com a função, como será visto mais a frente no tópico
sobre as janelas de inspeção de
variáveis. A localização dos
arquivos depende também das
preferências configuradas pelo
usuário, como visto no capítulo
Configurando o IDE. As informações
da janela de Pilha de Chamadas
somente estão disponíveis durante
o processo de debug do IDE.
A Janela de Watchs
Para inspecionar o valor de variáveis, o IDE dispõe de janelas diferentes para cada um dos
quatro tipos de variáveis: Locais, Privadas, Públicas e Estáticas. As janelas de Inspeção de
Variáveis (figura 28) têm as seguintes colunas de informação: Variável, Tipo e Conteúdo.
Como a janela de Watchs, as variáveis dos
tipos Objeto e Array podem ser expandidas
exibindo seu conteúdo.
Para as tabelas, são exibidos o Alias, o filtro utilizado, o número do registro onde o
ponteiro está posicionado (Recno),
o número total de registros e a
ordem do índice ativo. A tabela que
é a área atualmente selecionada na
execução (o retorno da função
Alias( ) ) é indicada com dois
asteriscos (**).
Para os índices, é exibida a chave
de indexação (o retorno da função
IndexKey( ) ) e o índice ativo é
marcado com dois asteriscos (**).
Para os campos, é exibido o seu
conteúdo para o registro
posicionado pelo cursor,
exatamente como as variáveis nas
outras janelas de inspeção.
Figura 29 - Janela de Inspeção de Tabelas de Dados
O Inspetor de Objetos
O Inspetor de Objetos (figura 30) exibe todas as funções registradas no Server. O usuário
não precisa estar em
processo de debug para
obter do Server o mapa
de objetos. Ao acionar a
visualização através do
item Inspetor de Objetos
no menu Visualizar ou ao
acionar a opção Atualizar
no menu acionado pelo
botão direito do mouse, o
Inspetor de Objetos irá
conectar-se ao Server e
obter o mapa de objetos.
O usuário pode optar por
exibir o mapa em duas
ordens diferentes: Por
Programa e Por Função. Figura 30 - A janela do Inspetor de Objetos
Exibindo Por Programa, as funções registradas serão agrupadas pelo nome do programa
na qual foi criada ao ser registrada no Server. Caso contrário, uma lista de funções sem
agrupamento será exibida. Ao executar um duplo clique sobre o nome de uma função (ou
executar o comando Abrir no menu acionado pelo botão direito do mouse), o IDE tentará
abrir o arquivo e posicionar o cursor na linha onde a função se encontra. Pode-se também
localizar funções dentro do mapa, selecionando a opção Localizar Função no menu
acionado pelo botão direito do mouse. Se a função for localizada, o cursor será
posicionado sobre o nó da mesma na árvore montada no mapa de objetos.
Quando o IDE está configurado para utilizar o controle de versão, o usuário será
questionado sobre a reserva assim que ocorrer a primeira tentativa de alteração em um
arquivo com o atributo de somente leitura. Se optar por reservá-lo, o IDE irá então
executar a macro para reserva de arquivo ($VERSION_CHECK_OUT). Se o usuário optar
por não reservá-lo, o atributo de somente leitura permanecerá na cópia local do arquivo e
conseqüentemente o IDE não permitirá que nele sejam efetuadas alterações.
Muito importante: Caso o usuário deseje efetuar testes locais, e desse modo
remover manualmente (ou mesmo através de opções do software de controle de
versão utilizadas nas linhas de comando das macros) o atributo de somente
leitura, a execução automática do pedido de reserva não será efetuada pelo IDE
e as cópias locais (mesmo que não estejam reservadas ou não sejam a versão
correta mantida no servidor de controle de versão) poderão sempre ser editadas
no IDE. Assim, o controle das reservas e confirmações dos arquivos será
totalmente do usuário pela execução através dos botões na barra de ferramentas
de controle de versão ou diretamente em uma versão client do software
controlador de versão. Note que neste caso o usuário deve verificar sempre se o
Selecionando os Arquivos
Convertendo os Arquivos
Nos antigos Rdmakes, todas as variáveis eram criadas como Private no escopo do
sistema. Assim, uma variável criada em uma função chamada pela rotina
principal, permanecia durante toda a execução do Rdmake. Como agora o código
não é mais interpretado, as variáveis Private permanecem durante toda a
execução até a finalização da rotina que a criou. Então, por motivos de
Tabela de Macros
Nome Descrição
$$ Retorna o caracter "$".
$IDE_PATH Retorna o path de execução do IDE.
$INPUT_TEXT(cTit,cMsg,cDefa Exibe a mensagem informada em cMsg em um diálogo
ult) com título cTit, permitindo a digitação de um texto.
Retorna o texto digitado caso o diálogo seja confirmado
ou o texto em cDefault caso o diálogo seja cancelado.
$SOURCE_NAME Retorna o nome completo (path e nome) do arquivo
corrente. Se nenhum arquivo estiver aberto retorna vazio
("").
$SOURCE_NAME_NO_DRIVE Retorna o nome completo sem a letra do drive do arquivo
corrente. Se nenhum arquivo estiver aberto retorna vazio
("").
$SOURCE_SHORT_NAME Retorna somente o nome do arquivo corrente (sem path
ou letra do drive). Se nenhum arquivo estiver aberto
retorna vazio ("").
$SOURCE_CURSOR_LINE Retorna a linha onde o cursor está posicionado no arquivo
corrente. Se nenhum arquivo estiver aberto retorna "00".
$SOURCE_CURSOR_COLUMN Retorna a coluna onde o cursor está posicionado no
arquivo corrente. Se nenhum arquivo estiver aberto
retorna "00".
Glossário
Expressão Definição
ADVPL Advanced Program Language - Linguagem de programação
desenvolvida pela Microsiga Software S.A.
Alias Alias de um arquivo é um "apelido" dado a um arquivo aberto, de
modo que para selecionar a área de trabalho e poder efetuar
alterações ou pesquisas, o usuário pode se referir ao arquivo através
deste apelido. No Siga Advanced, os arquivos têm como padrão os
Alias referentes às três primeiras letras de seu nome, por exemplo
SB1.
Remote Programa do Protheus que faz a interface com o usuário, através da
comunicação com o Server.
Aplicação MDI Multiple Document Interface (Interface de Documentos Múltiplos). É
uma aplicação cuja interface consiste de uma janela principal que
pode conter múltiplas janelas filhas, ou documentos. Os títulos das
janelas filhas combinam com o título da janela pai quando a janela
filha é maximizada.
Break Points Pontos de parada marcados nas linhas do código de um programa
que indicam pontos onde o processamento deve entrar em modo de
debug quando forem alcançados.
Buffer de Edição É uma cópia do arquivo aberto no IDE mantida em memória para
permitir a edição do mesmo. Essa cópia é carregada quando o
arquivo é aberto e gravada quando o arquivo é salvo.
Debug Processo de depuração de erros através da execução linha-a-linha do
código, com a ajuda de inspetores de ambiente que exibem o
conteúdo de variáveis, campos, etc.
Debugger Programa que encontra e elimina erros de programação (bugs).
Delimitadores Delimitadores são caracteres especiais ou de pontuação utilizados
para separar as palavras do código. Por exemplo, o texto "IF !EOF()"
contém duas palavras: "IF" e "EOF". A separação das palavras é
necessária para a Diferenciação de Sintaxe. Abaixo está a lista de
if i < 10
for x := i to 10
grava()
next x
endif
if i < 10
for x := i to 10
grava()
next x
endif
Executar Executa o Remote normalmente, mantendo o IDE em estado de
espera. Desse modo, o IDE somente entrará em modo de debug em
uma das seguintes situações:
1. um break point for encontrado;
2. o usuário selecionar o comando pause no IDE;
3. um break point condicional for satisfeito;
4. o usuário pressionar no Remote a combinação de teclas ALT+D.
O modo de execução também se encerra se o usuário finalizar o
Remote.
Gutter Área nas margens de uma janela utilizada para a exibição de
informações, como por exemplo a área onde ficam marcados os
ícones de break points ou a área da régua de números de linhas nas
janelas de documentos do IDE.
IDE Integrated Development Environment (Ambiente de Desenvolvimento
Integrado). É uma aplicação onde todo o desenvolvimento, execução,
depuração e correção de procedimentos pode ser desenvolvido.
Pausar Parada na execução do Remote ou na execução de uma animação. A
parada do Remote somente será executada assim que alguma linha
de código for executada. Por exemplo, se o Remote estiver em
estado de espera (aguardando por uma digitação do usuário), a
pausa efetuada no IDE somente será efetuada assim que algum
código no Remote seja executado (por exemplo, na validação do
texto digitado pelo usuário).
Percorrer Linha Execução linha por linha do código, entrando no código de funções.
Programas São todos os programas compilados através do Advanced Protheus
Registrados IDE, que são mantidos em diferentes repositórios no Advanced
Protheus Server, de acordo com opção do Administrador.
Ponto de Entrada Conceito implementado desde as versões anteriores do sistema de
ERP Siga Advanced. É uma rotina de nome fixo e criada pelo usuário.
O sistema Siga Advanced checa a existência desta rotina em
determinados pontos do código e a executa se for encontrada,
permitindo assim que o usuário customize processos fechados. Na
versão 5.07, o usuário pode debugar estas rotinas chamadas
automaticamente através do IDE (por exemplo, adicionando break
points).
Pular Linha Execução linha por linha do código, sem entrar no código das
funções.
RDMAKE Linguagem interpretada criada pela Microsiga Software S.A. utilizada
no sistema de ERP Siga Advanced até a versão x.07.
Seguir Até Retorno Execução em modo normal do Remote até o momento em que a
linha em execução seja a linha onde o cursor está posicionado. Para
isso, o Advanced Protheus IDE coloca um break point temporário na
linha onde o cursor está posicionado.
Server Serviço do Protheus que se encarrega de executar as rotinas dos
programas registrados e controlar o acesso dos usuários. Comunica-
se com o Remote para permitir a interface com o usuário.
String Cadeia de caracteres formadora de um texto qualquer, compreendida
entre aspas duplas (") ou aspas simples ('), como por exemplo
"PROTHEUS".
Variáveis Estáticas Variáveis definidas com instância estática, ou seja, poderão ser
visualizadas ou alteradas por qualquer rotina dentro do mesmo
programa.
Variáveis Locais Variáveis definidas com instância local, ou seja, poderão ser
visualizadas ou alteradas somente dentro da rotina que as declarou.
Variáveis Privadas Variáveis definidas com instância privada, ou seja, poderão ser
visualizadas ou alteradas apenas pela rotina que as declarou e pelas
rotinas chamadas por esta.
Variáveis Públicas Variáveis definidas com instância pública, ou seja, poderão ser
visualizadas ou alteradas por qualquer rotina dos programas
registrados.
Watchs Janela de inspeção onde expressões digitadas pelo usuário podem ser
avaliadas no Server durante o processo de debug.