Fórum Me ajudem a aprender Delphi decentemente, pelo amor de Deus! #191049
28/10/2003
0
Olá pessoal!
Sou programador VB já há algum tempo e agora estou começando com o Delphi. Acontece que eu estou passando pelo mesmo problema que passei quando estava iniciando com VB, ou seja, todo livro que pego sobre Delphi, é a mesma lenga-lenga: os caras só mostram o feijãozinho com arroz, que, cá entre nós, nem é preciso livro para aprender.
Tudo o que se encontra são tutoriais estúpidos mostrando como arrastar e soltar componentes das paletas e configurar as propriedades dos mesmos através de ´Wizards´ e ´Assistentes´, ou seja, parece até ´Delphi para usuários de Office´, e não para programadores!
Por exemplo, vejam algumas coisas que eu tenho procurado como doido e não encontro como fazer [b:50ae569a00]por dentro do fonte[/b:50ae569a00], ao invés de usar componentes prontos:
1) conectar um banco de dados (não apenas o Interbase, que é o preferido da comunidade Delphi, mas também SQL-Server, Oracle, MySQL, etc, ou seja qualquer banco de dados);
2) Passar comandos SQL (SELECT, INSERT, UPDATE, DELETE, etc);
3) Passar uma query em SQL, carregando o conteúdo do resultado em um recordsets, bem como manipulá-los (next, prev, etc);
4) Povoar (populate) manualmente grids, treeviews, etc, através de loops for-next, a partir do recordset lido. Aliás, eu achei estranho pois não encontrei nenhum grid nas paletas do Delphi que não sejam do tipo ´databound´. É assim mesmo, ou eu que não soube procurar direito???
Vejam bem que eu quero poder fazer isso tudo sem usar componentes, apenas através de código. Eu tenho certeza que isso é possível de fazer em Delphi, pois eu faço facilmente em VB; mas gostaria que os diletos colegas pudessem me dar o ´mapa da mina´ e me indicassem alguma literatura (livro, tutorial, apostila) DECENTES!!!
Pois é pessoal, eu estou louco para começar a programar em Delphi, mas fico até desanimado com a dificuldade de encontrar material, e dá vontade de desistir. Se vocês puderem me dar uma ajudinha, estarão prestando um grande auxílio a um colega programador...
:) Valeu mesmo, pessoal!
Um grande abraço!
Yankleber
Curtir tópico
+ 0Posts
28/10/2003
Lourival.reis
Aprender uma nova linguagem e programação é sempre desafador, o maior problema é que sempre estamos querendo compara-la a uma outra linguagem o que nos traz grandes problemas...é mais ou menos como aprender inglês se vc não aprender a raciocionar em inglês nunca consiguirá aprender, portanto esqueça o que sabe em VB, apesar de algumas similaridades, pelo que observei vc terá mais problemas com o Object Pascal do que com o Delphi propriamente dito...existem no próprio Clube Delphi uma série de literatura dos mais variados assuntos, mas a melhor fonte de consulta é realmente o Help do Delphi que vem com vários exemplos, e também o forum vc encontra todo tipo de dúvida e quase todas com respostas...o que é uma grande fonte de aprendizado...
Lourival Reis
Analista de Sistemas
Gostei + 0
28/10/2003
Rafael Heise
Pra que reinventar a roda?
Bom, mas se você quer tanto, você pode procurar isso nos próprios códigos da VCL que estão em \Delphi\Source\VCL.Ali estão as units dos componentes do delphi. E você pode ler o help do delphi pois essas coisas que você quer não se encontram em livros ou tutoriais. O Delphi não quer fazer como o VB que tudo deve ser reescrito. E é por esse motivo que existem componentes e classes. Para que um trabalho já feito não precise ser refeito.
Quanto as suas necessidades:
1) para conectar seria melhor você usar componentes como os do BDE ou ADO, mas existem outros também como DBExpress. Para fazer tudo na mão você precisa abrir os fontes desses componetes e ver como eles funcionam.
2) Passar comando SQL pra onde? Se você quer pra um query. Query.SQL, se você quer passar direto pro banco e receber a resposta do banco, tem que ver o código dos componentes.
3) Se você quer fazer isso mesmo, tem que olhar o fonte dos componentes Query e Table.
4) Existe sim grid sem ligação a um banco, StringGrid ou DrawGrid. Você não procurou direito. Mas me diz? porque você quer rescrever o que os caras da borland fizeram (e fizeram bem feito por sinal) se você pode usar o que já tem pronto e modificar qualquer coisa que tem ali para que sua necessidade seja sanada? Você pode herdar os componentes que vem com o delphi para você e usar eles e modificar da maneira como você quiser sem problema nenhum. Você conhece polimorfismo, herança, essas coisas? Se você quer usar o delphi realmente, procure por livros com isso, com teoria, que você vai ver o que o delphi pode fazer por você.
Mas se você quiser mesmo fazer tudo via código, porque você não usa o turbo pascal?
Acho que você está exagerando quanto ao uso extremo de código. Não há a necessidade disso numa linguagem orientada a objetos.
abraços
Gostei + 0
28/10/2003
Silvia
www.portaldelphi.kit.net tem alguns exemplos com fontes lá, talvez vendo algo simples vc possa visualizar como é feito, e utilizando de toda sua bagagem adquirida do dia a dia, possa sofisticar da melhor forma possível suas aplicações, muito sucesso e não desita !!!! ´Um sonho é metade de uma realidade ´
[]´s
sconstant@trifil.com.br
sconstant@bol.com.br
Gostei + 0
29/10/2003
Bacalhau
Pareceu-me que a questão não passa só pelo Delphi, mas sobretudo por assuntos relacionados.
Gostaria de ajudar da seguinte maneira: se eu tivesse de contratar um programador, a característica principal que exigiria era, não a competência técnica mas a curiosidade e interesse sem limites. De facto existe pouco material com parado com o VB e o C++. Mas a curiosidade irá ajudar...
Boa sorte
Gostei + 0
29/10/2003
Yankleber
Obrigado pelas respostas.
Sim eu conheço herança, polimorfismo, etc. São conceitos da análise/programação OO.
Como eu sou um programador ´das antigas´ ainda estou muito preso aos velhos conceitos de programação, onde o codificador tinha que ter controle absoluto sobre tudo o que acontecia dentro do programa.
Eu fico pensando...
Eu estou desenvolvendo um grande sistema para uma empresa britânica, todo em VB. O sistema, que será distribuído para clientes desta empresa deverá ser multiplataforma em termos de bancos de dados. Os SGBS deverão possuir versão gratuita podendo ser feito o upgrade mais tarde para a versão comercial, se o cliente assim o desejar.
Nós decidimos por três SGBDs:
- SQL Server
- Interbase
- MySQL
A versão básica usa SQL Server em sua versão freeware. Contudo, o cliente poderá optar pelo Interbase ou pelo MySQL. Por que isso? Suponha que o cliente já tenha o MSSQL rodando em seu servidor e queira que o novo programa acesse a base de dados no MSSQL ao invés de instalar um SGBD concorrente.
Eu pergunto: com os componentes do Delphi, dá para fazer isso, ou seja, manter o programa multi-plataforma sem ter que mexer no fonte depois? Eu tenho visto muitos componentes para Interbase (que é o preferido da comunidade Delphi), mas, devemos lembrar que existem muitos outros SGBDs.
Quanto à questão de povoar os grids manualmente: por que eu quero fazer isso? É simples: quando usamos componentes tipo databound, embora a coisa fique mais fácil, você fica limitado aos recursos do componente. Se eu precisar controlar internamente os dados sem tê-los em um recordset, como fazê-lo?
Entenderam minhas questões? Não é que eu queira reinventar a roda, apenas gostaria de saber como obter maior controle sobre o que acontece em meus programas.
Um colega comentou que meu maior problema talvez seja com o Object Pascal, e acredito que ele está certo. Acho que preciso mudar minha cabeça pois ainda estou muito ´duro´ com a coisa.
Me desculpem se o ´DECENTEMENTE´ pareceu ofensivo, mas não foi essa a intenção. É que eu fico meio irritado com essas facilidades exageradas que os ambientes visuais oferecem hoje em dia: acontece que a gente acaba encontrando um monte de programas feitos por não-programadores, que são verdadeiros Frankensteins!
Mas valeu as dicas de vocês. Muito obrigado mesmo!
Um grande abraço!
Yan Kleber
Gostei + 0
29/10/2003
Bacalhau
a palavra DECENTEMENTE foi explorada por mim para brincar um pouco. Bom, talvez INDECENTEMENTE da minha parte... :lol:
No essencial concordo com a tua posição, mas refiro que a ´facilidade´ das linguagens visuais permite-nos não só concentrar-nos no essencial das aplicações, como nos abre caminhos ilimitados para a criação de soluções.
Concordo 100¬ com a irritação contra os Frankensteins.
abraço
bacalhau
Gostei + 0
29/10/2003
Lindomar.des
Talvez eu entenda um pouco de seus questionamentos, pode ser que pelo fato de ter vindo do Clipper. Assim como você, logo que tive o primeiro contato com o Delphi, quase desisti. Não pelo fato de achar que não iria conseguir, mas sim por ser tão diferente ( e põe diferente nisso) .
Para ter uma idéia minha primeira preocupação foi com o pressionamento do <ENTER> para mudança de campos, depois veio a VÍRGULA do teclado numérico (separador decimal), isso sem falar no pascal.
Mas o que isso tem a ver com SGDBS, polimorfismo, herança? Realmente não tem nada a ver, mas como todo iniciante em algo, foram dúvidas que tive. Hoje minhas dúvidas mudaram de nível. Onde quero chegar? Bem, assim como você, procurei livros, cursos, etc.. encontrei muitas coisas como também não encontrei outras, mas foi em grupos como esse que encontrei muito..muito material mesmo, cada um melhor que o outro. Uma coisa que eu não tinha costume em Clipper era fazer um sistema parametrizado. Talvez esse seja um caminho para a solução de qual SGDB será usado, ex:
if SQL server then
......
else if MySql then
......
else if Interbase then
......
Talvez tenha ajudado em algo como também posso ter tomado seu tempo fazendo-o ler essa resposta mas... quando nas minhas buscas por solução de alguma dúvida, esperava encontrar uma resposta, exemplo espetacular. E ao contrário do que pensava, a maioria das respostas encontrei em pequenas mensagens/exemplos, as vezes até uma dica que me fez abrir os olhos e ver que a resposta estava na minha frente e não conseguia ver.
Hoje vejo, no meu caso, aprendi Delphi praticando, procurando, não me dando por satisfeito, correndo em busca de soluções e, posso estar errado (e me corrijam por favor ), o material que este grupo possui não encontra-se em livro algum.
um grande abraço.
Lindomar Sampaio
VV-ES
Gostei + 0
31/10/2003
Yankleber
Realmente não há sombras de dúvida que um bom forum é a melhor escola. Aliás, eu aprendi muito de VB num forum como esse, só que em inglês.
As minhas dúvidas iniciais se referiam à possibilidade de acessar outros bancos de dados sem se o Interbase ou o MySQL, porque eu sempre vejo muitos componentes prontos para Interbase. Aí eu pensava: meu Deus, será que só dá para usar o Interbase??? Mas já percebi que não.
O Lindomar acertou em cheio quando tocou em certos assuntos: eu fui programador de Clipper durante muito tempo (lembra da Funcky, Lindomar?) e também de Turbo Pascal. Quando começo a programar em Delphi, a minha tendência é codificar em Pascal ao invés de Object Pascal.
E, embora o VB também seja OO (por favor, não vamos começar uma polêmica aqui por causa disso!!!), a gente acaba usando apenas as classes já prontas da linguagem, pois criar novas classes em Visual Basic é tão complicado, mas tão complicado, mas tãããão complicado, que eu até hoje não entendi nada! Fora isso, todo o resto da codificação acaba sendo procedural... então vejam vocês, estou trazendo os velhos hábitos para o Delphi.
Contudo, embora tenha compreendido perfeitamente que as deficiências que eu antes achava estar na linguagem estão na verdade em mim, e embora tenha aceito que preciso rever minha maneira de ver as coisas quando estiver programando em Delphi, ainda assim, certas coisas vou querer fazer à mão. Por exemplo, imagine você ter que filtrar um combobox para mostrar apenas alguns registros de uma tabela. Dá para fazer isso sem usar um recordset com um for-next para povoá-lo com um método Add?
Eu quando comecei a programar em VB, usava os ´maravilhosos´ componentes databound que permitem a gente conectá-los diretamente com as tabelas, apenas fornecendo o(s) campo(s) desejados. Só que um dia eu descobri que não dava para fazer filtragem e mostrar apenas o que eu queria da tabela. Aí desisti, aprendi a fazer tudo ´by hand´ e fui feliz para sempre. Agora, se eu descobrir que dá para fazer isso no Delphi, É CLARO QUE EU VOU FAZER!!!!
Pessoal, só para vocês saberem, eu não sou iniciante (e talvez esse seja meu maior problema!). Tenho 37 anos e programo há 20. Já passei por Basic, TP, Clipper, C e até Cobol. Hoje programo em VB e estou engatinhando em Delphi.
Pretendo trabalhar com Delphi mas nunca abandonarei o VB, assim como ainda hoje faço algumas coisas em C. Acredito que não existe a linguagem perfeita, e quanto mais você souber em variedade melhor são as suas chances de acerto.
O meu professor orientador de projeto é tarado por Delphi, e na opinião dele é a única linguagem que presta. Embora eu ´concorde´ com ele para não entrar em conflito, na realidade discordo 100¬, pois acredito que estabelecer qualquer coisa como sendo um ícone de proporções religiosas (absoluto, perfeito, imutável) é fechar a própria mente para as coisas novas.
Bem gente, acho que já estou enchendo o saco de vocês com essa filosofia de algibeira. Só queria terminar dizendo que vocês são ótimos, e que irão me ver bastante por aqui. Obrigado pelas boas vindas!
Um grande abraço,
Yan Kleber de Moura
Gostei + 0
31/10/2003
Japa
Boa sorte no seu aprendizado amigo... E eu tambem to engatinhando no delphi hehehe e como o povo daqui ajuda bastante garanto que vc vai aprender rapidão o delphi :D
Gostei + 0
31/10/2003
Beppe
Se tu pensa assim. Não digo mais nada porque não quero ofender ninguém.
Ataliba
Gostei + 0
31/10/2003
Bacalhau
Abração e mais uma vez benvindo 8)
Gostei + 0
01/11/2003
Yankleber
Ô, Ataliba! Que isso colega!
Esse aqui é um espaço aberto a opiniões e bate-papo e não a ofensas!
Assim, esteja livre para deixar sua opinião à vontade, pois de maneira nenhuma me sentiria ofendido com isso, especialmente uma vez que acredito que sua opinião será puramente técnica, e tenho certeza que você tem muito conhecimento de causa (a sua fama o precede)!
Fique a vontade para falar mal do VB (eu já estou acostumado porque muita gente não gosta dele, coitado, principalmente a galera do Delphi), e não fico nem um pouco chateado, afinal eu não sou o VB, mas sim apenas uma pessoa que o usa como ferramenta! Então... por que me aborreceria????
Como eu já disse anteriormente, quero meter a cara no Delphi, mas acredito que vou continuar usando o VB também, pois cada caso é um caso, não é mesmo?
Um grande abraço para você, colega!
Yan Kleber de Moura
Gostei + 0
01/11/2003
Daniel Martins
vendo todas as menssagens até me senti em casa, bom saber que não estou sozinho no ramo e tenho com quem contar e ajudar...
por isso esse fórum é um Sucesso! a parceria nos conhecimentos reina Aqui. Na verdade todos nós estamos sempre aprendendo, não importa se programemos a 10 anos ou a uma semana, a nossa corrida atrás de conhecimentos é contínua! por isso que desejo sucesso a todos! e BOAS VINDAS ao Delphi! caro yankleber!
Gostei + 0
01/11/2003
Henry
Um abraço, Henry.
Gostei + 0
02/11/2003
Wallacest
O único conselho que faço, é estudar, pesquisar e muito, sinceramente aprendi mais NESSE FORUM do que qualquer outro livro. Parabéns aos organizadores do clube
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)