La version finale de "Delphi : Complete Chinese" (publiée dans le 37ème numéro de "Home Computer", pardonnez-moi pour la nouvelle bouteille !)
Xi'an Liang Ming
-------------------------------------------------- ----------------------------------
Avant d'écrire cet article, j'ai eu une pensée tellement sale : je ne dois pas « divulguer » cette astuce aux autres ! Cependant, ma conscience m'a immédiatement dit que je ne devais pas avoir une telle idée, alors je l'ai immédiatement écrite ! en complément du dernier article "Delphi : Complete Chinese", et cela peut être considéré comme une récompense pour ma propre conscience !
Venons-en maintenant au fait : comme vous le savez tous, lorsque nous traitons des propres messages de Delphi (je fais référence ici à tous les messages de Delphi lui-même, y compris les boîtes de dialogue du système Delphi, les invites d'exception, etc.), l'approche générale que nous adoptons est de "prendre de l'avance sur Delphi", ou bloquer le fonctionnement du système et utiliser notre propre façon de le gérer, afin de fournir aux utilisateurs une langue chinoise pure Le but de l'environnement. Cependant, tout cela ne peut être prédit que subjectivement sur la base de l'expérience existante du programmeur. En raison de la complexité du système et de nos propres limites de niveau, les résultats seront inévitablement l'un et l'autre. peut survenir à tout moment et ne peut pas être résolu. Il n'est pas traité de manière approfondie, voire pas du tout, imaginez : si des invites en anglais apparaissent lors de l'utilisation par l'utilisateur, la « qualité » de votre programme sera-t-elle considérablement réduite ?
Par conséquent, nous devons également rechercher une méthode plus idéale et plus approfondie. Au moins, lorsque des bogues apparaissent dans le programme, les utilisateurs ordinaires peuvent comprendre les invites (cela ne signifie pas que vous pouvez faire ce que vous voulez, heureusement après les répétitions de l'auteur). essais, cela a été Trouvez une autre stratégie infaillible. Veuillez m'écouter l'expliquer ci-dessous (uniquement si votre version de Delphi possède le code source de VCL - c'est-à-dire la version professionnelle ou entreprise) :
0. Sauvegardez le code source de la VCL de Delphi (le répertoire est généralement "X:PRogram FilesBorlandDelphi4SourceVcl"). Bien entendu, si nécessaire, vous pouvez également sauvegarder uniquement quelques fichiers que nous devons modifier ;
1. Ouvrez les fichiers BdeConst.pas, Consts.pas, BdeConst.pas, DbConsts.pas, midconst.pas, mxConsts.pas, OleConst.pas, WebConst.pas et autres fichiers d'unité dans le répertoire VCL de l'environnement Delphi. les fichiers sont définis
Définit les constantes utilisées par Delphi ;
2. "Traduire" les constantes de chaîne définies par Delphi dans notre grande langue maternelle - le chinois ;
3. Une fois le travail de « traduction » terminé, enregistrez-le selon le nom du fichier d'origine ;
4. Essayons maintenant nos résultats, créons un nouveau projet, écrivons délibérément du code qui provoquera des invites système, et avant de compiler, accédez à l'option Chemin de recherche sur la page Répertoires/Conditions de la boîte de dialogue Options du projet Delphi et ajoutons une recherche. Chemin (c'est-à-dire le répertoire où nous venons de modifier l'unité constante), confirmez et quittez ;
5. Surveillez simplement votre niveau de traduction en anglais !
Avis:
① Si votre version est Delphi 3, modifiez le chemin ci-dessus en conséquence, et Répertoires/Conditions dans la boîte de dialogue Options du projet est Répertoires ;
② Cette modification des conditions de compilation n'est valable que pour ce projet. Elle doit être réinitialisée après la création d'un nouveau projet. Si vous souhaitez le corriger une fois pour toutes, suivez-moi :
Exécutez le programme d'édition du registre Windows Regedit.exe, ouvrez HKEY_CURRENT_USER->Software->Borland->Delphi->4.0->Bibliothèque et ajoutez "$(DELPHI)SourceVCL".Ok à l'une des valeurs de chaînepour "Chemin de recherche", le but est atteint !
Voici le message envoyé par la fonction après que l'auteur a modifié les constantes de la fonction MessageDlg dans le fichier unité Consts.pas. Cette fois, ce que nous voyons n'est plus une boîte de message mi-anglaise mi-yang. , assez joli ?
...
Commencer
MessageDlg('Comment vous sentez-vous ?'+#13#10#13#10+
'Ici, je traduis "SMsgDlgInformation" par 'message';'+#13#10+
'Le résultat de la traduction de "SOKButton" par 'OK' !',
mtInformation,[mbok],0);
Fin;
...
****Insérez la figure 4 ici****
L'action ci-dessus est-elle un peu trop honnête ?! En fait, nous pouvons personnaliser ces constantes selon nos propres souhaits (à condition qu'Inprise soit d'accord) pour obtenir un effet spécial. Par exemple, nous pouvons traduire "SMsgDlgInformation" en titre de votre logiciel ou. votre propre nom de studio, etc. De cette façon, votre personnalité extraordinaire sera pleinement affichée !
C'est toute l'expérience et les compétences que l'auteur prévoit de présenter à propos du "chinois complet" de Delphi (je mettrai tout cet ensemble sur ma page d'accueil personnelle après avoir expliqué les deux programmes que j'ai, veuillez y aller alors) Bien sûr, en appelant). ce "complètement chinois" me fait rougir, mais j'espère vraiment qu'Inprise mettra fin au plus vite à l'ère où nous "envions" les programmeurs VB !
Il y a encore quelques problèmes, par exemple : l'environnement Delphi est en anglais, les invites et boutons d'aperçu du rapport sont également en anglais, etc. Concernant la première question, je pense personnellement que ce n'est pas nécessaire, car aucun programmeur ne peut même comprendre le menu . Si vous ne comprenez pas, le but de nos efforts, ce sont les utilisateurs ; il existe également une solution au deuxième problème. Ce sujet ne devrait pas être abordé ici, mais j'ai vu de nombreuses personnes poser cette question sur Internet, je vais donc brièvement le faire. discutons-en ici. Permettez-moi de terminer ce sujet avec :
①Développer le contenu de QuickRep selon les besoins ;
②Imitez le mode aperçu de QuickRep ou personnalisez vous-même QRPreview ;
③Attribuez le QRPrinter de QuickRep au QRPrinter de QRPreview dans l'événement OnPreview de QuickRep
(Par exemple, QRPreview1.QRPrinter:=Quickrep1.QRPrinter;) QRPreview peut remplacer QuickRep
mode aperçu.
Modérateur : Liang Ming
Dates : 1999-03-01
Courriel : [email protected]