Ir para conteúdo
Fórum Script Brasil
  • 0

Duvidas No Meu Projeto!


Guest Felipe Vencato

Pergunta

Guest Felipe Vencato

Estou fazendo o projeto de conclusão do meu curso de informática e me surgiram algumas duvidas.

O projeto é constituído de uma programa de cadastro de clientes e produtos com outros recursos a mais como geração de diversos gráficos e estatísticas.

Compilador: Delphi 6 (eu tenho a versão 2006 também mas prefiro que seja nesta pois é a que existe no meu curso e é a que eu sei mexer melhor)

Banco de Dados: FireBird

Sistema Operacional: Windows XP

Se eu estiver usando um componente errado ou que não seja o melhor para o que eu estou fazendo gostaria que me dissesem a opção que seja melhor. Mas o Desing do projeto deve ser este(Foto).

Aqui vão as duvidas:

projeto.jpg

1)Na parte superior do programa fica o menu principal, eu usei o componente TPageControl para faze-lo. Tenho 2 duvidas:

1.1 Como fazer para que os botões se organizem automaticamente por ordem de uso ( + usado pra o – usado);

1.2 Como fazer para que o menu (TPageControl) redimensione sua largura de acordo com o tamanho da janela;

2)Aparte principal do programa é feita também com um TPageControl, Vamos as duvidas:

2.1 Para evitar o excesso de janelas no programa eu gostaria que as funcionalidades (cadastro, geração de gráficos etc...) abrissem em abas como no navegador FireFox.;

2.2 Eu quero que as mesmas só sejam carregadas na memória quando for solicitado seu uso pois o programa vai rodar em computadores ultrapassados e com pouca memória (se for muito difícil, não se preocupem pois não é um objetivo principal).;

2.3 Também gostaria de poder abrir múltiplas janelas do cadastro de clientes com dados de clientes diferentes, sem precisar criar vários forms iguais. EX: eu clico num registro dbgrid e abre uma janela com os dados deste cliente, se eu for clicar em outro ou até no mesmo registro deve abrir outra aba com os dados deste novo cliente;

3)Gostaria de colocar um calendário na página inicial, lembrando que os dados ficarão no banco de dados, duvidas:

3.1 O calendário mostraria as datas coloridas de acordo com o tipo de atividade agendada e sua prioridade. Qual o melhor componente para o caso, TmothCalendar ou Tcalendar Como na imagem acima?

3.2 Após saber qual usar que propriedades do componente eu altero. Com fazer o calendário?

3.3 Como colorir e alterar as propriedades de datas especificas;

4)É vantagem inserir uma imagem no banco de dados ou eu devo criar uma diretório de imagens e colocar apenas o caminho no banco, lembrando que o programa ficará em rede (caso seja melhor só o caminho as imagens terão que ser passadas pela rede?);

5)Como capturar os dados do banco de dados para o delphi como o nome do cliente direto da tabela, não estou falando de passar os dados para labels e edits e sim de, como exemplo, passar uma dado do banco para uma variável, ou usar dados para fazer calculos internos e nos gráficos;

6)Como calcular: quantos chamados estão pendentes, quantos clientes estão de aniversário, quantos clientes eu tenho no total;

7)Como usar blobs em DBGrid, pois o meu fica apenas escrito memo. Como colocar dados de diferentes tabelas em um mesmo DBGrid. EX: eu quero mostrar dados de um telefone e código de área (de uma mesma tabela) junto com o tipo do telefone (que esta em outra tabela);

8)Me indiquem uma apostila boa de delphi com firebird;

9)Como fazer gráficos. EX: porcentagem de tipos de clientes em pizza, lucros de cada mês com linhas, etc;

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Felipe Vencato, são muitas dúvidas. Espero que tenha bastante tempo até a apresentação/entrega do seu projeto.

Sugiro que você vá tentando avançar uma etapa de cada vez, para então postar uma nova dúvida. ;)

Aqui vão as duvidas:

1)Na parte superior do programa fica o menu principal, eu usei o componente TPageControl para faze-lo. Tenho 2 duvidas:

1.1 Como fazer para que os botões se organizem automaticamente por ordem de uso ( + usado pra o – usado);

1.2 Como fazer para que o menu (TPageControl) redimensione sua largura de acordo com o tamanho da janela;

1.1 - acredito que você terá que contabilizar e guardar esta informação na máquina do usuário.

Para isto você tem duas opções: arquivo de inicialização (*.ini) ou registro do windows (pesquise no forum por inifile ou registry;

1.2 - Altere sua propriedade Align para alTop.

2)Aparte principal do programa é feita também com um TPageControl, Vamos as duvidas:

2.1 Para evitar o excesso de janelas no programa eu gostaria que as funcionalidades (cadastro, geração de gráficos etc...) abrissem em abas como no navegador FireFox.;

2.2 Eu quero que as mesmas só sejam carregadas na memória quando for solicitado seu uso pois o programa vai rodar em computadores ultrapassados e com pouca memória (se for muito difícil, não se preocupem pois não é um objetivo principal).;

