Tutorials

Delphiを使ってみよう

Escrito por Hitoshi Fujii el . Publicado en Tutorials

ファーストバージョンの発売から22年が経ったDelphi。そのビジュアル開発のパワーは健在で、最新バージョンではマルチデバイス開発が大幅に強化され、Windows、macOS、iOS、Androidに加え、Linuxアプリケーションの開発も可能になりました。

そんな最新のDelphiを試してみたい、旧バージョンからの移行を検討したいという方に、Delphiを使い始めるときに役立つ情報を集めました。

どの製品をダウンロードするか選択する

Delphiは、単体製品としても、またC++Builderを含むスイート製品RAD Studioの一部としても提供しています。Delphiをすぐに使い始めるには、2つの方法があります。

無料のStarterを使う

Delphi Starter Editionは、無料で利用できるDelphiです。趣味や学習を目的とした利用のほか、Delphiによって開発したアプリケーションに関連する収益が、1,000 USドルを越えないというライセンス規定で利用できます。Starter Editionは、Win32開発をサポートしているので、基本的な学習や言語の取得に最適です。

Starter Editionは、https://www.embarcadero.com/jp/free-tools からダウンロードできます。

無料のトライアル版を使う

RAD Studioの30日トライアル版をダウンロードすれば、Delphi / RAD Studioのすべての機能を30日間試用することができます。トライアル版の使用が終了したら、正規のライセンスを購入して開発を続けることができます。

トライアル版ならすべての機能を使用できるので、本書で解説している手順をすべて体験することができます。

トライアル版は、https://www.embarcadero.com/jp/products/rad-studio からダウンロードできます。

製品版を購入する

Delphiを本格的に利用する場合には、製品版をお求めください。製品版には、目的別に3つのエディションがあります。また、RAD Studioを選択すれば、C++Builderが利用できるほか、Professional版でもモバイル開発を行うことができます。


最初に役立つ情報

オンラインで閲覧できる「RAD Studio入門」ページには、Delphi / RAD Studioを初めて使う人が参考になるさまざまな情報が掲載されています。

Delphi / RAD StudioのオンラインヘルプはDocWikiと呼ばれ、継続的にアップデートされています。ドキュメントのオリジナル言語である英語のほか、日本語、ドイツ語、フランス語に翻訳されています。

How Toビデオシリーズ」は、Delphi / C++Builder / RAD Studioのインストール、設定から、基本的な開発ステップ、各種機能の使い方までを解説したビデオ学習教材です。

Delphi / RAD Studioのコードサンプルは、製品とともにインストールすることができますが、数多くのサンプルコードがSourceForgeにも登録されています。XE以降の各バージョンごとのサンプルにもアクセスできます。


旧バージョンからの移行

旧バージョンのDelphiで作成したアプリケーションコードをお持ち方は、こちらのページに掲載された情報を参考に、最新バージョンへの移行を行ってください。アプリケーションの移行に関して、その方針や取り組み方を検討している方は、無料のコンサルティングサービスを利用することもできます。

移行の手順やWindows 10サポートの方法などを解説する無料セミナーも開催しています。参加は無料。ぜひご参加ください。


無料のトレーニング

Delphi Starter / C++Builder Starterを用いた入門者向けのオンラインセミナーを開催。ゲームを作りながら、ビジュアル開発/オブジェクト指向開発の基礎を学びます。

マルチデバイス開発を始めるにあたって必要となる基礎的な開発手順を学び、実際にモバイルアプリ開発を体験できるワークショップも開催しています。参加は無料。ぜひご参加ください。


製品を活用するための情報

さらに製品を活用するための各種情報として、定期的に開催されるデベロッパーキャンプを役立てるとよいでしょう。デベロッパーキャンプの過去の資料は、アーカイブページにリストされています。また、主要な講演については、ビデオも公開されています。

そのほかにも、各種セミナー、Webセミナーも開催されています。詳細はこちらをご覧ください。


テーマ別の情報リソース

Windowsアプリケーション開発

クロスプラットフォーム

Linuxアプリケーション開発

データベースアプリケーション

IoT

その他


Utilice Delphi XE8 para construir servicios corrector e-mail EMS ...

