タグ:プログラミング ( 77 ) タグの人気記事

「できるDelphi / C++Builder 10.x Starter Edition」ってあったら買いたい。
多分発売されることはないだろうけど、
「できるDelphi / C++Builder 10.x Starter Edition」っていう本があったら買いたい。
IDE の使い方(*)の説明が図解で解説されているのを期待する。

*:例えば、
  • ブレークポイントの設定の詳細な使い方。
  • 監視式の詳細な使い方。
  • パッケージやコンポーネントのインストールについて。
  • バージョン管理(Subversion、Git、Mercurial)の使い方や具体例。GitならGitHubの使用例を。
  • お勧めのアドオン、プラグイン。

こんなところかな。

Delphi / Object Pascal については、税抜きで6000円と高価ですがこの本で学習するのが良いかもしれません。
OBJECT PASCAL HANDBOOK


2017年5月25日追記
  • 「できるDelphi 10.1 Starter Edition」から「できるDelphi / C++Builder 10.x Starter Edition」に改題
  • OBJECT PASCAL HANDBOOKへのリンク。


[PR]

by arigayas | 2016-11-10 04:47 | Delphi Programming | Trackback | Comments(0)
GitHub 初心者が Git Shell と GitHub for Windows を使って git clone してみる。

他人のプロジェクトのファイルをローカルに持ってきて見るのに使えるかもしれない作業手順メモ。
ちなみにGitについての知識は皆無なのでその辺は間違っていたら指摘をお願いします。

前提環境としては、GitHub for Windows をインストール済み。
ちなみに使用しているバージョンはVer 2.14.7.1でした。

では手順を

  1. Git Shell を起動する。
  2. 次のコマンドを実行する。
    git clone https://github.com/[ユーザー名]/[プロジェクト名] [保存したいフォルダ名]
  3. エラーなくダウンロードが終わったら Git Shell を終了する。
  4. GitHub for Windows を起動する。
  5. 「+」マークをクリックして「Add」をクリック「Browse」をクリックして[保存したいフォルダ名]の場所を指定する。
    b0003577_15035833.png
  6. 「Add repository」ボタンが押せるようになるので押して作業完了。

この記事を書く前に検索時に使って言葉をメモ:GitHub Repository リポジトリ 追加 参加 リポジトリの取得


[PR]

by arigayas | 2015-08-09 15:14 | Soft | Trackback | Comments(0)
Delphi XE Pro - IDEなどにインストールすべきものを教えて欲しい。「CnPack」と「IDE Fix Pack」以外で
30回目の エンバカデロ・デベロッパーキャンプ の東京会場での LT をUstream で見ていました。
そこで RAD Studio や Delphi や C++Builder にインストールすると作業が快適になるツールとして、
CnPackCnPack Open Source Projects が紹介されていた。XE8 からの新機能の「Castalia」とバッティングするので起動時のオプションに「/NOCASTALIA」と良いらしい。

これをインストールしたところ、いくつかの便利になったので記録しておきます。
  • ソースコードの表示が変わってBegin~endやif文やfor文などの制御文が対応した色で分り易くなったり、
    b0003577_22093512.png

    Beginの開始位置が変わっても大丈夫!
    b0003577_00401883.png
  • フォームのサイズを固定サイズにするのが簡単になったり
    b0003577_22461505.png
  • ボタンなどのコンポーネントを配置した時に短縮した名前にするか?と聞いてくる。
    b0003577_23284829.png

CnPack の日本語化を誰かやって欲しいなぁと思ったり。 この記事を書いている間に作られましたw 

CnPack 日本語化ファイル 20150530版。 - 全力わはー翻訳は途中までだそうです。


[2015年6月7日追記]
  • 変数などにマウスカーソルを合わせると同じソースコード内で強調表示してくれます。
    b0003577_22035012.png
  • [CnPack 日本語化ファイル 20150530版導入済みです]
    エディタ上で文字を選択すると行数番号の横に「ソースツールブロック」というのが表示される。
    b0003577_02263381.png

    このツールで選択した文字列を 編集 / コメント化 / Web検索 などが出来る。

CnPack 以外には IDE Fix Pack をインストールしてあります。→ IDE Fix Pack | Andy's Blog and Tools

IDE Fix Packは、Version 2009 以降の IDE の細かなバグを修正したものをまとめた物です。