2.3 Também gostaria de poder abrir múltiplas janelas do cadastro de clientes com dados de clientes diferentes, sem precisar criar vários forms iguais. EX: eu clico num registro dbgrid e abre uma janela com os dados deste cliente, se eu for clicar em outro ou até no mesmo registro deve abrir outra aba com os dados deste novo cliente;

2.1 - Sem problemas. Bastaria que em cada uma destas abas você carregasse um Frame - você cria suas telas de cadastros, gráficos em Frames (File->New->Frame) não Forms. Tem apenas que trabalhar direitinho a questão da dimensão das "janelas" que você utilizará.

2.2 - No caso de uso de frames, este não são adicionados a lista "Auto-create forms" (Projects->Options...). Mas se forem forms, basta que você os selecione e mova para a lista "Available forms";

2.3 - Isto também é possível, entretanto é um pouco mais complicado, requerindo algum tipo de controle, estruturação do form/frame/datamodules para que utilize um mesmo form ou frame "n" vezes simultaneamente;

3)Gostaria de colocar um calendário na página inicial, lembrando que os dados ficarão no banco de dados, duvidas:

3.1 O calendário mostraria as datas coloridas de acordo com o tipo de atividade agendada e sua prioridade. Qual o melhor componente para o caso, TmothCalendar ou Tcalendar Como na imagem acima?

3.2 Após saber qual usar que propriedades do componente eu altero. Com fazer o calendário?

3.3 Como colorir e alterar as propriedades de datas especificas;

3.1 - Não saberia responder, sem testá-los no quisito customização, mas para adiantar tem um componente baseado no TCalendar que viabiliza a pintura de dias - TColorCalendar (pode ser outra opção).

3.2 - ... (varia com o componente escolhido)

3.3 - ... (varia com o componente escolhido)

4)É vantagem inserir uma imagem no banco de dados ou eu devo criar uma diretório de imagens e colocar apenas o caminho no banco, lembrando que o programa ficará em rede (caso seja melhor só o caminho as imagens terão que ser passadas pela rede?);
a principal vantagem que vejo em colocá-lo em um diretório, é a facilidade de manutenção, já que elas podem ser atualizadas via Windows Explorer facilmente. Já no programa, você terá que implementar em algum lugar uma opção para isto. Há de se levar em conta a questão segurança/integridade desta informação. Se o arquivo fica exposto a qualquer um que possa apagá-lo ou adulterá-lo, isto pode resultar em erro ao tentar acessá-lo de seu programa, já que o caminho pode não existir. E se o nome do arquivo for alterado, também não o encontrará - coisas que não ocorrem quando você coloca no banco de dados. Em qualquer das duas opções, cabe optar pelo formato JPG ou outro compactado.

5)Como capturar os dados do banco de dados para o delphi como o nome do cliente direto da tabela, não estou falando de passar os dados para labels e edits e sim de, como exemplo, passar uma dado do banco para uma variável, ou usar dados para fazer calculos internos e nos gráficos;
imagino que você queira ligar seus componentes visuais aos datasets (do tipo Table ou Query). Neste caso você estará utilizando os componentes da paleta "Data Control" que são ligados aos datasets via propriedade DataSource. Nesta propriedade você seleciona um componente TDataSource (localizado na paleta "Data Access"), que por sua vez ligará ao respectivo dataset via propriedade DataSet.

Já que você utiliza FireBird, você poderia utilizar componentes de acesso ao banco da paleta InterBase (ficando sem portabilidade) que são plenamente compatíveis. Uma boa opção seria utilizar os componentes ZeosLib (facilita a portabilidade a vários outro bancos de dados) que suporta FireBird, MySQL, Oracle, SQLLite, SyBase, Postgresql, MSSql (acho esta opção melhor). Há outras tantas opções.

Uma vez decidido que componentes utilizar, você acessa os dados de "n" maneiras e pode faze as operações que desejar.

Com relação a gráficos, você vai ter que primeiro decidir que gerador de relatórios irá utilizar. O mais comum é o QuickReport, mas houveram outros tipos que acompanharam algumas das versões do Delphi - um deles o Rave Report.

6)Como calcular: quantos chamados estão pendentes, quantos clientes estão de aniversário, quantos clientes eu tenho no total;
além de você ter modelado seu banco de dados para suprir as informações necessárias para extrair estas informações, vejo que que você vai precisar estudar um pouco de SQL. ;)

Dê uma olhada em apostilas (tem um link no topo da página, procure por banco de dados Interbase/Firebird. Mesmo qualquer outro artigo que lhe fale sobre instruções SQL lhe ajudará, já que em teoria é um padrão.

7)Como usar blobs em DBGrid, pois o meu fica apenas escrito memo. Como colocar dados de diferentes tabelas em um mesmo DBGrid. EX: eu quero mostrar dados de um telefone e código de área (de uma mesma tabela) junto com o tipo do telefone (que esta em outra tabela);

8)Me indiquem uma apostila boa de delphi com firebird;
não conheço uma, mas lendo várias dá para formar uma idéia legal.

9)Como fazer gráficos. EX: porcentagem de tipos de clientes em pizza, lucros de cada mês com linhas, etc;
como falei antes, vai depender que gerador de relatórios você vai utilizar.

Lembre-se do que eu disse no início, comece a postar suas dúvidas em partes para que os posts não fiquem confusos e longos como este. ;)

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...