Escrito por Paweł Głowacki el . Publicado en ENTERPRISE

Hace dos semanas que estaba haciendo la sesión de demostración del ccsme para los desarrolladores de Delphi en Londres. Eso fue muy divertido! ¿Te gustaría hacerlo usted mismo?

En este post encontrarás los pasos detallados de mi demostración. Disfrute!

El código fuente de esta demo se puede descargar desde Embarcadero Código central .

No-Say-See Pasos

Servicios de movilidad para empresas (EMS) es una nueva solución llave en mano para aplicaciones interconectadas, distribuidas de hoy, ofreciendo un fácil de implementar servidores middleware que aloja los módulos de la API de la costumbre y de acceso a datos se pueden cargar. Basado en tecnologías abiertas y estándar, incluyendo llamadas HTTP REST y formatos de datos JSON, y proporcionando principales motores de bases de datos SQL, junto con una base de datos cifrada incorporado y SQL Server. Con su gestión de usuarios y autenticación con el análisis de los usuarios y de la API, Enterprise Mobility Services es ideal para permitir el acceso seguro de las aplicaciones móviles a empresas de bases de datos. EMS es una solución middleware que es apátrida, reparador, escalable y seguro.

Este tutorial paso a paso le guiará a través del proceso de construcción de una aplicación para el corrector de correo electrónico utilizando Enterprise Mobility Servicios y Delphi XE8 . La aplicación móvil va a ser muy simple. Sólo contendrá una edición y un botón. Cuando el usuario final pulsa el botón, el contenido de la edición serán enviados a la API REST servicio de EMS que validar si una determinada cadena es una dirección válida de correo electrónico utilizando expresiones regulares .

En primer lugar tenemos que crear un servicio EMS y luego vamos a crear un proyecto de aplicación multidispositivo para ello.

Iniciar Delphi XE8. En el menú "Archivo", seleccione "Nuevo" y luego en "Otros". En el "New Items" de diálogo, haga clic en los "Proyectos de Delphi -> ccsme". Haga doble clic en el icono "Paquete ccsme". Esto debería mostrar "Asistente del paquete ccsme" ventana.

Cada paquete EMS puede contener cero o más recursos con criterios de valoración que amplían la API REST del servidor EMS.

En la pestaña "paquete" del asistente, seleccione la segunda opción "Crear paquete con los recursos". Haga clic en el botón "Siguiente".

En el segundo paso del asistente tenemos que dar un nuevo recurso ccsme un nombre y decidir qué tipo de archivo que se utilizará para una clase que se va a aplicar este recurso. Si tenemos la intención de utilizar cualquiera de los componentes no visuales en la implementación de nuestro recurso es muy útil para elegir un módulo de datos.

En el campo "Nombre de recurso" enter "EmailChecker". Mantenga "módulo de datos" como tipo de archivo seleccionado. Haga clic en el botón "Siguiente".

En el último paso del asistente tenemos que decidir qué puntos finales para añadir a nuestro recurso. Cada punto final maneja un tipo diferente de petición HTTP. Vamos a mantener la selección por defecto: una petición HTTP GET genérico más una solicitud GET HTTP a un "artículo" específico en el recurso. En el caso de nuestro servidor vamos a utilizar "Get" punto final para devolver sólo el nombre del servicio y el "GetItem" para realizar la comprobación real si una determinada cadena es una dirección de correo electrónico válida.

En la pestaña "Criterios de valoración" del recurso mantenga la selección por defecto de "Get" y "GetItem". Haga clic en el botón "Finalizar". Esto debería generar un nuevo proyecto conjunto EMS.

Ahora tenemos que guardar el proyecto generado por el asistente en un lugar que tenga sentido para nosotros y para dar la unidad y el proyecto de nombres significativos. Tenga en cuenta que el proyecto tiene la extensión "BPL", lo que significa que se trata de un paquete de Delphi que se puede cargar en el ejecutable y no se puede ejecutar independiente.

Haga clic en "Archivo" y la opción de menú "Guardar todo". Crear "C: \ demos \ XE8 \ el ccsme \ EmailChecker" directorio en su disco duro. Guarde la unidad de recursos como "uEmailCheckerRes" y el proyecto de paquete como "EmailChecker".

