La versión final de "Delphi: Complete Chinese" (publicada en el número 37 de "Home Computer", ¡perdóneme por la nueva botella!)
Xi'an Liang Ming
-------------------------------------------------- ----------------------------------
Antes de escribir este artículo, tuve un pensamiento tan sucio: ¡No debo "filtrar" este truco a otros! Sin embargo, mi conciencia inmediatamente me dijo que no debía tener esa idea, ¡así que lo escribí de inmediato! Como complemento al último artículo "Delphi: chino completo", ¡puede considerarse como una recompensa para mi propia conciencia!
Ahora vayamos al grano: como todos saben, cuando tratamos con los propios mensajes de Delphi (me refiero aquí a todos los mensajes del propio Delphi, incluidos los cuadros de diálogo del sistema Delphi, los mensajes de excepción, etc.), el enfoque general que adoptamos es "Adelantarse a Delphi", o bloquear la función del sistema y utilizar nuestra propia manera de manejarlo, para proporcionar a los usuarios un idioma chino puro. El propósito del entorno, sin embargo, todo esto solo se puede predecir subjetivamente en función de la experiencia existente del programador. Debido a la complejidad del sistema y nuestras propias limitaciones de nivel, los resultados de esto inevitablemente serán uno y otro. puede ocurrir en cualquier momento y es posible que no se resuelva en profundidad o incluso que no se maneje en absoluto. Imagínese: si aparecen algunas indicaciones en inglés durante el uso, ¿la "calificación" de su programa se reducirá considerablemente?
Por lo tanto, también debemos buscar un método más ideal y completo. Al menos, cuando aparecen errores en el programa, los usuarios comunes pueden entender las indicaciones (eso no significa que puedas hacer lo que quieras, afortunadamente, después de lo repetido por el autor). pruebas, ha sido Encuentre otra estrategia infalible. Escúcheme explicarla a continuación (solo si su versión de Delphi tiene el código fuente de VCL, es decir, la versión profesional o empresarial):
0. Haga una copia de seguridad del código fuente VCL de Delphi (el directorio generalmente es "X: PRogram FilesBorlandDelphi4SourceVcl"). Por supuesto, según sea necesario, también puede hacer una copia de seguridad de solo algunos archivos que necesitamos modificar;
1. Abra BdeConst.pas, Consts.pas, BdeConst.pas, DbConsts.pas, midconst.pas, mxConsts.pas, OleConst.pas, WebConst.pas y otros archivos de unidad en el directorio VCL en el entorno Delphi. los archivos están definidos
Define las constantes utilizadas por Delphi;
2. "Traducir" las constantes de cadena definidas por Delphi a nuestra gran lengua materna: el chino;
3. Una vez completado el trabajo de "traducción", guárdelo según el nombre del archivo original;
4. Ahora probemos nuestros resultados, creemos un nuevo proyecto, escribamos deliberadamente algún código que genere mensajes del sistema y, antes de compilar, vayamos a la opción Ruta de búsqueda en la página Directorios/Condicionales del cuadro de diálogo Opciones del proyecto Delphi y agreguemos una búsqueda. Ruta (es decir, el directorio donde acabamos de modificar la unidad constante), confirme y salga;
5. ¡Solo observa tu nivel de traducción de inglés!
Aviso:
① Si su versión es Delphi 3, cambie la ruta anterior en consecuencia, y Directorios/Condicionales en el cuadro de diálogo Opciones del proyecto es Directorios;
② Este cambio en las condiciones de compilación solo es válido para este proyecto. Debe restablecerse después de crear un nuevo proyecto. Si desea solucionarlo de una vez por todas, síganos.
Ejecute el programa de edición del registro de Windows Regedit.exe, abra HKEY_CURRENT_USER->Software->Borland->Delphi->4.0->Library y agregue "$(DELPHI)SourceVCL".Aceptar a uno de los valores de cadena para "Ruta de búsqueda", ¡el propósito está logrado!
El siguiente es el mensaje enviado por la función después de que el autor modificó las constantes de la función MessageDlg en el archivo de la unidad Consts.pas. Esta vez, lo que vemos ya no es un cuadro de mensaje mitad inglés y mitad yang. , bastante bonita?
...
Comenzar
MessageDlg('¿Cómo te sientes?'+#13#10#13#10+
'Aquí traduzco "SMsgDlgInformation" como 'mensaje';'+#13#10+
'¡El resultado de traducir "SOKButton" como 'OK'!',
mtInformación,[mbok],0);
Fin;
...
****Inserte la Figura 4 aquí****
¿Es la acción anterior demasiado honesta? De hecho, podemos personalizar estas constantes según nuestros propios deseos (siempre que Inprise esté de acuerdo) para lograr un efecto especial. Por ejemplo, podemos traducir "SMsgDlgInformation" a su título de software o. el nombre de tu propio estudio, etc. ¡De esta manera, tu extraordinaria personalidad se mostrará plenamente!
Esta es toda la experiencia y habilidades que el autor planea presentar sobre el "chino completo" de Delphi (colocaré todo este conjunto en mi página de inicio personal después de explicar los dos programas que tengo, luego vaya allí). Por supuesto, llame). "completamente chino" me hace sonrojar, ¡pero realmente espero que Inprise acabe con la era en la que nosotros "envidiamos" a los programadores de VB lo antes posible!
Todavía hay algunos problemas, por ejemplo: el entorno Delphi está en inglés, las indicaciones y botones de vista previa del informe también están en inglés, etc. Respecto a la primera pregunta, personalmente creo que no es necesario, porque ningún programador puede ni siquiera entender el menú. Si no lo entiende, el objetivo de nuestros esfuerzos son los usuarios; también hay una solución para el segundo problema. Este tema no debería tratarse aquí, pero vi a muchas personas haciendo esta pregunta en Internet, así que lo haré brevemente. discutirlo aquí. Permítanme terminar este tema con:
①Desarrollar el contenido de QuickRep según sea necesario;
②Imita el modo de vista previa de QuickRep o personaliza QRPreview tú mismo;
③Asigne la QRPrinter de QuickRep a la QRPrinter de QRPreview en el evento OnPreview de QuickRep
(Por ejemplo, QRPreview1.QRPrinter:=Quickrep1.QRPrinter;) QRPreview puede reemplazar a QuickRep
modo de vista previa.
Moderador: Liang Ming
Fecha: 1999-03-01
Correo electrónico:[email protected]