ソースコードが長くなった場合にレスポンスに問題が出てくるらしいのですが
IDE Fix Packを入れてあればレスポンスにほぼ問題なく使えるらしいです。
以下の2つのリンクはインストール前後でのレスポンスの差を動画にした記事へのリンクです。

CnPack や IDE Fix Pack は、2016年9月下旬に無期限無償公開された C++Builder 10.1 Berlin Starter EditionDelphi 10.1 Berlin Starter Edition にもインストールが可能です。



↓更新日時↓
[PR]

by arigayas | 2015-05-31 00:51 | Delphi Programming | Trackback | Comments(0)
Delphi XE Pro - 正規表現で一致する文字を抽出して表示する
ひとつだけの場合
uses
RegularExpressions 追加して正規表現を使えるようにする。

procedure TForm1.Button1Click(Sender: TObject);
var
Str: string;
hoge: TMatch;
begin
 Str := 'ふかふかふか(やってみる)(lv196799094)';

 if TRegEx.IsMatch(Str,'lv\d+') then
  begin
   hoge := TRegEx.Match(Str,'lv\d+');
   ShowMessage(hoge.Value);   出力結果: lv196799094
  end;
end;

試しに Str := 'ふかふかふか(やってみる)(lv196799094)(lv200000000)'; とした場合にも出力結果はlv196799094となった。


複数個当てはまる場合
procedure TForm1.Button2Click(Sender: TObject);
var
 i: Integer;
 str, tempStr: string;
 hoges: TMatchCollection;
 SortList : TStringList;
begin
 Str := 'ふかふかふか(やってみる)(lv20000000000)(lv10000)(lv196799094)';

 if TRegEx.IsMatch(Str,'lv\d+') then
  begin
   hoges := TRegEx.Matches(Str,'lv\d+');
    if hoges.Count = 1 then
     
tempStr := hoges.Item[0].Value
    else // 複数候補がある場合は最大値を適用する
    begin    
     if hoges.Count > 1 then
      SortList := TStringList.Create;
      for I := 0 to hoges.Count - 1 do
       SortList.Add( hoges.Item[I].Value );
      SortList.Sort;
      for I := 0 to SortList.Count - 1 do //ソートされて最後が最大値になっているはず
       tempStr := SortList.Strings[i];
    end;
   ShowMessage(tempStr);   出力結果: lv20000000000
  end;
end;



[PR]

by arigayas | 2014-11-29 05:07 | Delphi Programming | Trackback | Comments(0)
[2ch] [コピペ] - chaika で名前が数字だけの場合、そのスレの番号の書き込みをポップアップさせる

chaika とは、Firefox 上で2ちゃんねるをシームレスかつ快適に見るアドオンです。
chaika :: Add-ons for Firefox

bbs2chreader/chaika Part44 の194から198のコピペ。
194 :名無しさん@お腹いっぱい。:2014/11/11(火) 23:42:07.23 ID:7p7DSdkQ0
  要望です。
  名前が数字だけの場合、名前部分にマウスカーソルを持っていったら、
  そのスレで該当する数字の書き込みをポップアップして欲しいです。

195 :名無しさん@お腹いっぱい。:2014/11/11(火) 23:57:55.66 ID:73aln7JZ0
  >>194
  対応したスキン使えば?
  それともデフォルトスキンに対する要望?

196 :名無しさん@お腹いっぱい。:2014/11/12(水) 00:12:10.63 ID:EAKgsBa30
(無関係なので略)

197 :名無しさん@お腹いっぱい。:2014/11/12(水) 00:18:06.52 ID:M50RNDXE0
  >>194
  
デフォスキンなら、置換マネージャで名前の\d{1,4}を>>$&に置換


198 :名無しさん@お腹いっぱい。:2014/11/12(水) 00:32:46.26 ID:M50RNDXE0
  >>197 だとMANGO板とかの実体参照が壊れるので、^(?:>)*(\d{1,4})を>>$1に置換に修正

