Fenner
RAD

Visão geral do RAD

O Fenner RAD: um designer de formulários e editor de código no espírito do Delphi, escrito em Fenner sobre a WCL.

O Fenner RAD é o ambiente de desenvolvimento rápido da linguagem: uma paleta de componentes, o formulário preso dentro do RAD numa aba por módulo, um inspetor de objetos com propriedades e eventos, e o código gerado na própria Fenner. Ele é escrito em Fenner, sobre a WCL: o RAD é, ao mesmo tempo, uma ferramenta e uma prova de que a linguagem sustenta um aplicativo de janelas grande.

A janela#

Fenner RAD — MeuApp.fxp Arquivo Editar Exibir Projeto PlataformaMSWin64 ▾ ConfiguraçãoDebug ▾ PropriedadesEventos NameButton1 CaptionSalvar Left24 Top72 ▸ FontAnchors[akLeft, akTop] EnabledTrue Unit1Unit2MeuApp.fxp Formulario Codigo (F12) Form1 Nome: Salvar TListView Buscar… ▾ Standard TLabelTEditTButtonTCheckBox ▸ Additional▸ Win32 Mensagens Compilando MeuApp.fxp (MSWin64, Debug)… Unit1.fxm(41,5): Erro: identificador não declarado: "Contador" ← duplo clique vai à linha Executável gerado: bin\MSWin64Debug\MeuApp.exe compilou em 41 sRtlPackage (Debug): pronta 1 2 3 4 5

Esquema da janela (não é uma captura de tela).

  1. Inspetor (à esquerda): abas Propriedades e Eventos do controle selecionado.
  2. Área central: uma aba por módulo, mais a do projeto (.fxp). Em cada aba, o botão Formulario/Codigo (F12) alterna o desenho e o código.
  3. Paleta de ferramentas (à direita): categorias com caixa de busca.
  4. Plataforma e Configuração de build, acima das abas.
  5. Mensagens: a saída do compilador; duplo clique numa linha de erro vai à linha.

O que ele faz#

  • Desenha formulários com a paleta e o mouse: clicar, arrastar, redimensionar, selecionar vários, copiar e colar entre formulários. Veja o guia de uso.
  • Edita código num SynEdit portado para a WCL, com realce da linguagem, dobra de blocos, completar código, navegação entre declaração e implementação e localizar/substituir. Veja o editor de código.
  • Compila e executa com o fc: Ctrl+F9 compila, F9 executa, os erros caem em Mensagens. Veja Compilar e executar.
  • Mantém o projeto: o .fxp, o .config e os módulos, com várias configurações de build (Debug, Release…), ícone, manifesto, temas e recursos. Veja Os arquivos de um projeto.
  • Gera código Fenner comum: nada de formato proprietário escondido. O que o RAD escreve você lê, e o que você escreve fora das regiões geradas ele preserva.

Como iniciar#

Compile o RAD e abra-o (a partir da pasta do RAD):

terminal
build.cmd                      # compila (Release) -> bin\MSWin64Release\RAD.exe
build.cmd Fast                 # sem otimização, para iterar (≈ 35 s)
bin\MSWin64Fast\RAD.exe        # abre o RAD com um projeto novo
bin\MSWin64Fast\RAD.exe C:\...\Projeto.fxp

O fc.exe é procurado primeiro ao lado do RAD.exe (os dois são distribuídos juntos) e só depois em C:\Fenner\Compiler\bin.

Os tipos de projeto#

O menu Arquivo cria três tipos, e o .fxp de qualquer um deles é a primeira aba do RAD, aberta para edição:

TipoO que saiNasce com
Novo projeto.exe de janelasa aba do .fxp e um módulo com o formulário principal
Novo projeto de console.exe de console (AppType Console)só a aba do .fxp, com um begin..end. de exemplo
Novo projeto de biblioteca (DLL).dll (library Nome;)só a aba do .fxp, com uma rotina e a cláusula exports

Num projeto de console ou de biblioteca a paleta some (não há formulário a desenhar) e o código fica no corpo do próprio .fxp. Um projeto pode não ter módulo nenhum, e módulos entram pelo Novo módulo quando o programa crescer. O F9 roda um programa de console dentro de um cmd com pause, para a janela não fechar no fim; uma DLL não se executa.

O que ainda não tem#

  • Editores de coleção: colunas do TListView, painéis do TStatusBar, seções, bandas, abas do TPageControl.
  • TImageList e TActionList.
  • Desfazer no designer (no editor de código o desfazer existe).
  • Ícones na paleta.
  • PNG e JPEG em Picture (a WCL lê hoje .bmp e .ico; o resto espera a base WIC).