El paquete del ccsme se carga por el "servidor de desarrollo de EMS", que se encuentra en el directorio "bin" de nuestra instalación de Delphi XE8. Podemos comprobar esto de ir a la pestaña "depurador" en "Opciones del proyecto".

En el menú "Proyecto", seleccione el último elemento "Opciones". Haga clic en el nodo "depurador" y la opción más destacado "la aplicación Host". Verifique que apunta a "EMSDevServer.exe".

El código real para comprobar si una determinada cadena es una dirección válida de correo electrónico ya ha sido escrito. Tenemos que añadir la unidad "RegExpressionsUtil" en nuestro proyecto de servidor EMS.

Descargar el archivo "RegExpressionsUtil.pas" de la siguiente URL:

https://s3-eu-west-1.amazonaws.com/dosaysee/RegExpressionsUtil.pas .

Copie este archivo en el directorio donde ha guardado el proyecto conjunto de EMS (C: \ demos \ XE8 \ el ccsme \ EmailChecker). Haga clic derecho sobre el nodo "EMailChecker.bpl" en el Project Manager en la esquina superior derecha de la IDE. Seleccione "Añadir ..." en el menú contextual para añadir archivo "RegExpressionsUtil.pas" al proyecto.

Con el fin de poder utilizar los métodos del tipo "TRegularExpressionsEngine" en nuestro código de recursos ccsme, lo primero es añadir la unidad "RegExpressionsUtil" a la cláusula de "usos". Podríamos escribir manualmente en el editor, pero es mucho más rápido y más divertido con el asistente.

Asegúrese de que el "uEmailCheckerRes" unidad está abierto en el editor. En el menú "Archivo", seleccione "Utilizar unidad ..." para añadir a la "usos" cláusula de la unidad de recursos EMS. Seleccione "RegExpressionsUtil" y haga clic en "Aceptar".

SWE necesario modificar la aplicación del método "GetItem" en nuestro recurso EMS para tomar el "elemento" parámetro de la petición HTTP enviada por una aplicación cliente y pasarlo al método "TRegularExpressionEngine.IsValidEmail". Si el método devuelve true, entonces nos vamos a volver "TJSONTrue" o "TJSONFalse" en el cuerpo de la respuesta HTTP lo contrario.

Vuelva a colocar el cuerpo del método "TEmailCheckerResource1.GetItem" con el siguiente código:

 procedimiento TEmailCheckerResource1.GetItem (const AContext: TEndpointContext; const ARequest: TEndpointRequest; AResponse const: TEndpointResponse);
var litem: string;
comenzar
  Litem: = ARequest.Params.Values ​​['item'];

si TRegularExpressionEngine.IsValidEmail (litem), entonces
  AResponse.Body.SetValue (TJSONTrue.Create, True)
más
  AResponse.Body.SetValue (TJSONFalse.Create, True);
fin; 

Seleccione "Guardar todo" en el menú "Archivo".

Ahora nuestro recurso EMS es listo y podemos empezar a crear un cliente para él. Antes de que lo hacemos vamos a ver si funciona como se esperaba. Vamos a correr sin depuración.

Haga clic en la flecha verde para ejecutar el proyecto sin depurar.

Desarrollo servidor EMS ha comenzado y en la ventana de registro podemos ver información útil acerca de los recursos cargados.

Verifique que el servidor de desarrollo EMS ha sido iniciado.

Vamos a probar nuestra EMS. Si basta con hacer clic en el botón "Abrir navegador", el navegador web por defecto comenzaría e invocar el recurso de "versión" incorporado. Cualquier aplicación que sabe cómo hacer una petición HTTP puede ser un cliente para el servidor de EMS. En nuestro caso se trata de un navegador web. Más adelante vamos a construir una aplicación de cliente móvil para el servicio.

Haga clic en el botón "Abrir navegador" en la ventana de servidor de desarrollo de EMS. Compruebe que el navegador Web muestra el texto JSON con información de la versión EMS.

Vamos a probar nuestro punto final "EmailChecker". En primer lugar vamos a pasar a ella una cadena que no es una dirección de correo electrónico válida. Por ejemplo, "hola". El servidor debe devolver "false".