文字参照を使っている部分がエキサイトブログだと変換されてしまうのでスクリーンショットで図解します。
画像をクリックするとポップアップして表示します。
スクリーンショットは chaika 1.7.1 です。


  1. アドオン一覧から chaika の設定を開きます。
  2. chaika の設定が開かれたら「置換マネージャ」のボタンをクリック。
    b0003577_14033103.png
  3. ボタンを押すと下図のような物が表示されるので「新規」のボタンをクリック。
    b0003577_14142875.png
  4. ボタンを押すと下図のような物が表示されます。
    b0003577_14275948.png
  5. 下図のように”名前”と”検索文字列”と”置換文字列”に入力して正規表現にチェックを入れて「OK」のボタンをクリック。
    b0003577_14314228.png
  6. 設定が増えた「置換マネージャ」が表示されるので「閉じる」(バツ)ボタンを押します。
    b0003577_14370300.png
  7. 設定は終了です。

[PR]

by arigayas | 2014-11-12 14:45 | Mozilla/Firefox/TB | Trackback | Comments(0)
[解決?] Delphi XE Pro - DUnit の使い方を知りたい というかファイルを指定して読み込ませる事ができるのか知りたい
Delphi XE Proでニコニコ生放送のコメントを表示するソフトを作っている。
しかし、Indy(ネットワーク関連の処理をまとめたコンポーネント群)の使い方がさっぱりわからないので
今のところ、とあるソフトでニコニコ生放送のコメント(XMLファイル)をダウンロードし、そのダウンロードしたXMLファイルを表示するソフトになっている。
あとNCVで保存したコメントファイルを開く事も出来るように今週改良を加えた。

しかし動作テストする為に毎回、最低でも6ファイルぐらいテスト用のXMLファイルを手動で開いて、ちゃんと動くのか読み込ませるのが面倒臭く感じてきたので
「Delphiで使えるテストツールがないかなぁ?」と思い軽く検索してみたら「DUnit」というのがあるのがわかったけど、関数(procedure/function)単位でテストするようだった。
この「DUnit」というは、ファイルを複数指定すると指定したファイルを順次読み込んでテストしてくれるのかどうか、詳しい方教えてください。

作ったプログラムのメインのpasファイルには、
procedure TForm1.XMLRaedVirtualView(FileName, Encoding);
って言う感じになっていて、テストプロジェクトには、
procedure TestTForm1.TestXMLRaedVirtualView;
var
 Encoding: TEncoding;
 FileName: string;
begin
 // TODO: メソッド呼び出しパラメータのセットアップ
FForm1.XMLRaedVirtualView(FileName, Encoding);
 // TODO: メソッド結果の検証
end;
という状態です。




追記分
[PR]

by arigayas | 2014-11-06 18:21 | Delphi Programming | Trackback | Comments(0)
サクラエディタ マクロとか テクニックとか カスタマイズのまとめ / CSSファイル向け設定方法

サクラエディタ マクロとかテクニックのまとめ

サクラエディタをHTMLエディタにする

サクラエディタに閉じタグ補完機能 - 趣味のPerlフレームワーク
↑ 保存するマクロはコメントに書いてあるサクラエディタ マクロBBS -  [546] 直前の閉じていない HTML/XML タグを閉じるのを使うのがお勧めです。
サクラエディタVer1系を使っている場合、掲示板に書いてあるVer1向けの修正が必要なようです。
まぁ普通はサクラエディタVer2以降を使っていると思いますが。

サクラエディタ にHTML の Zen-Coding 機能を追加する。

サクラエディタ にHTML の Zen-Coding 機能を追加する。
  1. どんな感じかのスクリーンショット:Zen Coding for Sakura Editor - MoonWing
  2. マクロのダウンロード[2014年4月21日現在だとVer 0.1.1]: Zen Coding for Sakura Editor « ZenCoding « Soft « ダウンロード- MoonWing
  3. Zen Coding for Sakura Editorのマクロ設定 - MoonWing

Zen-Coding とはなんぞや?という人向けのサイト↓

CSS のプロパティ を入力補完させる。

