月別アーカイブ: 2016年3月

4Dのリストボックスで、文字に色を付ける方法

リストボックス : 文字に色を付ける方法

行全体が同じ色でいいなら、プロパティで「行フォントカラー配列」に、たとえば名前が「vKO01_lstKO_FontColors」のようなlongintの配列を用意して、プロパティに指定します。同様に背景色も行単位で指定することができます。

listbox_properties

それでは、「この行のこの列だけ赤色で表示したい」場合はどうすればいいのでしょうか。次です。

1.リストボックスのオブジェクトプロパティで「マルチスタイル」をチェック

listbox_column_properties

2.表示列は文字列で宣言

ARRAY TEXT(vKO01_lstKO_Last_CH_DATE_str;0)

3.次のソースを追加

//KO01_lstKO_Make_LastCH
//20160818 wat
// リストボックスの配列作成、最後の調律日の属性で色を付ける

C_POINTER($pColumn5)  //調律日(文字列)
$pColumn5:=OBJECT Get pointer(Object named;”vKO01_lstKO_Last_CH_DATE_str”)

C_LONGINT($sizeOfAry;$i)
$sizeOfAry:=Size of array(vKO01_lstKO_ID)

// 20160326 wat 最終調律日を表示
ARRAY DATE(vKO01_lstKO_Last_CH_DATE;$sizeOfAry)
ARRAY TEXT(vKO01_lstKO_Last_CH_DATE_str;$sizeOfAry)
ARRAY TEXT(vKO01_lstKO_Last_CH_KUBUN;$sizeOfAry)

// 会社は赤色で表示
For ($i;1;$sizeOfAry)

vKO01_lstKO_Last_CH_DATE{$i}:=CH_DATE_last_byKO_ID (vKO01_lstKO_ID{$i})
vKO01_lstKO_Last_CH_KUBUN{$i}:=CH_KUBUN_last_byKO_ID (vKO01_lstKO_ID{$i})

If (vKO01_lstKO_Last_CH_KUBUN{$i}=”会社”)
$pColumn5->{$i}:=”<SPAN STYLE=\”color:#D81E05\”>”+String(vKO01_lstKO_Last_CH_DATE{$i})+”</SPAN>”

Else
$pColumn5->{$i}:=”<SPAN STYLE=\”color:#000000\”>”+String(vKO01_lstKO_Last_CH_DATE{$i})+”</SPAN>”

End if

End for

このように、リストボックスの列にマルチスタイルに指定すると、セルごとに異なるHTMLタグを指定/表示できるようになります。

listbox_color

例では、vKO01_lstKO_Last_CH_DATE_strの列を表示して、日付型であるvKO01_lstKO_Last_CH_DATE列は非表示にしています。

元のサンプルは4D社からv13のソースを入手、v15でも動作確認済みです。

 

Appcelerator StudioでビルドしたらWWDR証明書が期限切れ?

Apple’s World Wide Developer Relations (WWDR) intermediate certificate is not installed

Appcelerator Studioで、実機のiPhoneをDeviceで選択して、[RUN]したら、上記のメッセージが出た。

ググってみると、次の記事がトップ
https://developer.apple.com/support/certificates/expiration

そして今回の解決策は、記事の中にあった次の説明だった。
Known Issues
Xcode unable to create distribution builds for App Store submissions or Enterprise apps.
This issue occurs when the expired WWDR Intermediate certificate is present in both the System keychain and Login keychain within the Keychain Access application. To resolve the issue, first download and install the renewed certificate. Next, in the Keychain Access application, select the System keychain. Select ‘Show Expired Certificates’ in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate. Your certificates should now appear as valid in Keychain Access and be available to Xcode. This issue is resolved in OS X El Capitan v10.11.4 beta.

XcodeはApp StoreまたはEnterprise appの配布用のビルドを作成できませんでした。これはキーチェインアクセスアプリケーションで確認すればわかりますが、期限切れのWWDR Intermediate certificateがシステムキーチェインとログインキーチェインのどちらにもあったことが原因です。解決策は、新しい証明書をダウンロードしてインストールします。次にキーチェインアクセスアプリケーションで、システムキーチェインを選択して、表示メニューから【有効期限の切れた証明書を表示】を実行します。そして期限切れの「Apple Worldwide Developer Relations Certificate Authority Intermediate certificate」を削除してください。

 

これでキーチェインアクセスで有効な証明書をXcodeで利用できるようになります。

で、実際にやってみた。コマンド+シフト+Uでユーティリティフォルダを表示して「キーチェーンアクセス.app」を起動。キーチェーンで「システム」を選択して表示メニューから【有効期限の切れた証明書を表示】。

スクリーンショット 2016-03-06 20.14.48

次のように、これまで隠れていた期限切れの証明書が出てくる。

 

スクリーンショット 2016-03-06 19.49.25

これをdeleteキーで削除仕様とすると認証ダイアログが表示される。

スクリーンショット 2016-03-06 19.49.44

これで削除完了。

スクリーンショット 2016-03-06 22.37.12

Xcodeでビルドすると、無事にiPhoneの実機に実行イメージが転送されたのだった。どうやら期限切れの証明書が削除されずに残っていると、そっちが先に読まれてXcodeに誤解されてしまうことがあるようだ。