En el navegador web en lugar de "versión" con "EmailChecker / hola" y pulse Enter. Compruebe que el navegador Web muestra la cadena "false".

Vamos a intentar de nuevo, pero esta vez vamos a pasar a nuestro recurso "EmailChecker" una cadena que se parece a una dirección de correo electrónico válida. Por ejemplo Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. . Esta vez debemos ver "verdadero".

Reemplazar "hola" con Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. y pulse enter. Compruebe que el navegador web muestra la "verdadera" cadena.

Ahora vamos a crear una aplicación cliente para nuestro recurso EmailChecker EMS. No necesitamos para detener el servidor. Vamos a mantenerlo en funcionamiento. Simplemente haga clic derecho en el "Grupo de proyecto" y seleccione "Agregar nuevo proyecto".

Haga clic derecho en el icono de "Grupo de proyecto" en el Project Manager en la esquina superior derecha de la IDE de Delphi y seleccione "Agregar nuevo proyecto" en el menú contextual.

Vamos a crear una nueva aplicación multi-dispositivo de Delphi que puede ser compilado para iOS, Android, Windows y Mac en el mismo código.

En los "New Items" de diálogo, seleccione "Aplicación Multi-dispositivo" en la categoría "Proyectos de Delphi". Haga clic en Aceptar.

Vamos a utilizar una plantilla de aplicación vacío para nuestra aplicación cliente.

Seleccionar plantilla "Aplicación en blanco" en el nuevo asistente "Aplicación Multi-dispositivo" y haga clic en Aceptar.

Siempre es una buena idea para guardar su trabajo. Vamos a guardar el nuevo proyecto en el mismo directorio que nuestro servicio de EMS para mantener las cosas simples.

Haga clic en "Save All ..." en el menú "Archivo". Guarde la unidad principal del nuevo proyecto como "uFormClient", el proyecto como "EmailCheckerApp" y el grupo de proyecto como "EmailCheckerGrp".

No se olvide de dar nombres significativos a las formas de su aplicación! El nombre del formulario será "FormClient" y el subtítulo "Email Checker".

Haga clic en el formulario para seleccionarlo en el Inspector de Objetos. Cambie la propiedad "Nombre" de la forma a "FormClient" y la propiedad "Caption" a "Email Checker".

Necesitamos una edición y un botón en nuestra aplicación, por lo que el usuario final puede introducir texto en una edición y haga clic en el botón para verificar si es una dirección de correo electrónico válida o no. La forma más rápida de añadir componentes a la forma es a través de "IDE Insight". Sólo tengo que pulsar la tecla "Ctrl" y "." Teclas al mismo tiempo para mover el foco a la IDE Insight y yo sólo pueden comenzar a escribir el nombre del componente Quiero añadir.

Pulse la tecla "Control" y "." En el teclado para cambiar el foco a la "IDE Insight" y comience a escribir "TEdit". Haga doble clic en el "TEdit" en la lista desplegable para agregar un control de edición al formulario. Mueva el control hacia la esquina superior izquierda del formulario.

De la misma manera que vamos a añadir un botón al formulario.

Haga clic en la cruz roja en la edición "IDE Insight" y tipo "TBUT". Haga doble clic en el componente "TButton" para agregarlo a la forma.

La interfaz de usuario de nuestra aplicación va a ser super simple. Sólo una edición y un botón. Tenemos que dar un título adecuado para el botón.

Mueva el botón bajo el control de edición en el formulario, que sea un poco más ancha y cambie su propiedad "Texto" a "Verificar dirección de correo electrónico". Hacer toda forma un poco más pequeño.

Siempre es una buena práctica para dar a los controles nombres significativos. Nuestra interfaz de usuario está lista. Ahora es el momento de añadir algo de código para invocar el recurso ccsme EmailChecker.

Cambie la propiedad "Nombre" del control de edición a "edtEmail". Cambie la propiedad "Nombre" del botón para "btnVerify".

Vamos a mantener la estructura de nuestra aplicación cliente limpio. Por lo general no es una buena idea añadir componentes no visuales y lógica de acceso a datos directamente a un formulario. Es mejor que ponerlos en un módulo de datos independiente. De esta manera el código es más fácil de mantener. Vamos a añadir un módulo de datos a nuestro proyecto para los componentes y el código que se va a acceder a nuestro recurso EMS.

