Makerを目指すソフト屋のブログ

旧:ハードウェア制御と車のお勉強ブログ。いろんな体験/経験を通して、エンジニアとしても人間としても成長したいと思っています。

C++Builder 10.1 Berlin Starter EditionでBCB6のプログラムを動かす

下記記事の続き。

mate-gai.hatenablog.com

 

C++ Builder使ってた、という人が少しいらっしゃって

フォームアプリ作成の容易さ(当時、MFCに比べれば楽だった)と

現在の情報量の少なさについての苦悩が共有できてうれしく思います。

 

主に今回は興味本位で「BCB6(Borland C++ Builder6)で作ったプロジェクトは、今回のC++Builderで動くのか??」ということを試してみました。

 

0. 確認 

BCB6のプロジェクトは読めるのか??

f:id:mate_gai:20160904162340p:plain

[ファイル]→[プロジェクトを開く]メニューを確認すると、

[旧 Borland プロジェクト グループ(.bpg))は選択できるようです。

 

1.BCB6でプログラムを作る。

BCB6のプロジェクトは[.bpr]という名前で作られるので

新規でプロジェクトグループを作り、その中にBCB6のプロジェクトファイル(今回はProject1.bprと命名)を含めることにしました。

 

作成したプログラムは、

ボタンをクリックしたらエディットボックスに現在日時を表示する単純なものです。

 

【ボタンクリックイベントの中身】

TDateTime dt = Now();

AnsiString as = dt.FormatString("yyyy/mm/dd hh:nn:ss");

Edit1->Text = as;

 

2. C++Builder 10.1 Berlin Starter Editionを開き、

 BCB6で作ったプロジェクトグループを読み込ませる。

 

ここでトラブル発生!

f:id:mate_gai:20160904162858p:plain

 

とりあえず、ProjectGroup1は読み込んだようなので

その下に、新規プロジェクトを追加してみました。

([VCLフォームアプリケーション]を選択)

f:id:mate_gai:20160904163452p:plain

プロジェクトができたので、その下に

BCB6で作ったソースコード(.h、.cpp、.dfm(フォーム))を追加しコンパイル

 

 f:id:mate_gai:20160904163502p:plain

 

「いまなんじ?」ボタンをクリックしたら

プログラムは現在日時を表示するようになりました。

 

4. 今回のまとめ

・BCB6で作成した[.bpr]という拡張子のプロジェクトファイルは

 サポートされていない。(なぜか?追って調べてみる)

・BCB6では、文字列"AnsiString"の使い勝手が良くて多用していた。

   今回も使用できるようだが、C++Builder 2009 から、Stringは"AnsiString"→"UnicodeString"に変わったらしい。

www.gesource.jp

 

5. もっと調べてみたいこと

…ざっと思いつくのは、こんな感じ。ほかにもいろいろ気になることは出てくると思うので少しづつ遊んで確認してみようと思います。

 

・文字列の扱い

・今回はごくごく単純なプログラムでしか確認してないけど、

実際ソフト作成時に使用するコントロール(特にグリッド)の使い勝手(イベント、プロパティ)はどんな感じか?

・重い処理(大量のデータを読ませて、グラフ等に出力する場合・・・など)の場合

