DUnitXの紹介を公開しました。

DUnitXの紹介を公開しました。

まだ未完成です。

これからDUnitXを使い込んで、得られた知見を追記していきます。

Delphi XE8のモバイルアプリケーションで文字列や画像を共有するには

Delphi XE8のモバイルアプリケーションで文字列や画像を共有するにはFMX.MediaLibrary.Actions.TShowShareSheetActionを使用します。

TShowShareSheetActionの使い方

文字列を共有するときは、TShowShareSheetActionのTextMessageプロパティに共有する文字列を設定します。

ShowShareSheetAction1.TextMessage := '共有するTextMessage';

画像を共有するときは、TShowShareSheetActionのBitmapプロパティに共有する画像を設定します。

ShowShareSheetAction1.Bitmap.Assign(Image1.Bitmap);

アクションを実行すると、ウィンドウが表示されて共有アクションを選択できます。

画像を共有するサンプルアプリケーション

フォームに次のコンポーネントを配置します。

  • TButtonコンポーネント
  • TActionListコンポーネント
  • TImageコンポーネント

TImageコンポーネントに共有する画像を設定します。

form01

TActionListコンポーネントを右クリックして「アクションリストの設定」を選択します。

form02

新規アクションの「▼」ボタンを押し、「標準アクションの新規追加」を選択します。

form03

「メディアライブラリ」の中にある「TShowShareSheetAction」を選択して、「OK」ボタンを押します。

form04

アクションリストに「ShowShareSheetAction1」が追加されました。

form05

TButtonコンポーネントのActionプロパティに「ShowShareSheetAction1」を設定します。
ボタンを押すとShowShareSheetAction1が実行されます。

form06

ShowShareSheetAction1のOnBeforeExecuteイベントを追加します。

ボタンを押したときに共有する画像を設定します。

procedure TForm1.ShowShareSheetAction1BeforeExecute(Sender: TObject);
begin
  ShowShareSheetAction1.Bitmap.Assign(Image1.Bitmap);
end;

ここで、TextMessageプロパティを設定すると文字列を共有できます。

実行します。

ボタンを押すと共有ウィンドウが表示されます。

android01

android02

ios01

ios02

Delphi XE8のiOSアプリケーションで、URLをブラウザで開くには

Delphi XE8のiOSアプリケーションで、URLをブラウザで開く方法です。

uses FMX.Helpers.iOS, Macapi.Helpers;

procedure TForm1.Button1Click(Sender: TObject);
const
  URL = 'https://www.gesource.jp/weblog/';
begin
  SharedApplication.openURL(StrToNSUrl(URL));
end;

iOS Simulator Screen Shot 2015.05.06 22.07.17
iOS Simulator Screen Shot 2015.05.06 22.08.05

URLスキームを「http」の代わりに「mailto」や「tel」を使えば、メールや電話を起動することができます。

Delphi XE8のOSXアプリケーションで、URLを標準ブラウザで開くには

Delphi XE8のOSXアプリケーションで、URLを標準ブラウザで開く方法です。

uses Posix.Stdlib;

const
  URL = 'https://www.gesource.jp/weblog/';
begin
  _system(PAnsiChar('open ' + AnsiString(URL)));
end;