top / index / prev / next / target / source

2015-03-23 diary: Delphi で DataSnap のときの個人的メモ

いがぴょん画像(小) 日記形式でつづる いがぴょんコラム ウェブページです。

Delphi で DataSnap のときの個人的メモ

とりあえずの個人的メモです。

サーバーの作成

ファイル→新規→その他
Delphiプロジェクト→DataSnap Server→DataSnap REST アプリケーション
スタンドアロン アプリケーション
VCL アプリケーション

ServerMethodUnit1.pas

function MyMethod(Value: string): string;
Ctrl+Shift+C
あとは実装

クライアントの作成

モバイルアプリ新規作成

DataSnap REST クライアント モジュール
リモート サーバー
IPアドレス入力+接続テスト

uses ClientModuleUnit1 を追加

var
  wrk: string;
begin
  wrk := ClientModule1.ServerMethods1Client.MyMethod('あいう');
  ShowMessage(wrk);
end;
Delphi ファイル→データモジュール
他から呼び出し

興味深い Web サービス

http://www.webservicex.com/globalweather.asmx?WSDL
http://graphical.weather.gov/xml/SOAP_server/ndfdXMLserver.php?wsdl

REST呼び出しメモ

ボタン押下

begin
  RESTRequest1.ResetToDefaults;
  RESTResponse1.ResetToDefaults;
  RESTClient1.ResetToDefaults;

  RESTClient1.BaseURL := 'http://www.javareading.com/';
  RESTRequest1.Resource := 'nisiyamazoo.json';
  RESTRequest1.Execute;
end;

コールバック

procedure TFormX.RESTRequest1AfterExecute(Sender: TCustomRESTRequest);
var
  JSONValue: TJSONValue;
  Animals: TJSONArray;
  Animal: TJSONValue;
begin
  ShowMessage(RESTResponse1.Content);
  JSONValue := RESTResponse1.JSONValue;
  Animals := JSONValue.GetValue<TJSONArray>('dataroot.nisiyamazoo');
  for Animal in Animals do
  begin
    Memo1.Lines.Add(Animal.GetValue<TJSONString>('name').ToString);
  end;
end;

Delphi で FireDAC のときの個人的メモ

コンポーネント

TFDConnection
  ドライバID: IB

  Database: gdb ファイル (employee.gdb) の配置および選択
  User_Name: sysdba
  Password: masterkey
  CharacterSet: UTF8

TFDQuery
  SELECT * FROM employeejp WHERE emp_no = :P1

TFDGUIxWaitCursor

コード

var
  row: TFDDatSRow;
begin
  FDQuery1.ParamByName('P1').AsInteger := 2;
  FDQuery1.Open;
  FDQuery1.First;
  row := FDQuery1.GetRow();
  ShowMessage(FloatToStr(row.GetData(0)) + ' : ' + row.GetData(1));
  FDQuery1.Close;
end;

この日記について