.NET Frameworkを使用したフォームアプリ(C#などで開発)したものと比べたら動作は軽快なのではないか?

・BCB6で発生していた不具合(と思われる現象)は改善されているのか?

Excelファイル入出力は、BCBではOLEを使用していたが今はいい方法があるのか?

 

C++Builder 10.1 Berlin Starter Editionを使ってみた

きっかけはこの記事。

forest.watch.impress.co.jp

 

C++Builderって、皆さん覚えてます&知ってます??

C/C++言語で開発するときの、開発環境の一つなんですけど。

 

開発環境とは、ざっくりいうと「ソフトウェアを作る際に必要なソフト」。

一般の方は、Scratchをイメージしていただければ、と思います。

 

私が使ってたC++Builderは6で、当時はBorland社でした。

今は、Embarcadero(エンバカデロ)社に引き継がれて

C/C++言語の開発環境を提供されています。

 

2016年現在のC++ Builderのシェアってどれぐらいなんだろう?

(三重県内でBuilder使いがいらっしゃったら、ともだち妖怪になりたいですw)

 

今回、そのC++ Builderが9/9まで無償で入手できるとのことなので

試しに使ってみることにしました!

 

【インストールにあたって(注意点)】

2016/9/9までは無料。(通常は\38000)

本エディションは趣味や学習を目的とした利用に加え、開発したアプリケーションに関連する収益が1,000米ドルを越えない範囲で無償利用が可能

入手するためには、エンバカデロ社の EDN アカウントが必要。(無料)

 

詳しくは、下記エンバカデロ社のダウンロード規約を読んで入手してくださいね。

www.embarcadero.com

 

私はすでに EDNアカウントを持っているので、

登録しているEメールアドレスとパスワードで トゥルッと入手。

インストールしてみました。

 

【ちょっと使ってみた感想】※個人の感想です。

過去に使用経験があるのは、「Borland C++ Builder 6 (以下、BCB6)」なのでそれとの比較になりますが…

 

・デスクトップに作られたアイコン名称が

「RAD Studio 10.1 Berlin」になっているなあ…

BCB6のときは、「C++Builder6」だったのに。

 

・初回起動時は、Visual Studioみたいな

「複数の子画面が一つの大画面にドッキングした状態」なのだが

「クラシック(ドッキングなし)」を選ぶことで、BCB6ライクな環境で作業できる。

でも、できればフォームはソースコードの開発画面と分離してほしい

(タブ切り替えでフォーム編集画面に行くのは使いづらい)

 

 

→ (追記)Twitterで、フォームデザイナとコードエディタは

      分離できることを教えていただきました。

      (詳しくは、リンク先の説明を参考にしてください。)

 

 

 

・32ビットWindowsアプリケーションしか作れないみたい

 

VCLフォームアプリケーション使いやすい。(BCB6で慣れてるから)

 

【これからやってみたいこと】

既存のBCB6で作成したプログラムの互換性

(どの機能が動き、どの機能が動かない(変わっている)のか…)

 

ここまで読んで関心を持たれた方、

無償で入手できるのは9/9までなのでお急ぎくださいね!

 

…Web上でも、C++Builderをインストールした!って記事が、

ほとんど見つからないのですが使用されたの貴重な報告。

DEKOのざつだん - 2016/08

qiita.com

Little Coder Mieプログラミングワークショップに行ってきた

今回のLittle Coder Mieプログラミングワークショップ(子ども向けプログラミングワークショップ)は、みんなでドミノ!!!

 

ドキドキのスタート…

f:id:mate_gai:20160730174417j:plain

 

みんなで、一つのドミノを作り、動かしました。

ざっくりいうと、「隣の人のドミノが倒れたことをトリガーにして、モータを回すプログラムを作り、モータが回ることによってビー玉が転がり、自分のドミノが倒れて隣の人につなげていく…」というイメージです。

 

ドミノの仕掛け。

f:id:mate_gai:20160730175336j:plain

年齢は小3~6で、初心者・経験者入り混じった状態です。私は初心者中心に今回フォローさせていただきました。

 

全体を俯瞰するとこんな感じ。

机をコの字型においてながーいドミノを作りました。

f:id:mate_gai:20160730174744j:plain

 

今回気づいたことは、初心者の子同士で「それどうやってやったの?」みたいな会話が積極的になされてて、各自個性のある見てて面白いプログラムができてたこと!

隣の席の人の仕事にも積極的に声掛けて、良いことは共有しあわなくては。(職業プログラマーにも通じることやで~!)

 

素晴らしいプログラムはどうやって作ったのか?みんなで見よう!

f:id:mate_gai:20160730175017j:plain

 

f:id:mate_gai:20160730175213j:plain

 

最後の仕掛けの風船が…私はビビりなので

超びっくりしました。(最後すごい驚きの表情で写真に納まってたのは内緒)

 

結構風船でかいw 仕掛け等いろいろ作ってくださったyokoさんありがとうございました。

f:id:mate_gai:20160730175305j:plain

 

途中、ドミノがうまく倒れない…ということは今回も発生はしてたのですが、ワイワイと楽しくやれたこと、満足度は高かったこと、なにより「他の子と積極的にコミュニケーションを取り合える雰囲気であったこと」がよかったな、と思っています。

 

私個人は、この機会を通して、「ハードを動かすプログラム」にまた関われてすごくうれしかったです。

いつも、ワークショップでは勇気と元気を貰えています。

毎回ワークショップで使用しているプログラム開発環境「Scratch」をもっともっと三重の老若男女に広めていきたいと思ってます。今後もいろいろ作って遊ぼう!

 

さーて。次回は秋に開催です。どんなことやろうかな??

 

初心者チーム担当で講師をしてくださったあおさん。

終始和やかに進められたのはあおさんの雰囲気のおかげと思います。

おつかれさまでした!

f:id:mate_gai:20160730180241j:plain

自家製ハーブオイル作ってみた

手軽に手に入る材料で、自家製ハーブオイル作ってみました。

ハーブオイルがあると、炒め物・カルパッチョ・サラダなどに利用でき

ハーブ独特の香りが食欲をそそり、レストラン風の味わいになりますよ。

台所のインテリアにしてもオサレ感が出ていいんじゃないかな。

f:id:mate_gai:20160730125317j:plain  ← なんだかオサレな人のキッチン風にならない?!

作り方は超手軽なのでレッツトライ。

◆用意するもの

1. 細長いガラス瓶…中をきれいに洗い、熱湯消毒しておきましょう。

2. ハーブ…お好みで。私は庭で育ててるのがローズマリーしかなかったので、今回はローズマリーのみ。

3.オリーブオイル…カルディで購入。

4.ブラックペッパー…2粒使用。カルディで購入。

5.鷹の爪…1本使用。某産直市場で購入。

※ニンニクひとかけらあるとよいのですが今回は手に入らなかったのでなし。

f:id:mate_gai:20160730124659j:plain

 

◆作り方

1.鷹の爪の種を取り除く

2.ハーブをよく洗い、キッチンペーパーで水けをとる。

3.ビンにハーブ、鷹の爪、ブラックペッパーを入れる。

f:id:mate_gai:20160730125155j:plain

4.オリーブオイルを注ぐ (ハーブが全部浸かっているように。空気に触れてるとカビの原因になる)

5.できあがり! 2~3週間常温で暗所に置いておくと、いい感じにエキスが出ていい味わいになります。

f:id:mate_gai:20160730125525j:plain

使用時も、ハーブが空気に触れないよう気を付けて使ってくださいね。

(3週間たったらハーブを取り出して、ハーブだけ別の料理に転用しちゃうという方法が私は楽です。)

 

最近のマイブームは冷や奴にハーブオイルと少しの塩をかけて食べることです。

家庭菜園でオサレな食卓が実現できて満足です。

 

参考:

kinarino.jp

cookpad.com

 

それでは、楽しいオサレ食卓生活を! 

ブログタイトル変更

ご無沙汰しております。

勤務先の都合により、ハードウェア制御に関する業務から離れることになりました。正直、ハードウェア制御に関する知識をもっとつけたい!もっとやりたい!というのがモチベーションだったので、残念な部分も大きかったです。

 

しかし、新しい業務では「効率を上げる」「業務が円滑にできる仕組みを作る」仕事ができるようです。それはそれで、「無駄な作業、理不尽なやり直しを強いられる不幸なプログラマー」を生み出さないような世界を作るお手伝いができるなら頑張りたいな…という思いにもなりました。

 

この業界、5年後、10年後、20年後はどうなっていくんだろう。

世間では、ときどきITに関する暗いニュースも出てきますが

以下のことが「当たり前に」できる世界になればいいな、

少なくとも私たちの会社・チームだけでもできるようにしておきたいと思っています。

・チーム間の風通しが良い。

 正しい/間違っている、わかる/わからない が言いやすい環境

・リーダーは各メンバーに出した作業指示・経過を短い時間で適切に確認できる。

 (リーダーの記憶力のみに頼らない仕組みを作る)

・無駄な作業、理不尽なやり直しがない。

・情報共有が適切に行われている。隣の人が何してるか知らないなんてことはない。

・「特定のメンバーしか作業できない」状況を減らす。

・メンバーの目標管理が適切に行われている。

 生活スタイルの変更や目標の変更などにより、

 「定型業務のみ」や、「キャリアアップを目指す方向」などのキャリアパスが柔軟に変えられる。 (メンバーの願いがかなうかどうかは、その人の貢献度/チーム事情次第の部分もあると思います)

・年齢、性別、国籍、学歴、等による思い込みを持たず、相互理解しあえる。

 

今後、チーム作りや業務改善等の勉強もして

「働きやすい仕組みづくり」をするお手伝いができればいいなと思います。

 

二人BBQしてきた(自作ロケットストーブを使った!)

みなさん。お花見は行かれましたか??

私は業務都合(出張)により職場のお花見に行けませんでした。

行けなかったのは残念ですが、業務都合だし、いろんなことを勉強させてもらってるので仕方ないこと。

ただ、しかーし…

 

お花見で使う予定だった「ロケットストーブ」は

使いたかったんだよぉ!!!

 

(写真は、私が自作したロケットストーブ)

f:id:mate_gai:20160410215703j:plain

 

という経緯で、主人を巻き込み「二人だけのBBQ」を敢行しました。

 

◆ロケットストーブとは??

以下のサイトをご参照ください!詳細な作り方も載ってますよ。

(私でも一人で作れたので、女性一人で作ることもじゅーぶん可能ですよ。)

www.15emit.net

 

私は、これを昨年作成し、仲間内でのBBQや伊勢ギーク・フェアで使ってました。

そこらへんの枝でお湯が沸かせるし・ペール缶の取っ手を持てば持ち運びも便利だしなかなか重宝してますよ。

もしもの時(災害時)にも使えるから、興味ある人は作ってみては?

 

◆やったこと

・ご飯を炊く

・スープを作る

・肉を焼く

 

(まず点火。右下の焚口に木の枝などの燃料を入れます。勢いよく炎が出てきたら調理開始〜!)

f:id:mate_gai:20160410220437j:plain

(ご飯を炊く。黒っぽく見えるのは塩昆布を入れてるから)

f:id:mate_gai:20160410220759j:plain

(スープを作る。手抜きするためスーパーでカット野菜とチューブ入りスープの素を購入し混ぜて煮込んでるだけ)

f:id:mate_gai:20160410220740j:plain

 

◆結果…

ごはん : 鍋の底が焦げた。火加減難しい。

スープ : 美味しかった♪ 花見で振る舞いたかったなー。

肉   : フライパンで焼いた。火加減もちょうどよく、美味しかった。

      (美味しいかどうかは買う肉に左右されるかな。)

 

全体  : 夫婦ともに、「火の世話」と「食べること」に夢中で…

食べ物の写真がない…

 

次回反省点 : せっかくフライパンがあるので、焼きそばに挑戦する。

        真冬に「ぜんざい作り」にチャレンジしなかったので、次回の冬にはやってみる。

        ちゃんと食べ物の写真をとるw

 

今年のアウトドア系イベントには、自作ロケットストーブを活用してみるのは如何でしょう???

 

Little Coder Mie プログラミングワークショップに行ってきた(講師初挑戦!)

3月中にブログ書きたかったけど、書けなかった…

 

新年度になっちゃいましたね!

私あまり実感ありません。

3〜現在にかけていろいろ失敗してて困ってます。

失敗と同時に、新たに学ぶこと・反省することもありました。

今後は同じ失敗しないように、改善しよう…と思っているところです。

 

本題の件ですが…

2016/3/27に行われた「Little Coder Mieプログラミングワークショップ」のお手伝いをさせていただきました。

ws.moyashi-koubou.com

今回のテーマは、「女の子限定」ということで、スタッフも女性陣中心にやってみました。その中で私は初めて講師をさせていただきました。

 

◆テーマについて

女の子が好きそうなネタ(プログラミングというものをちょっとやってみたいなーと思えるようなネタ)ってなんだろう??というところから考えました。

物語を作ること、着せ替え…などいろいろ考えました。最終的には「LEDがピカピカ光るのって、テンション上がって楽しいんじゃないかな?」と思い、LEDをテーマとしました。(LED、という単語は一般的には伝わりにくいと考え、今回は「ランプ」と表記することにしました。)

 

◆ランプピカピカ に必要なもの

a. なのぼ〜ど(センサーボード)

 ↓ 以下のサイトで買えますよ!

 なのぼ~ど NanoBoard AG « ちっちゃいものくらぶ

b. 100均で購入できるLEDキャンドル

 

なのぼ〜どは、Little Coder Mieで所持しているものを使用。

LEDキャンドルについては、スタッフの方に人数分用意していただき

なのぼーどと接続できるように、線をつけていただきました。(^人^)

 

◆子どもたちにやってもらったこと

LEDキャンドルをベースに、好きなように飾り付け・工作をしてもらいました。

(工作スペース。スタッフさんに用意してもらったアイテムが可愛い)

f:id:mate_gai:20160403180909j:plain

 

私は、LEDを点灯させるプログラムの書き方を説明しました。

(初心者の子達には、Scratch(子ども向け開発環境)の使い方、基本的な猫を動かす動作から説明)

 

Scratch(子ども向け開発環境)とはこんな感じ。日本語のブロックでプログラム組めるんですよ。

f:id:mate_gai:20160403175949j:plain

 

↓Scratchで遊んでみたい方、世界中の人がScratchで作ったプログラムを見たい方はこちらもどうぞ!

scratch.mit.edu

 

前半はScratch経験者の子になのぼ〜どを使ったプログラムの書き方を説明。

後半はScratch初心者の子に簡単なプログラミングと、考え方を説明しました。

 

◆難しい!!!

前日に、主人の前でリハーサルを実施していたのですが

思った以上に現実は難しい!

機材トラブルや、参加者の子の興味・関心に合わせて臨機応変に対応しました。

(工作を先にやりたい子・プログラムを先にやりたい子の両方がいた)

 

また、前回の反省を生かし、「XXするとXXする」のXXの部分がイメージしやすくなるように自作のScratchカードを作ってみましたが…

 

(作ったScratchカードと、ワークシート。裏にプログラム(実装方法の例)を書きました。

トリガーにあたる部分を赤、LEDに関するものを青、画面に関するものを緑に色分けして作成し、子どもたちには各種類1枚づつを手にとってもらいました。)

f:id:mate_gai:20160403180118j:plain

 f:id:mate_gai:20160403180128j:plain

初心者の子には難易度が高すぎる (・_・;

 

周りのスタッフの方々に助けていただきましたが

いきなり スプライトを別途作る…座標を使う…など、

難しいカードを含めた状態で配布してしまいました。ごめんなさい。 

 

次回はもっと簡単でわかりやすいプログラムを作るコツを

Scratchカードに貯めていきたいな、と反省しています。

 

(初心者の子に書いてもらったアンケートも総じて「少し難しかった」という感想…確かに難しかったね…その中でもコメント欄書いてくれた子が多くて励まされました。ごめんなさいそしてありがとう。プログラミング楽しいな、と思ってもらえたら私もすごく嬉しいです。)

f:id:mate_gai:20160403181518j:plain

 

◆最終的には…(成果物)

ワークショップ終盤、経験者の子3名に自分の作ったプログラムの発表をしてもらいました。みんなそれぞれに工夫がしてあってスゴい!

「作ったものをみんなに見せる(人に説明する)」という経験も大事だと思ってますのでどんどんやっていってほしいなー。

 

(LEDの光り方(明るさ)を少しづつ変える、音に合わせて画面の中のキャラクターの動きを変える…などといった工夫が伝わってきて嬉しい。各自、ランプも可愛く装飾されています)

f:id:mate_gai:20160403175635j:plain

 

当日はZTV(ケーブルテレビ)さんの取材もありました。

今回前もって言ってあったので前回みたいなソワソワした空気にあまりならなかったような…

f:id:mate_gai:20160403180811j:plain

 

 

◆次回のお知らせ!

次回は7月。

また、なのぼ〜ど使うよ!今度はモーターを動かすプログラムを作るのでお楽しみに♪

f:id:mate_gai:20160403174713j:plain

 

◆おまけ

こんなのつくりました。(iPhoneで本ブログ見てる人はパソコンで見てね)

 

Scratch 2.0はWeb上でプログラムが作れる上に、作ったものを公開して

遠くの友達やおじいちゃん、おばあちゃんにも見せることができるので

オススメです。

ぜひ作ったプログラムをどんどん公開してもらいたいなーと思います。

人の作ったプログラムを「中身どうなってるんだろう?」って見てみるのも上達への近道ですよー。

 

これからも多くの大人・子どもたちと、

いろんなプログラムに出会いたいなと思いました(^o^) 

おうちでも、プログラミング楽しんでもらえれば嬉しいです!