En el menú "Archivo", haga clic en "Nuevo" y "Otros". En los "New Items" de diálogo, seleccione "Delphi Files" nodo en la vista de árbol a continuación, "Datos de los módulos". Haga clic en Aceptar para agregarlo al proyecto.

Tenemos que dar nombres propios a la unidad de módulo de datos y para el módulo de datos en sí. ¿Qué pasa con "DMEmailChecker"?

En el menú "Archivo", haga clic en "Guardar todo". Guarde el módulo de datos como "uDMEmailChecker". En el Inspector de Objetos cambiar la propiedad "Nombre" del módulo de fecha a "DMEmailChecker".

El componente clave que proporciona acceso al servidor de EMS es "TEMSProvider". Vamos a añadir al módulo de datos.

Gota en el módulo de datos de un componente "TEMSProvider".

Tenemos que especificar en el componente proveedor ccsme el nombre de host y el puerto de nuestro servidor EMS. En nuestro simple demostración del servidor ejecuta localmente, por lo que vamos a entrar en "127.0.0.1" como anfitrión y "8080" como el número de puerto. En una situación real que sería la dirección IP real de la máquina que aloja el servidor de EMS.

Cambie la propiedad "urlhost" del componente "EMSProvider" a "127.0.0.1" y la propiedad "URLPort" a "8080".

Ahora podemos comprobar si el componente Proveedor de EMS puede conectar con el servidor EMS. Podemos simplemente haga clic derecho en el proveedor y seleccione "Probar conexión". Como alternativa podemos hacer clic en la opción "Probar conexión" en la parte inferior del Inspector de Objetos.

Haga clic derecho en el componente "EMSProvider1" y seleccione "Probar conexión" en el menú contextual.

Si somos capaces de conectar con el servidor ccsme, deberíamos ver un mensaje con la información de la versión EMS.

Verifique que la conexión está funcionando. Usted debe ver el mensaje con formato JSON versión del servidor EMS.

Para acogerse a un recurso en el SME, tenemos que tener un componente de "punto final backend". Vamos a añadir al módulo de datos. En la propiedad "recursos" que necesitamos para especificar el recurso URL que queremos acceder. También tenemos que especificar el "ResourceSuffix", porque queremos ejecutar el punto final GET que lleva el "item} (" parámetro. Incluso podemos comprobar en tiempo de diseño si el recurso es accesible haciendo clic derecho en el backend y seleccionando "Ejecutar ".

Gota en el componente módulo de datos "TBackendEndpoint". Cambie la propiedad "Recursos" del componente de punto final backend a "EmailChecker". Cambie la propiedad "ResourceSuffix" a "{item}". Haga clic derecho en el componente de punto final backend y seleccione "Ejecutar".

Si no hemos escrito mal el nombre del recurso, debemos obtener el código de respuesta HTTP "200", que significa "OK".

Verifique que el punto final puede ejecutar. Debe haber un mensaje de "Respuesta 200 - OK" aparece.

Necesitamos un último componente en nuestro módulo de datos - "Respuesta RESTO". Este componente necesita ser conectado a la backend punto final y se utiliza para almacenar la respuesta recibida de nuestro backend. En nuestro caso eso sería "verdadero" o "falso".

Añadir al componente módulo de datos "TRESTResponse". Cambie la propiedad "respuesta" del componente "BackendEndpoint1" a "RESTResponse1".

También tenemos que definir el parámetro que nuestro punto final "EmailChecker" espera. Es por eso que tenga que añadir un artículo a la propiedad "Parámetros" del componente de punto final.

Seleccionar componente "BackendEndpoint1" y haga clic en el botón de puntos suspensivos junto a la propiedad "Parámetros".

Vamos a definir un parámetro. La propiedad "Valor" del parámetro es lo que va a ser enviado al corrector de correo electrónico para su validación. Vamos a poner aquí una cadena que se parece a una dirección de correo electrónico válida. También tenemos que establecer la propiedad "Nombre" a "elemento".

