Bom, eu uso TDI e não tenho do que reclamar, logo que viram alguns dizerem, e quando a tela é pequena e tem poucos campos, fica aquele espaço todo vazio, bom, dane-se o espaço vazio, se vc abre o word ele abre com uma folha inteira em branco... a folha naum vai ficando maior de acordo com o que vc digita... rs
Mas... cada um tem seu estilo... Veja esses prints... http://www.jmsoftwares.com.br/erp O usuário abre quantas janelas quiser, só não mais de uma da mesma... rs Att, Jhosef Marks de Carvalho Blog: http://www.jhosefmarks.com.br Jesus está voltando "E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e buscar a minha face e se converter dos seus maus caminhos, então eu ouvirei dos céus, e perdoarei os seus pecados, e sararei a sua terra." (2 Cr 7:14) Em 12 de agosto de 2010 08:21, Adriano de F. Trindade < trind...@desbrava.com.br> escreveu: > > > Opa! > > Mas eu faço isso em SDI. Se estou no cadastro de estoque e preciso > cadastrar > uma família de estoque, eu chamo o form de cadastro de famílias do estoque, > a família é inserida, depois volta para o estoque e continua a preencher o > cadastro. A diferença é o usuário só volta para o cadastro de estoque > depois > de concluir e fechar o cadastro de famílias, o usuário não tem liberdade > para alternar de um para outro conforme sua vontade, e sim da maneira que > eu > determino. Desta maneira eu sei o que esperar e não perco o controle. > > Falou! > > -----Mensagem original----- > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> [mailto: > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>] Em > nome de Luciano Bruno > Enviada em: quarta-feira, 11 de agosto de 2010 20:25 > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > Assunto: Re: [delphi-br] Estrutura Padrão de Software > > > Eu tenho aplicaçoes relativamente grandes e uso MDI. uma das coisas que eu > faço é impedir que ele seja criado mais de uma vez. > uma vantagem que vejo no MDI e TDI, é a liberdade de poder editar um > cadastro auxiliar na ediçao de outro. tipo: no cadastro de um produto, > poder cadastrar um grupo uma sessao etc. mais isso fica acriterio do > desenvolvedor. > > Em 11 de agosto de 2010 11:36, Adriano de F. Trindade < > trind...@desbrava.com.br <trindade%40desbrava.com.br>> escreveu: > > > > > > > Ei, eu não te impus uma regra. Falei que EU trabalho assim, eu trabalho > > somente com SDI. Tudo depende da maneira que a sua aplicação vai > trabalhar. > > Você pode trabalhar com MDI e mastigar os problemas decorrentes disso. > > > > E mais de um cadastro aberto de cada vez? Você tem que questionar: você > > vai precisar mexer em dois cadastros simultaneamente? Porque a gente não > > permite isso, justamente porque cada pessoa faz uma coisa de cada vez: > > conclui-se um cadastro primeiro para depois abrir o próximo. Também outra > > coisa é abrir duas janelas DISTINTAS ao mesmo tempo e outra é abrir a > MESMA > > janela mais de uma vez. > > > > Você tem que ver o que o cliente quer, e se é viável. Em muitos casos > você > > tem que mudar a cabeça do cliente para não ter que fazer um monte de > > trabalho desnecessário. Só que você não consegue fazer isso sem > argumentos > > sólidos, consistentes e convincentes. Um deles é o custo de > desenvolvimento: > > da maneira A eu faço em uma semana, da maneira B eu levo um mês porque > > tenho que reescrever tudo. > > > > Também é uma coisa você fazer um sistema específico para um cliente e > outra > > coisa radicalmente diferente é você fazer um sistema para vários > clientes. > > Se um cliente te exige SDI e outro te exige MDI, qual que ganha? E, > > piorando, se 10 clientes exigirem MDI e 10 clientes exigirem SDI, como é > que > > fica? Se você optar por SDI, o quê você vai dizer para quem não quer SDI? > > Vai dizer tchau? Tenha uma justificativa e ele a aceitará. Mas sem > > justificativa, não vai aceitar nunca. Porque um sistema para várias > empresas > > jamais vai CONTENTAR á todas, mas pode ATENDER BEM á todas. E mesmo essas > > que não se contentaram, depois de um tempo se acostumam e param de > reclamar. > > Afinal, a resistência à mudanças é uma constante, ninguém quer mudar, > porque > > isso dá trabalho. > > > > A fórmula do sucesso eu não sei, mas a do fracasso é agradar á todos > > Anônimo (corretíssimo) > > > > > > Falou! > > > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><delphi-br% > 40yahoogrupos.com.br> [mailto: > > delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><delphi-br% > 40yahoogrupos.com.br>] Em nome de > > Eny Urias > > Enviada em: quarta-feira, 11 de agosto de 2010 11:03 > > > > Para: delphi-br@yahoogrupos.com.br > > <delphi-br%40yahoogrupos.com.br><delphi-br% > 40yahoogrupos.com.br> > > Assunto: Res: [delphi-br] Estrutura Padrão de Software > > > > Entendi.... Então, realmente, não ha como trabalhar com DataModule numa > > aplicação MDI? Porque foi uma das exigencias do cliente poder abrir mais > de > > um > > cadastro de uma vez... Eu tb não gosto de trabalhar com MDI... muito > > trabalhoso... mas, fazer o q... > > > > -- > > Eny Trova Urias > > > > "Somos o que repetitivamente fazemos, portanto, a excelência não é um > > feito, mas > > um hábito"- Aristóteles > > > > ________________________________ > > De: Adriano de F. Trindade > <trind...@desbrava.com.br <trindade%40desbrava.com.br><trindade% > 40desbrava.com.br><mailto: > > trindade%40desbrava.com.br <trindade%2540desbrava.com.br>> > > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > <delphi-br%40yahoogrupos.com.br><mailto: > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > > Enviadas: Terça-feira, 10 de Agosto de 2010 17:03:46 > > Assunto: RES: [delphi-br] Estrutura Padrão de Software > > > > Minha aplicação é SDI. Bem mais simples e menos propensa á erros, tipo, > um > > registro ser modificado em um form e no outro você ter o mesmo dado > > atualizado. > > Quanto mais você deixar o usuário fazer o que ele quiser, maior serão as > > possibilidades de algo dar errado. > > > > Mas isso é a minha opção pessoal, claro. As precauções e checagens para > MDI > > e > > SDI são bem diferentes. Você define como você quer trabalhar. Eu tenho > uma > > maneira bem peculiar de trabalhar aqui, muito old school. > > > > Falou! > > > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><delphi-br% > 40yahoogrupos.com.br> <mailto: > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > > [mailto:delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > <delphi-br%40yahoogrupos.com.br><mailto: > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> ] Em > > nome > > de Eny Urias > > Enviada em: terça-feira, 10 de agosto de 2010 15:51 > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > <delphi-br%40yahoogrupos.com.br><mailto: > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > > Assunto: Res: [delphi-br] Estrutura Padrão de Software > > > > Como vc trabalha numa aplicação MDI utilizando DataModule? Se o usuário > > quiser > > abrir dois formularios de clientes como vc faz? Não dá conflito já que os > > componentes de acesso aos dados estão no DM? > > > > -- > > Eny Trova Urias > > > > "Somos o que repetitivamente fazemos, portanto, a excelência não é um > > feito, mas > > > > um hábito"- Aristóteles > > > > ________________________________ > > De: Adriano de F. Trindade > <trind...@desbrava.com.br <trindade%40desbrava.com.br><trindade% > 40desbrava.com.br><mailto: > > trindade%40desbrava.com.br <trindade%2540desbrava.com.br>> > > <mailto:trindade%40desbrava.com.br <trindade%2540desbrava.com.br><trindade% > 2540desbrava.com.br>> > > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > <delphi-br%40yahoogrupos.com.br><mailto: > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > > <mailto:delphi-br%40yahoogrupos.com.br<delphi-br%2540yahoogrupos.com.br><delphi-br% > 2540yahoogrupos.com.br>> > > > > Enviadas: Segunda-feira, 9 de Agosto de 2010 19:03:05 > > Assunto: RES: [delphi-br] Estrutura Padrão de Software > > > > Não quero te desanimar, mas mostrar os problemas provoca a busca de > > soluções > > para eles, e com isso aprende-se. > > > > Pelo jeito você está meio cru no negócio, e a lógica, você até que está > > indo bem, considerando a herança dos formulários. > > > > O que falta, na real, é você fracionar estes seus casos de uso aí. > Explico: > > DataSource, por exemplo, alguns formulários vão precisar de um, outros de > 5 > > e outros de 20. Se você fazer no seu modelo primário um único DataSource, > > em > > cada formulário que você criar herdando este formulário, terá que > adicionar > > mais DataSources. Mas, se você fizer o modelo com 10, aí você atende a > > maioria dos casos, e em raras oportunidades terás que adicionar mais data > > sources além desses 10 aí. > > > > Entendeu o exemplo? Eu quis dizer: projetar considerando o máximo de > > possibilidades para cada form, e não o mínimo. Certo? Agora esqueça esses > > data sources aí. Crie um único Data Module, com um nome bem curto (eu uso > > DM) e coloque todos seus componentes de acesso á dados lá: > > ClientDataSets, > > DataModules, DataSetProviders e por aí vai. Desta maneira, você não vai > ter > > componentes de acesso á dados espalhados pelo seu projeto. > > > > Eu comecei há 5 anos atrás um sistema mais ou menos da maneira que você > > estava começando este. Começou com 34 tabelas e hoje tem 220 tabelas no > BD. > > De todo o tempo de desenvolvimento, no mínimo 30% dele foi refazendo > coisas > > que fiz sem considerar todas as possibilidades. Por exemplo: ao projetar > um > > formulário para Notas Fiscais, você precisa de uma tabela para os dados > da > > NF e outra para o detalhamento da NF, que são os produtos/serviços. > > Primeiro > > fiz com uma tabela para produtos e outra para serviços: tive que refazer > > para colocar produtos e serviços em uma única tabela. Alguns valores como > > frete e seguro iam no corpo da NF. Não, não dá certo, valores de frete e > > seguro tem que ser distribuídos pelos itens da NF para conseguir gerar a > > NF-e direito. No corpo da NF, só dados cadastrais, dados monetários tem > que > > ser tudo nos itens. E tome refazer enormes partes do código. > > > > Minha dica pra ti é: vá para o Delphi por último. Faça funcionar no papel > > primeiro. Vai lidar com Notas Fiscais? Estude o lay-out da NFe e do SPED > > antes para saber de quais dados você precisará e modelar seu BD de > acordo. > > Sugiro usar a padronização de nomes de campos que consta no lay-out da > > NF-e, > > vai tornar sua vida mais fácil no futuro. Vais trabalhar com ECF? Estude > o > > manual do PAF-ECF. Vais gerar boletos para bancos? Estude a documentação > > sobre quais dados você precisa informar nos arquivos gerados para os > bancos > > e use eles nas contas á pagar/receber. Quais impostos vais ter que > > informar? > > Campos no BD para cada um. > > > > É mais importante para seu projeto entrar nas empresas e ver como que > todos > > trabalham, que informações um departamento precisa obter do outro, o > > rastreamento de quem fez o quê, o controle de acesso, permissões para os > > menus, acesso de vários usuários ao mesmo tempo... Depois que tiver tudo > > isso no papel, aí sim você vai pro Delphi. Porque sabendo isso tudo, aí > > você > > saberá quantos formulários vai precisar, quantos campos em cada > formulário, > > quantos ClientDataSets... Bote a prancheta embaixo do braço, esqueça a > > programação de software acadêmica e disseque a prática das pessoas. Só > > depois você vai saber o quê precisa fazer no Delphi e quais problemas > terá > > que solucionar DE VERDADE. > > > > Falou! > > > > De: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br><delphi-br% > 40yahoogrupos.com.br> <mailto: > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > > <mailto:delphi-br%40yahoogrupos.com.br<delphi-br%2540yahoogrupos.com.br><delphi-br% > 2540yahoogrupos.com.br>> > > > > [mailto:delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > <delphi-br%40yahoogrupos.com.br><mailto: > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > > <mailto:delphi-br%40yahoogrupos.com.br<delphi-br%2540yahoogrupos.com.br><delphi-br% > 2540yahoogrupos.com.br>> > > ] > > Em > > nome de Rodrigo Rossi > > Enviada em: segunda-feira, 9 de agosto de 2010 17:42 > > Para: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > <delphi-br%40yahoogrupos.com.br><mailto: > > delphi-br%40yahoogrupos.com.br <delphi-br%2540yahoogrupos.com.br>> > > <mailto:delphi-br%40yahoogrupos.com.br<delphi-br%2540yahoogrupos.com.br><delphi-br% > 2540yahoogrupos.com.br>> > > ; > > n...@yahoogrupos.com.br <NDDV%40yahoogrupos.com.br> <NDDV% > 40yahoogrupos.com.br> <mailto: > > NDDV%40yahoogrupos.com.br <NDDV%2540yahoogrupos.com.br>> <mailto: > > NDDV%40yahoogrupos.com.br <NDDV%2540yahoogrupos.com.br>> > > > > Assunto: [delphi-br] Estrutura Padrão de Software > > > > Boa tarde. > > > > Estou desenvolvendo já faz uns 3 meses um software em Delphi 2010 para > > ERP, não é um ERP muito grande mas a idéia é atender vários ramos de > > atividade, é um projeto importantíssimo para min, este software estou > > desenvolvendo sozinho, como nunca fiz um projeto grande assim de delphi, > > gostaria da opinião de vocês sobre alguns assuntos. > > > > Estou com muita dificuldade em definir a arquitetura do software (o > > modelo), por exemplo, o que fiz até agora foi: > > > > 1 - Criar um DM para conexão com o Firebird usando SqlConnection. > > 3 - Criar três formulários genéricos que serão herdados para a geração > > de outros (herança de formulários). Nesses formulários coloquei um > > DataSource. > > 4 - Criei um cadastro de clientes herdando do formulário genério do item > > 3, neste cadastro, coloquei um SqlQuery, um DataSerProvider, um > > ClientDataSet e um DataSource, onde ligo um no outro e o coloco o > > DataSource igual ao do Form genérico, lá no form genérico faço todos os > > comandos de CRUD e também navigator usando o datasource > > (dsrCadastros.DataSet as TClientDataSet). Isso achei legal pois quando > > crio um novo formulário herdando do genérico só me preocupo em enviar > > alguns parâmetros como: Nome da tabela, campos chave etc.. > > 5 - Como viram no item 4, estou usando os componentes de conexão dentro > > do formulário e não estou usando um DataModule separado para isso (EU > > achei melhor, aceito sujestões). > > > > Gostaria de saber de vocês se isso que estou fazendo está certo, se é > > isso que acontece na prática, trabalho com programação em linguagem > > própria e estou no segundo ano de informática, nunca trabalhei com > > delphi em nenhuma empresa por isso estou com essas dificuldades. Já > > tenho alguns projetos prontos em delphi mas nada se compara a este. > > > > Ainda tenho que colocar no sistema: > > > > 1 - Parte multiusuário: Como vocês fazem isso com firebird? Tentei > > colocar DataSnap no meu projeto mas vi que teria que mudar toda a > > estrutura que já fiz, ia dar muito trabalho, então somente fiz um arqivo > > .ini que o usuário indica onde é o servidor e o arquivo do firebird > > (*.fdb;*.gdb). > > 2 - Permissão de usuário nas telas: Quero fazer uma tela principal com > > botoes, gráficos, atalhos para relatórios, etc. Mas como vou fazer o > > gerenciamento disso, por exemplo, o usuário A não pode ver as vendas do > > mês e na tela principal tem um botão la que mostra as vendas por mês. > > > > OBSERVAÇÃO: Eu até sei como resolver a maioria desses problemas, a parte > > da lógica é facil, o que estou com dificuldades é COMO resolver esses > > problemas, como definir uma estrutura que quando o projeto crescer não > > terei que fazer uma mudança grande para atender um requisito, quero > > reaproveitamento de código. > > > > Abraços..... > > > > -- > > Att. > > > > Rodrigo Rossi > > Skype: rodrigotrentinrossi > > MSN: rdrg_ro...@hotmail.com <rdrg_rossi%40hotmail.com> <rdrg_rossi% > 40hotmail.com> <mailto: > > rdrg_rossi%40hotmail.com <rdrg_rossi%2540hotmail.com>> <mailto: > > rdrg_rossi%40hotmail.com <rdrg_rossi%2540hotmail.com>> > > <mailto:rdrg_rossi%40hotmail.com <rdrg_rossi%2540hotmail.com><rdrg_rossi% > 2540hotmail.com>> > > > > Fone: (45) 9963-1897 > > Cascavel - PR > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > -- > Luciano S. Bruno > Consultor em TI > > [As partes desta mensagem que não continham texto foram removidas] > > ------------------------------------ > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html