06月≪ 2018年07月 ≫08月

12345678910111213141516171819202122232425262728293031
--.--/--(--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--:--  |  スポンサー広告  |  EDIT  |  Top↑
2018.02/08(Thu)

Delphiでフォームサイズを固定化

・フォームのサイズを固定する

BorderStyleプロパティにbsSingleを設定
スポンサーサイト
00:16  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2018.02/08(Thu)

Delphiで数値のみの入力

Delphiでエディットボックスに数値のみを入力させたい。

というわけで
procedure TForm2.LabeledEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if (not CharInSet(Key, [#8, '0'.. '9'])) then
Key := #0;
end;
こんなコードを流用。

しかし、LabelEditのプロパティを見ていたら、Numbersonly という項目ができており、
true/falseが選択できた。コードを書かなくても、これをチェックすれば良いだけだった模様。

ただ、別な記事によればNumbersonlyだとマイナスや小数点に対応していないとのこと。
それは上記のコードでもおなじでタブキーと0から9までにしか対応していない。
でも、羅列すれば良いだけだから、上記コードの方が汎用性があるのかもしれない。
00:07  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.09/12(Mon)

Delphi Starter 無料

Delphi Starterの無料ダウンロード期間が9/9から9/15に延長されていた。
同じダウンロードファイルから、ちょっとネット検索して方法を知れば、
C++BuilderのStarterもインストール可能。
----------------------
[Delphi Boot Camp / Delphi Starter Edition 無料! [JAPAN]]
http://community.embarcadero.com/blogs?view=entry&id=8834

また、Delphi Starter Edition の無料ダウンロードも、好評につき、Delphi Boot Campの最終日の9月15日まで延長いたしております。
この機会にぜひダウンロードしてDelphiプログラミングをお楽しみください。
14:43  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.08/06(Sat)

The Lazarus Effect

映画「ラザロ・エフェクト」が上映最終日なので観てきた。

観ていて原題が「The Lazarus Effect」だと気がつく。

ラザルスなどと呼んでいたけど、ラザロが正しいわけだ。

ラザロの意味は墓に入れられてから4日後にキリストが死から蘇らせた人物
のことらしい。

Razarusのプロジェクトもオブジェクト・パスカルの死からの復活という
意味が込められているのかとなんだか納得。
04:28  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.04/13(Wed)

プログラムの音声作成

プログラム開発で音声を使いたい。無料の音声ファイルを公開しているところは多々ある。

といってもピッタリの音声をみつけるのは大変。

仕方がないので合成音声をつくるフリーソフトのお世話になる。しかし、発音が変。

ここで気がついたのはワープロの一太郎についてくる読み上げソフト「詠太」。
これが優れもので人の声と区別がつかないくらいよい発音をしてくれる。

しかし、音声を保存できないので「Moo0ボイス録音機」というフリーソフトで
録音ファイルを作成していく。他にもいろいろ高機能の録音ソフトがあるが使いこなせなかった。
23:24  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.04/12(Tue)

XE8:Android開発でApplication does not support this deviceエラー

作成したアプリをLenovoのIdea Tabで動かしてみる。問題なく動く。

ところが、ほぼ同じコードでフォームがひとつないプログラムでは
「Application does not support this device」というエラーで動かない。

コードがほぼ同じはずなので意味がわからない。

結局、エンバカの以下の記事に従って修正。なぜか3カ所もあったのですべて直して
無事、動くようになった。
-------------------
この問題を回避するには:
IDE で配置マネージャ([プロジェクト|配置])を開き、次のエントリを見つけます。
[ローカル名]: libnative-activity.so
[リモート パス]: library\lib\armeabi\
このエントリのチェック ボックスをオフにして、このファイルが配置されないようにします。
-------------------
23:44  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.04/10(Sun)

Android開発;:Delphi XE8で音声再生エラー

一応、作成したアプリはNexus7など多くで動いた。

しかし、SoftwinerEvbという7インチではエラーが出てしまう。当初はDelphi XE8で
何かのpermissionエラーとなっていた。

エラーはTMediaPlayer関係で何かのパーミッションがなされていないように思われた。

このパーミッションはAndroidManifest.xmlファイルの中で指定されている。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
とか行を加えるとインターネット接続を許可したり、外部ストレージからの読み出し
を許可できるようだ。

しかし、いきなり、このファイルを書き換えても、コンパイル・ビルドする度に書き換えられて
しまう。

どうするかと思ったら、XE8のメニュー「プロジェクト」「オプション」で左にある選択肢から
「使用する権限」を選び、「false」を「true」に変えていけば、そのパーミッションが
AndroidManifest.xmlファイルに書き込まれることがわかった。

接続した実機SoftwinerEvbで実行はされるようになったが、やはり音声再生のところで
エラーjava.io.IOException:Prepare failed:status=0x1.がでる。
21:10  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.04/04(Mon)

DelphiでAndroidアプリ作成で音声を使う

XE8でAndroidアプリを作成。Delphiによるアプリ作成に参考になる書籍は「Delphiでかんたん iOSアプリプログラミング」細川淳、カットシステムしかない。

しかし、iOSアプリ用なのでAndroidでそのまま使えるとは限らない。

今回、音声が出るようにした。上記の本ではカップラーメンタイマーを作成するという所に音声の説明もあるが、
これはiOS用なので使えない。

試行錯誤したので、多少間違いはありそうだが、次回までにいろいろ忘れそうなのでメモを残しておく。

1.音声を出すには音声ファイルをまず用意する。Android用は拡張子が3gpというファイルなので
wavやmp3の拡張子の音声ファイルなら変換しておく(Any Audio Converterとかフリーソフトでできる)。

2.Delphiのフォーム上にツールパレットの「additional」にある「TMediaPlayer」を配置する。

3.Delphiのメニュー「プロジェクト」から「配置」を選択。タブの「ファイルを追加」で音声ファイルを追加。
リモートパスの所を「.\assets\internal\」と入力。

4.Delphiのメニュー「プロジェクト」から「リソースと画像」を選択。ここで追加したか記憶があいまい。 
ここで表示されるリソース識別子の「Resource_XX」がその音声を意味する。XXは番号。

5.プログラムコードで
PlayAudio('Resource_XX');
とすれば、そこでその音声が再生される。
21:41  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2016.03/16(Wed)

Delphiでandroidアプリ作成エラー

XE8を使ってはじめてDelphiでAndoroidアプリ作成を試みる。

Nexus7をUSB接続してさくさくボタンを配置したり、いままでのように作れる。

といっても、これらはFireMonkeyというマルチOS対応の部品で、いままでのDelphiの部品であるVCLとは
別物らしい。だから、完全互換ではない。

例えば、表示させる文字はCAPTIONに指定していたが、TEXTで表示させることになる。
また、VCLにあったが、こちらには存在していないものもある。

途中まで試行錯誤してうまくいっていたのだが、突然、以下のエラーが出るようになった。
Failure INSTALL_FAILED_DEXOPT
[PAClient エラー] "paclient" exited with code 1.

それまで表示されていたNEXUS7にもアプリが表示されなくなる。

ネットで原因を探ると、必要ファイルが欠損していたとかの情報がある。仕方がないので
XE10のトライアルをインストールしてみる。1ヶ月は試用できる。ところが、インストール
した環境でも同じエラー。

どうもDELPHI側ではなく、NEXSUS7側に問題があるよう。1つ心当たりがある。NEXSUSUで
ふっとシステムアップデートをしてしまったことである。

やむなく、LENOVO YOGA8に乗り換えして試行錯誤して、やっと表示が出るようになった。
21:44  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
2015.09/10(Thu)

Debugger Assertion Failure:"LastErr == WSAEINTR"

Delphi EX8 をWindows 7で動かし、作成中のプログラムを32ビツト版から64ビット版に変更しようとしたら、
「Debugger Assertion Failure:"LastErr == WSAEINTR" in ..win32src\wmcipc.cpp at line 294」というエラー
が出てしまう。

ネットで調べてみるとアンチウイルスソフトやファイアーウォールが原因らしい。

別なやはり Windows7 のDelphi EX3 でまったく同じプログラムを64ビット版でコンパイルしても何もエラーは
でない。

EX8のPCにはNOD32のSmartSecurity、EX3のPCにはNOD32のAntivirus4がそれぞれ載っている。

Antivirus4にはフェイアーウォールはついていないのでエラーにならないのかもしれない。
とはいっても、SmartSecurityのどこを設定すればエラーが消えるのかわからない。

それらしいものは許可するようにしてもエラーは消えないまま。設定も多すぎてピンポイントの方法が
わからない。かなり前のバージョンから生じているエラーらしい。

当分は32ビットで開発して、最後にEX3で64に変更するしかないのかもしれない。
16:30  |  Delphi  |  TB(0)  |  CM(0)  |  EDIT  |  Top↑
 | BLOGTOP |  NEXT
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。