Haga clic en el botón "Añadir nuevo" en la ventana del editor params para añadir un nuevo parámetro a la colección. Establezca su propiedad "Nombre" a "elemento". Establezca su propiedad "Valor" para Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. .

Podemos probar ejecuta nuestro corrector de correo electrónico en tiempo de diseño. Si ejecutamos el punto final de nuevo, hay que ver lo que se envió desde el servicio de EMS en la propiedad "contenido" del componente de la respuesta. Sí. " Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. "parece ser una dirección de correo electrónico válida.

Haga clic derecho en el componente "BackendEndpoint1" y seleccione "Ejecutar" en el menú contextual. Debe haber un mensaje de "Respuesta 200 - OK". Haga clic en el componente "RESTResponse1". Haga clic en el botón de puntos suspensivos junto a la propiedad "Contenido". Verifique que contiene el texto "verdadero".

Nuestros componentes son todos de configuración para invocar el punto final corrector de correo electrónico. Antes de comenzar con la escritura de un código que vamos a quitar el valor del parámetro y los datos de respuesta. Borrado de los datos de respuesta se puede hacer muy fácilmente desde el menú contextual del componente de respuesta REST.

Haga clic derecho en el componente "RESTResponse1" y seleccione "Borrar datos de respuesta" en el menú contextual.

Respuesta REST necesita estar muy seguro de que realmente desea borrar los datos de respuesta. Sí. Queremos para desactivarla.

Haga clic en Aceptar para confirmar que desea borrar los datos de respuesta.

En el momento en que vamos a escribir código que proporcionará el "valor" del parámetro de control de edición.

En la "Estructura" Vista clic en el "elemento" parámetro para seleccionarlo en el Inspector de Objetos. Borrar el contenido de la propiedad "Valor".

Ahora vamos a poner en práctica el método público "IsValidEmail" en nuestro módulo de datos que ejecutará el punto final "EmailChecker". Este es el método que vamos a llamar desde la interfaz de usuario de nuestro EmailCheckerApp.

Cambiar a editor de código pulsando F12. En la sección de "público" de la declaración del tipo de módulo de datos del método "IsValidEmail" de la siguiente manera:

 función IsValidEmail (s: string): boolean; 

Pulse la tecla "Ctrl + Shift + C". En el esqueleto generada de la aplicación del método escriba las siguientes tres líneas de código:

 BackendEndpoint1.Params [0] .Value: = s;
BackendEndpoint1.Execute;
Resultado: = RESTResponse1.Content = 'true'; 

Salvar A Todos.

Antes de poder utilizar el módulo de datos en el código del formulario de solicitud, tenemos que añadir a su cláusula de "usos". La forma más rápida de hacerlo es con el asistente "Uso unidad".

Asegúrese de que la unidad "uFormClient" está activo en el editor de código. En el menú "Archivo", haga clic en "Usar la unidad ...". Seleccione la unidad "uDMEmailChecker" y haga clic en Aceptar.

El último paso es añadir código a la forma que se ejecutará cuando se pulsa el botón voluntad. El contenido de la edición serán pasados ​​al método "IsValidEmail" del módulo de datos y dependiendo del resultado se muestra el mensaje correspondiente.

Haga doble clic en el componente de botón en el formulario y escriba el código siguiente en el controlador de eventos generados "OnClick":

 si DMEmailChecker.IsValidEmail (edtEmail.Text) entonces
  ShowMessage ('"' + edtEmail.Text + '" es una dirección de correo electrónico válida')
más
  ShowMessage ('"' + edtEmail.Text + '" no es una dirección de correo electrónico válida'); 

Salvar A Todos.

La aplicación cliente está ahora completa! Vamos a ejecutar y comprobar que funciona como se esperaba.

Pulse el icono de la flecha verde para ejecutar la aplicación cliente sin depuración. Introduzca Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. al control de edición. Pulse en el botón y compruebe que el mensaje de que el correo electrónico es válida es dislayed.

Eso es todo! Hemos conseguido crear todo el sistema hecho del servicio de correo electrónico de cheques EMS y una aplicación de cliente multi-dispositivo.

El código fuente de esta demo se puede descargar desde Embarcadero Código central .


Check out more tips and tricks in this development video: