Me ajudem a aprender Delphi decentemente, pelo amor de Deus!

Delphi

28/10/2003

:?

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

Yankleber

Curtidas 0

Respostas

Lourival.reis

Lourival.reis

28/10/2003

Caro colega,

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
Rafael Heise

Rafael Heise

28/10/2003

Mas porque você quer fazer tudo manualmente se tem tudo pronto?
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
Silvia

Silvia

28/10/2003

gostei muito do material que encontrei neste site do thiago teixeira
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
Bacalhau

Bacalhau

28/10/2003

Caro colega yankleber, nós aqui também aprendemos Delphi INDECENTEMENTE, que é uma forma de aprendizagem tão respeitável como as outras. :lol:

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
Yankleber

Yankleber

28/10/2003

Olá pessoal!

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
Bacalhau

Bacalhau

28/10/2003

Caro yankleber

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
Lindomar.des

Lindomar.des

28/10/2003

Yan,

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
Yankleber

Yankleber

28/10/2003

Oi turma,

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
Japa

Japa

28/10/2003

Bom quero dar as ´boas vindas´ tambem hehehe....
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
Beppe

Beppe

28/10/2003

E, embora o VB também seja OO

Se tu pensa assim. Não digo mais nada porque não quero ofender ninguém.

Ataliba


GOSTEI 0
Bacalhau

Bacalhau

28/10/2003

yankleber, se vais participar então benvindo ao fórum. Meu nome é bacalhau, 38, bom rapaz e programador de Delphi há 6 anos. Tal como tu ainda tenho essa maldita sensação de estar a gatinhar.

Abração e mais uma vez benvindo 8)


GOSTEI 0
Yankleber

Yankleber

28/10/2003

Obrigado a todos!

Ô, 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
Daniel Martins

Daniel Martins

28/10/2003

Galera!
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
Henry

Henry

28/10/2003

Yankleberoso, brother, eu comecei a aprendr delphi no site do clube, um material muito bom, e pra vc que tem facilidade, vai ser bala. Brother, use componentes, não usa-los é o mesmo que plantar arroz pro almoço, sendo que no mercado ja vem pronto, logico que o conhecimento almenta, mas naõ o suficiente pra compesa a dor de cabeça. O seguinte, se tive alguma duvida, entra no ICQ que eu posso tenta te ajuda, to toda tarde de segunda a sexta, 221075981, qualquer coisa que eu possa te ajuda, tamo ai, blz??? A, e não se esquente, respostas rudes vc sempre vai encontra.

Um abraço, Henry.


GOSTEI 0
Wallacest

Wallacest

28/10/2003

Oi, desenvolvo com o Delphi a uns 5 anos, realmente mudar de ambiente é chato, comecei do delphi e sinceramente, já arrasto o VB, C#, Kylix, Access Basic, mas até agora não consegui me estruturar com nenhuma delas, sempre falta alguma coisa. Quando carrego o Delphi parece que estou na minha casa, me sinto a vontade, nas outras IDE sempre me perco, fico estressado e acabo desligando o PC e sinceramente o VB é o mais chato, você é limitado a tudo.

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
Yankleber

Yankleber

28/10/2003

Galera!

Vou contar uma coisa para vocês: eu nunca participei de um forum onde com tanta gente legal e com tanto calor humano como aqui. Estou impressionado, e já me sinto como parte da família. Obrigado!

Evidente, como um colega disse, respostas rudes a gente se encontra. É fato. De repente a pessoa que deu a resposta grosseira não estava em um bom dia, isso acontece com qualquer um, faz parte. Não estou chateado com ninguém, pois sei que todos têm seus problemas e muitas vezes o coitado que passa pela frente é que leva a cacetada por conta sem nem ter culpa.

Bem, como já detectei que meu problema está no que se refere à definição e manipulação de classes, já comecei a estudar - pelo manual de Object Pascal da própria Borland, pois o meu Delphi é original (versão 6) - e as coisas já começam a ficar mais claras agora.

Em respeito ao restante da linguagem, o básico é idêntico ao TP com o qual trabalhei durante bastante tempo, tranqüilo.

É isso aí, é meter a cara.

Mais uma vez muito obrigado pelas boas vindas, e, terminando esta já vou por uma dúvida sobre classes lá no forum já já!

Valeu pessoal!


GOSTEI 0
Bacalhau

Bacalhau

28/10/2003

Se fui eu a dar uma resposta meio torta desculpa. O que vale é as boas vindas ao fórum

abraço daqueles


GOSTEI 0
Yankleber

Yankleber

28/10/2003

Esquenta não, bacalhau.
Não foi você não...


GOSTEI 0
POSTAR