Haruyuki Mohri Blog(Delphi)

毛利春幸のブログ

スポンサーサイト

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

delphiには簡単に使えるキューコンテナがあります。

以前の記事で、はやしさんがQueueについて書かれている記事があります。
単純なキューと循環キュー - @IT

DelphiはXE4ぐらい以降(あいまい)に、いろんなコンテナが使えるライブラリを提供しています。
殆どがSystem.Generics.Collections.pasに入ってます。
その中のキュー(TQueue)を試してみました。


procedure TForm1.FormCreate(Sender: TObject);
var
queue: TQueue<String>;
i: Integer;
max_count: Integer;
begin
queue := TQueue<String>.Create;
try
for i := 0 to 10 do
queue.Enqueue(Format('Enqueue(%d)', [i])); //Put in queue.

max_count := queue.Count;

for i := 0 to max_count-1 do
Memo1.Lines.Append( queue.Dequeue ); //remove and calling.
finally
queue.DisposeOf;
end;
end;


文字列をバッファに収納して出すだけです。
シングルスレッドではあまり用事が無いかもしれませんが
入出力のスレッドが別の場合このQueueを使えば管理が楽になります。

System.Generics.Collectionsの中にはTThreadedQueueと言う物もあります。
これの場合は スレッドにキューが貯まりすぎないような工夫が盛り込まれているみたいです。
「AQueueDepth is the length of the queue, which is by default set to 10.」だったりします。

delphiの場合<T>とすると C++のtemplate的な扱いになるみたいです。
template宣言無しです。

今回TQueue<String>ですが、classを作ってQueue<original_class>も可能だと思います。

スポンサーサイト
  1. 2015/08/25(火) 12:36:45|
  2. 未分類

lameとsoxを使って mp3ファイルをWAV(PCM)16Kモノラル変換する

1.lame.exeとsox.exeはどこかからダウンロードしてINSTALLする

2.lame.exeでmp3ファイルをwavに変換する

lame --decode sample.mp3 sample.wav


3. sox.exeでモノラルの16Kに変換する

sox sample.wav -c 1 -r 16000 sample_16.wav
これで16KモノラルWAVが完成です

テーマ:お得なパソコン情報 - ジャンル:コンピュータ

  1. 2014/10/15(水) 11:50:30|
  2. 未分類

Android Nexus7 ADT用 usbドライバインストール方法

1. Android SDK をダウンロードしてくる
http://developer.android.com/sdk/index.html
141004001
ダウンロードできたらZIP解凍する

141003002
すきなところにフォルダごとコピーする


2.SDK Manager.exeを起動する
141003002
Google USB Driverに「CHECK」を入れて INSTALLする
141004003


3.INSTALLが完了すると
「adt-bundle-windows-x86-20140702\sdk\extras\google\usb_driver」のフォルダができている

4.デバイスマネージャーを開くとNexus7が「!」マークになっている部分がある
2014-10-04 14.42.58
「ドライバの更新」をclickする

5.「コンピュータを参照してドライバソフトウェアを検索します」をclick
1410040005

6.先ほどのusb_driverフォルダを選択して「次へ」
201410040006

7.インストールする
141004007

8.「正常に更新されました」画面が出て
Android Composite ADB Interface」と出てくる
1410040008

9. 接続されているかの確認方法
1410040009
DOS窓開いて 「adt-bundle-windows-x86-20140702\sdk\platform-tools」このあたりまで移動
コマンドで「adb devices」エンターするとAndroid接続成功したリストが出てくる






続きを読む

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/10/04(土) 14:30:28|
  2. 未分類

Embarcaderoさんの2014年09月17日デベロッパーTV




35分目ぐらいから喋ってます
しゃべり方自分思った以上におっとりしてますね僕。。。。ww

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/09/17(水) 23:46:34|
  2. 未分類

XE5でTIdTCPServerを簡単に文字列受信させてみる

XE5のindyバージョンは 10.6.0と言うものらしいです
受信側のオブジェクトも少し違うみたいで
受信イベントOnExecuteをクリックすると
IdTCPServer1Execute(AContext: TIdContext);
となりTIdContext見た事無いオブジェクトが返ります

これどうやって文字列受信させればよいのか調べてみました^^
14_04_19_IdTcpForm
上記な感じにしたいと思いました

2014_04_19_02_src

IOHandlerってのでなんとかなるみたいでした
文字列とばすだけならどって事なかったです^^
IndyのソースみたらReadStreamってのも使えるみたいです

テーマ:お得なパソコン情報 - ジャンル:コンピュータ

  1. 2014/04/19(土) 13:00:00|
  2. 未分類
次のページ

Profile

Twitter...

最近の記事

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。