FLEX PASCAL
Este projeto tem como objetivo desenvolver uma IDE
para programação object pascal.
Quem pode participar ?
1 - O projeto esta aberto a todo e qualquer usuário do forum.
2 - Esteja decidido que realmente quer participar, ao se encaixar
em uma das funções descritas no cronograma, informe aqui que você
esta pegando a parte "tal" para fazer.
3 - Sugerindo opções e melhorias que a IDE pode conter.
Como proceder ao participar ?
1 - Juntamente com o projeto existe um arquivo em texto chamado
"readme.txt" em que toda e qualquer edição feita no código deve ser
relatada, e também o nome ou nick de quem realizou a edição.
2 - Toda alteração no código que envolva "units, componentes" que não
estão por padrão no delphi, ambos devem ser anexados juntamente com o código
na pasta "Units,Componentes" e também relatados no "readme.txt".
3 - Favor não inserir comentários no cabeçalho das units.
4 - Favor manter o estado de codagem das sintaxes sempre em
minúsculas.
5 - Leia atentamente oque esta no cronograma e caso queira realizar
alguma das partes informe no tópico, de forma alguma inclua algum código
ou qualquer parte que seja no código atual que não esteja no cronograma
pois o seu trabalho não será aceito e seu trabalho será perdido.
6 - Ao fazer alguma atualização no projeto, favor destacar
em com cores a versão da atualização, e informar quais alterações foram feitas para que
possamos ir informando neste tópico oque ja foi feito pelo cronograma.
Dinâmica e Robustez
1 - Fazendo uso de gravação e leitura de configurações
existentes no programa ao invés de em cada método criar um
procedimento de leitura ou salvamento das configurações é bem
mais prático criar apenas um método que pode ser acessada a leitura
e outro para a gravação das configurações lógico sendo criado para
acesso compreensivel de cada um, juntamente definindo que a leitura
das configurações seja feita na inicialização do programa e a gravação
seja feita no fechamento do programa.
2 - Na escritura de estruturas que necessitem várias verificações
por exemplo 3,4,5 verificações sequênciais substitua o uso, se no caso
for de "if,else" ou "if,then" pelo uso da estrutura "case".
3 - Ao codar um método em que necessite ser usado por diversas partes
do código, não reescreva este mesmo método em todas as partes do código
que irão usar este método e sim dinâmicamente descreva uma função existindo
o método que será usado pelas partes interessadas, e observe também se o uso
deste método será feito somente pela unit em que ele existe definindo este método
como sendo privado ou se necessário o uso externo tenha o método como público.
4 - Evite o uso desnecessário de váriaveis, principalmente váriaveis para construção
de objetos, e fazendo uso construção de objetos nunca esqueça de liberá-los da memória
quando não houver mais necessidade de uso.
5 - Ao ser necessário fazer uso de váriavel seja qual for, verifique se esta mesma
pode ser usada pelo tipo menor, exemplo: posso usar um tipo "Word" no lugar do tipo
"integer" que irá prejudicar o método que tenha que escrever, é sempre bom pensar
nisto principalmente no mais frequente uso que se tem de váriaveis "integer e string".
Estética de Código
1 - Ao descrever determinado método inicie o código
sempre dando margem nas linhas do método.
2 - Não deixe diversas linhas em branco dentro de um método.
3 - Ao fazer uso de uma váriavel defina seu nome o relacional
ao uso que esta sendo feito da váriavel.
4 - Ao adicionar um componente no form renomeie seu nome ou seja
sua propriedade "name" sendo relacional com a função que o componente
vai exercer.
5 - Ao Adicionar um novo form, renomeie seu nome sendo relacional afunção que ele vai exercer, descreva o nome da unit do form sempretendo sempre a primeira letra como "U" exemplo: "UConfigurar".
Cronograma
1- Criação de metódo para gravação e leitura
das configurações feitas no programa, melhor dizendo "arquivos .ini"
ou diretamente no registro do windows. Concluído.
2 - Criação de metódo de configuração de línguas, melhor dizendo
uma base de dados onde estarão localizadas as diversas traduções para
o programa, seja em dll,arquivos .ini, registro, resources etc... Concluído.
3 - Uma pessoa para traduzir as palavras em diversas linguas.
4 - Uma pessoa para procurar imagens de boa qualidade.
5 - Criação da opção de menu "Edit,Editar", contendo o máximo de opções
possivéis, mas mantendo a categoria de menu, tenha o delphi como exemplo.Concluído.
6 -Criação da opção de menu "Search,Localizar", contendo o máximo de opções possivéis, mas mantendo a categoria de menu,
tenha o delphi como exemplo. Concluído.
7 - Criação da opção de menu "View,Exibir", contendo o máximo de opções
possivéis, mas mantendo a categoria de menu, tenha o delphi como exemplo.
8 - Criação da opção de menu "Project,Projeto", contendo o máximo de opções
possivéis, mas mantendo a categoria de menu, tenha o delphi como exemplo.
9 - Criação da opção de menu "Run,Executar", contendo o máximo de opções
possivéis, mas mantendo a categoria de menu, tenha o delphi como exemplo.
10 - Criação da opção de menu "Tools,Ferramentas", contendo o máximo de opções
possivéis, mas mantendo a categoria de menu, tenha o delphi como exemplo. A concluir.
11 - Criação da opção de menu "Window,Janelas", contendo o máximo de opções
possivéis, mas mantendo a categoria de menu, tenha o delphi como exemplo.
12 - Tradutor dos comandos e documentação do compilador.
13 - Criação da opção de menu "Reopen,Reabrir", contendo o máximo de opções
possivéis, mas mantendo a categoria de menu, tenha o delphi como exemplo. Concluído.
14 - Criar um metódo de
leitura de todas as strings contidas no programa em português em um arquivo,
deixando caminho para inserir uma opção para selecionar o idioma. A concluir.
15 - Uma pessoa para traduzir as palavras para outras linguas.
16 - Criação de um form exclusivo com "Configurações da IDE", com abas para diversas opções. A concluir.
17 - Criação da opção de menu "File,Arquivo",
contendo o máximo de opçõespossivéis, mas mantendo a categoria de menu,
tenha o delphi como exemplo. A concluir.
18 - Nas units criar um método em que elas possam
ser mudadas de lugar apenas arrastando as abas, fazendo
um efeito drag drop.
19 - No Form "Configurações", na aba "cor" criar um método
em que tenha a lista de elementos que podem ser formatados
exemplo: o elemento "string" assim que selecionado a configuração
é mostrada de como este elemento esta sendo formatado e
quando o usuário fizer alguma mudança dar a opção
ao usuário de "aplicar" esta configuração somente neste elemento
para visualizar esta alteração. Um exemplo disto pode ser visto
no delphi7, em tools>Editor Options>Color.
Criar a opção que também pode ser vista no delphi7 em
tools>Editor Options>Color que esta definida como
"Color SpeedSetting", que consiste em uma lista de estilos
quando selecionado o estilo toda a formatação do editor é mudada
juntamente com todas as formas de formatação dos elementos. A concluir.
20 - Criar um método que possa mudar todos os icones do programa,dando ao usuário a opção de selecionar o estilo de ícones que ele desejar e lógicamente mantendo esta opção gravada na configuração.
Também se possivel dar opção de selecionar o estilo dos componentes
exemplo: usar ou não o estilo dos botões da barra como "flat" ou não.
usar ou não o estilo de bordas da toolbar, ou seja a propriedade "EdgeBorders" juntamente com as propriedades "EdgeInner,EdgeOuter".
21 - No form "Frmsobre", criar um efeito scroller
mostrando o nome das pessoas que participaram da
criação do Flexpascal, destacando também as versões
já existentes. A concluir.
Integração IDE e Compilador
O projeto é baseado e unicamente a princípio no desenvolvimento
de uma IDE que trabalhe unicamente para um desevolvimento mais dinâmico
de aplicações.
Com isto usaremos o compilador,
GNUPascal, Thread model: win32, gpc version 20070904,
based on gcc-3.4.5 mingw especial
oqual fará parte do ambiente de programação que será desenvolvido.
Este compilador é extremamente amplo em diversos caminhos
mas se necessário pode ser substituido por outro que responda
a necessidade da IDE.
Observação:
Temos que seguir o cronograma descrito no tópico acima.
Toda e qualquer atualização fora da descrição do cronograma
não será válida e seu trabalho será em vão.
Demais informações serão
adicionadas no decorrer do projeto.
É isto ai quem quizer fazer parte do projeto
basta se manifestar.
Senha:www.forum-invaders.com.br
FlexPascal
FlexPascal v0.2
FlexPascal v0.3
FlexPascal v0.4
FlexPascal v0.5
FlexPascal v0.6
FlexPascal v0.7
FlexPascal v0.8
FlexPascal v0.9
FlexPascal v0.9.1
FlexPascal v1.0
FlexPascal v0.1.1
FlexPascal v1.2
FlexPascal v1.3
FlexPascal v1.4
Recente
FlexPascal v1.5
Compilador, a parte
:idea:



Responder com Citação
