2009-07-21 7 views
6

Il y a beaucoup de vieux livres Delphi disponibles à peu de frais. En tant que débutant autodidacte (avancé), il m'est difficile de savoir quelles idées sont toujours pertinentes et à jour, et qui sont devenues obsolètes. J'espère avoir un peu de conseils. Par exemple, serait-il démodé de se renseigner sur les bases de données alimentées par BDE? COM n'est plus un modèle couramment utilisé? (note: je suis peut-être dans la façon dont j'utilise ces termes ... Je ne sais pas beaucoup à leur sujet.)Matériel pédagogique Delphi plus ancien

Merci pour votre avis!

+4

N'utilisez pas le BDE. Voir le commentaire de Bruce sur COM et fumer ci-dessous. La même règle s'applique au BDE, seulement plus. –

+0

Pour les bases de données, utilisez les composants dbExpress, ADO (pour SQL Server uniquement) ou DevArt. Par tous les moyens, évitez BDE, Paradox et DBase. –

Répondre

4

La plupart des livres Delphi contiennent encore de gros morceaux de contenu. La plupart des choses qui sont encore bonnes sont les choses de bas niveau, telles que l'écriture de code, en utilisant les dlls & bpls. Même écrire des composants est à peu près la même chose. J'ai renvoyé à un livre Delphi 3 l'autre jour et j'ai trouvé ce que je voulais.

Comme une recommandation je recevrais une combinaison de livres plus anciens et plus récents. En termes de nouveaux j'obtiendrais Marco Cantu's Delphi 2007 & 2009 manuels, et son Mastering Delphi 2005 (en ignorant les trucs .net) ou Mastering Delphi 7 qui vous donnera une bonne couverture et sont tous d'excellents livres. Bob Swart a également quelques livres utiles.

Vous ne voulez probablement pas revenir à quelque chose de plus tôt que Delphi 3, mais certains livres de programmation pascal peuvent être utiles. Vous ne devriez probablement pas être paranoïaque à propos de choses périmées, sachant que c'est très utile si vous devez travailler avec du code existant. Tant que vous rafraîchissez sur des livres plus modernes, vous devriez vous débrouiller.

Je vous recommande également de lire Code Complete 2 ou The Pragmatic Programmer. Vous pouvez également lire des livres sur les patrons de conception et de refactoring - qu'il n'y en a pas écrit spécialement pour Delphi.

+1

+1 pour le programmeur pragmatique. Excellent livre. Je suis en train de lire Code Complete 2. – Pauk

6

BDE est mort, mais il peut être utilisé quelque part, et vous pouvez trouver des passionnés de BDE. BDE était difficile à installer, et il y avait aussi quelques problèmes légaux. COM est également mort, mais il est toujours disponible et largement utilisé dans les applications héritées. La plupart des gens utilisent des bibliothèques gratuites comme JEDI ou Zeos - ou commerciales, DevExpress ou TMS. Je pense que l'apprentissage de la VCL de base et de certaines bibliothèques gratuites sera bon pour commencer. Savoir également comment les objets et les classes fonctionnent dans Delphi sera une aide précieuse pour le développement de votre carrière.

7

Un grand nombre de concepts Delphi (et de code), même à partir de versions plus anciennes, s'appliquent aussi bien aux plus récents. Certains composants ne sont plus autour (NetMasters, etc), certains sont gelés et ne devraient pas être utilisés pour un nouveau développement (BDE), et il y a un HUGE number of new features à rattraper.

Comme pour COM. Dans les mots immortels de Lino Tadros (le gars en grande partie responsable de l'obtention de soutien COM dans Delphi):

COM est comme FUMER: Si vous n'avez pas commencé, vous ne devriez pas maintenant commencer, si vous faites déjà il, il est temps d'arrêter .

+3

+1 ouais - comme fumer du mauvais pot qui est! :-) –

6

La mort d'une pratique de codage est une chose très relative. Je connais encore des applications COBOL qui fonctionnent encore ... principalement parce qu'elles fonctionnent toujours et ne traitent pas les dates, donc c'était plus que correct de les laisser fonctionner. Parfois, ce n'est peut-être pas la meilleure "nouvelle façon" de faire les choses, mais si cela fonctionne sans aucun changement ... pourquoi s'en moquer.