サクラエディタ をインストーラーでWindows 7 の 64 bit 版にインストールした想定です。
  1. Ctrlキーを押しながら4キーを押して「タイプ別設定一覧」を開いて「HTML」を一時適用をクリック。
  2. Ctrl+5を押して「タイプ別設定」を開いて「支援」タブをクリック。
  3. 「支援」タブの「入力補完機能」枠の(1)ボタンをクリックして
    C:¥Program Files (x86)¥sakura¥keyword¥CSS2.input.kwd
    を指定します。
  4. 「支援」タブの「強調キーワード」にチェックを入れて「OK」ボタンクリックして設定は完了。
    b0003577_1755293.png
  5. あと好みの問題かもしれませんがキーワードヘルプファイルも設定するとググりながらしなくて良くなるので便利かと
    C:¥Program Files (x86)¥sakura¥keyword¥CSS2.khp
    b0003577_17332196.png

  6. HTMLファイルをサクラエディタで開いて適当なところで
    ba
    などと入力しCtrlキーを押しながらスペースキーを押すと入力候補が出てきます。
    b0003577_1729387.png

  7. 入力候補に出てくるキーを打ち込んでいくと絞り込まれていくので↓キーで選んでEnterキーで決定です。



こんなところかな。
気が向いたら更新していくかもしれません。




追記
[PR]

by arigayas | 2014-04-22 01:09 | Soft | Trackback | Comments(0)
[ニコニコ動画] ニコレポページでニコ生とか特定の通知を表示したい時のCSS
ニコニコでの小技いろいろ

ブックマークレットというJavaScriptとCSSの技術を使って非表示にします。

  1. JAVASCRIPT BOOKMARKLET の 「スタイルをテスト」を探して右クリックからブックマークします。
  2. マイページ 最新ニコレポ - niconico を表示します。
  3. ブックマークした「スタイルをテスト」をクリックしてポップアップウィンドウが表示されます。
    b0003577_16294463.png

  4. 表示されたポップアップウィンドウに
    .log-community-live-broadcast{display:none;}
    をコピペします。
  5. 「~~生放送が開始されました」と表示されていたものが消えます。

再度「~~生放送が開始されました」と表示するには、ポップアップウィンドウを閉じてからページを再読み込みしてください。


あと、流れてくる量が多そうなのをざっと調べた。
「動画をマイリスト登録しました。 」を非表示は
.log-user-mylist-add{display:none;}

「動画が追加されました。」を非表示は
.log-community-video-upload{display:none;}

「イラストをクリップしました。」を非表示は
.log-user-seiga-image-clip{display:none;}

[PR]

by arigayas | 2014-02-10 15:10 | パソコン関係 | Trackback | Comments(0)
Delphi XE Pro - ListView での疑問。
ListView [ViewStyle=vsReport]に1行分のデータを追加するのに配列(StringList)でデータを渡して一気に追加したいけど出来るのかな?
ListView1.???? := StringList;
もしくは
ListView1.????.AddStrings(StringList);
みたいな感じで。
[PR]

by arigayas | 2013-07-02 23:24 | Delphi Programming | Trackback | Comments(2)
Delphi XE Pro - UnixTime を計算して経過時間を表示
Delphi XE Pro - Unixtime を 年月日 時分秒に変換

uses に DateUtils が必須です。
procedure TForm1.UnixtimeButton2Click(Sender: TObject);
var
UnixtimeStamp, StartTime, ElapsedTime : UInt64;

day, Hour, Minute, Second: Integer;
AdayOver : Integer; // 24 時間以上用

daystr : string;
TimeString : string;
begin
UnixtimeStamp := 1372995141;
TimeString := FormatDateTime('yyyy/mm/dd hh:mm:ss',UnixToDateTime(UnixtimeStamp));

ShowMessage(TimeString);


// 放送開始からの経過時間
StartTime := 1372485140;

ElapsedTime := UnixtimeStamp - StartTime; // 経過時間(秒数で格納)
ShowMessage(IntToStr(ElapsedTime) + '秒');

Hour := ElapsedTime div 60 div 60 ;

if Hour > 24 then
begin
day := Hour div 24;
AdayOver := Hour mod 24;
daystr := IntToStr(day) + '日目 ' + Format('%.2d',[AdayOver])+ '時間';
end
else
begin
daystr := IntToStr(Hour)+ '時間';
end;

Minute := ElapsedTime div 60 - Hour * 60 ;

Second := ElapsedTime - (Hour * 60 * 60 + Minute * 60) ;

TimeString := daystr + Format('%.2d',[Minute]) + '分' + Format('%.2d',[Second] ) + '秒';

ShowMessage(TimeString);

user_id_Memo.Text := TimeString;
end;


510001秒 が 
5日目 21時間40分01秒
と表示されます。
[PR]

by arigayas | 2013-06-30 00:29 | Delphi Programming | Trackback | Comments(5)