Le concept de COM n'est pas vraiment mort ... son évolution, et savoir comment l'utiliser peut vous aider à comprendre et appliquer la dernière évolution.Avez-vous besoin de connaître l'assemblage pour être un bon programmeur Delphi? Absolument pas, mais c'est la connaissance qui peut être utile pour comprendre comment mieux optimiser vos routines.

En Delphi, COM ne concerne pas seulement le modèle objet. C'est aussi sur les interfaces. Les interfaces peuvent toujours être un outil très utile dans le sac et si vous connaissez le développement COM dans Delphi, vous savez comment fonctionnent les interfaces. En ce qui concerne les livres anciens ... Je dis les garder sur l'étagère et les regarder de temps en temps. Parfois, regarder en arrière pourrait vous aider à avancer. C'est pourquoi j'ai une copie de Algorithms + Data Structures = Programs sur mon étagère. Chose amusante, la majeure partie du code du livre se compile encore avec quelques changements mineurs. Bien sûr, le code n'est pas OOP, mais les concepts sont toujours ceux que j'utilise aujourd'hui. Vous pourriez être étonné de voir à quel point un arbre binaire n'a pas changé, et comment la meilleure façon de l'optimiser est toujours la même. Parfois, l'utilisation d'une simple routine new-master old-master est plus rapide que le chargement des données dans une table SQL, puis une mise à jour.

Il n'est pas toujours sur le facteur cool ... parfois c'est sur ce qui fonctionne.

+1

+1. Si ce n'est pas cassé, ne le répare pas. –

0

Le Delphi libéré de Calvert est également un bon début pour Delphi et COM.

0

Pour l'accès à la base de données, les anciens livres recommandent d'utiliser le BDE mais le BDE est obsolète et ne doit pas être utilisé dans de nouvelles applications. BDE désigne le moteur de base de données Borland. Toute application qui utilise les composants TTable, TQuery, TSession et TDatabase utilise le BDE.

La méthode d'accès à la base de données que vous devez utiliser à la place est le modèle d'accès aux données déconnecté de l'ensemble de données dbExpress/client. Cela semble un peu compliqué et oui, comparé à l'ancien truc de BDE c'est un peu plus difficile.

Dans une application BDE typique des composants de l'interface graphique à base de données ont été accrochés comme ça

TDBEdit à TDataSource à TTable à TDataBase

Dans une application de style de jeu de données client dbExpress les composants sont accrochés comme ça

TDBEdit à TDataSource à TClientDataSet à TDataSetProvider à TSQLDataSet à TSQLDatabase

les deux premières parties de cette chaîne (TDBEdit, TDataSource) fonctionne exactement le s Ame comme tout livre Delphi que vous pouvez trouver décrira.

Les deux parties suivantes, ClientDataSet et TDataSetProvider, s'appelaient à l'origine MIDAS, mais sont maintenant appelées DataSnap. Ils existent depuis longtemps, mais ce n'est que dans les dernières versions qu'ils sont devenus la solution d'accès à la base de données officiellement recommandée.

TSQLDataSet et TSQLDatabase sont la partie la plus récente de cette chaîne et sont appelés DBExpress.

0

Tout livre Delphi depuis Delphi 3 devrait toujours être largement pertinent dans la plupart des aspects. Des changements majeurs ont été apportés à Delphi 3, donc tout ce qui précède peut être périmé.

Je serais d'accord avec les autres que le BDE est défunte. Je n'ai jamais aimé ça même quand c'était supposé être l'option principale avec Delphi. Cela pourrait expliquer pourquoi Borland a mis tant de temps à fournir un ensemble de composants ADODB décents (vous avez dû les acheter en option dans Delphi 5).COM est toujours très pertinent si vous avez besoin de faire une communication entre processus (je ne suis pas sûr quelles sont les alternatives disponibles pour tous ceux qui disent COM est mort). En fait, COM + (un service sur les serveurs Windows qui héberge des objets pour l'évolutivité) fait toujours partie intégrante de la stratégie de microsoft. COM n'est en aucun cas parfait, mais il n'a pas encore été remplacé par Microsoft en tant que concept (pas de .NET ne le remplace pas).

Questions connexes