13
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C++Builder Starter (無料版)

Last updated at Posted at 2018-03-02
スクリーンショット 2018-03-02 11.13.22.png

追記:2018年07月18日から、pro版相当の機能が使えるCommunity Editionが配布されました。
https://www.embarcadero.com/jp/products/cbuilder/starter

無料版はWindows32bitしか開発出来ませんが、C++を使った開発が出来るツールです。
以前に独断と偏見で Visual C++ vs C++Builder - Qiitaという記事を書いています。

ちなみに、iOSとAndroidはProfessionalとMobileAddOnパッケージを購入しないといけないので20万近く 20万円以上かかります。
現在はProfessional版だけでモバイル開発出来るようです。
C++Builder 10.2.3からProfessional版には標準でモバイル開発機能が搭載されました。
Linuxはさらに高額なEnterprise以上のエディションじゃないと開発出来ません。

ダウンロードとインストール

ダウンロードにはユーザー登録の手続きが必要です。

C++Builder Starter - Embarcadero Website

手続きが終わるとメールでSerial Number等が書かれたものが送られてきて、そこにあるURLからでもダウンロード出来るので、それを実行してインストール作業をします。

0.anv8co0tgru.jpg

インストールが完了すると、windows software development kitのインストールが開始されるので、インストールしてください。

0.2kmpwi9sab7.jpg

最初にしておきたい設定

テーマ

10.2.2からツールの色合いが変更かのうになりました。濃色にしてますが、本バージョンからの追加だからか、一部色がおかしなことになりますし、一旦描画してから色を変えている感じがしてチラツキがありますので、淡色の方が最初は良いかもしれません。

0.bvxsisoeys8.png

支援機能

C++BuilderはVisual Studioに比べて非常に重たいと思います。特に、入力支援機能関係でものすごくディスクアクセスが発生している感じがします。
ですので、入力支援機能は切ったほうが良いです。
切ったとしても、任意で支援機能を使うことが出来ます。
ツール->オプション から
エディタ設定->支援機能
で、どうしても必要な機能以外はチェックを外します。

0.cn1pu8yyc7u.png

任意で支援機能を使う。

コード入力中にctrl + スペースで任意のタイミングで支援機能を使えます。

試しに書類を作る

FMXとVCL

C++Builder(と、Delphi)は、GUIのフレームワークとしてFireMonkey(FMX)とVCLがあります。
VCLは昔からあるWindows用のフレームワークで、FMXは新しいマルチプラットフォーム用のフレームワークです。
今回はStarterですので、どっちにしても32bitしか開発出来ないのでどっちでもいいですが、せっかくなのでFMXで開発してみましょう。
ファイル->新規作成->マルチデバイスアプリケーション

0.mvpovd63pq9.png

空のアプリケーションを選択します。

0.2g95pwk4m2l.png

すると、キャンバスが現れたかと思います。

0.k9yth140bqd.png

ツールの数が多い

C++Builderの特徴として、とにかくツールの数が多いというのがあります。
標準のツールだけでもかなりの数があります。
Pro版なら表グラフやデータベースのアクセス機能なんかもあります。
下の画像はツールパレットのカテゴリのスクリーンショットで、左がStarter、右がProfessionalです。(Professional版のほうは、以前から使ってるやつなので、無料のツールをいくつか入れてますが・・・)

0.3dfikxll5fi.png

でも

Professional版についているFireDACというツール。このツールは簡単にデータベースへアクセス出来るようにするツールで、たしかに使いやすいツールなのですが、FireDAC Client/Server Add-On Packを追加で購入しなければSQLiteやInterBase等の一部のデータベースしか使えません。
私はODBCの接続とかにサードパーティ製のUniDACというのを使ってます。
有料ですが、FireDACを購入するよりずっと安いですし、コードは似た作りになってます。

Universal Data Access Components (UniDAC) for Delphi

ちなみに、Pro版以上にあるdbGOでADOが出来ますのでODBC接続が使えます。
https://qiita.com/mm_sys/items/a6dd8edc9ebfb3de31ea

プロジェクトフォルダは作ってくれない

C++BuilderはVisualStudioのようにプロジェクトフォルダを作ってくれません。
ですので、書類を展開したら、
ファイル->すべて保存
で、プロジェクトのフォルダをつくった上で、そこに全て保存しましょう。

プロジェクトの設定

コンパイラを変更

C++Builder(とDelphi)は、元々買収したボーランド社のコンパイラを使ってましたが、最近のバージョンではClangコンパイラを拡張したものを選択できます。

しかし、デフォルトではなぜか古い方が使用されるようになってますので、プロジェクトの設定でC++コンパイラ->従来のコンパイラ->従来のBorlandコンパイラを使用のチェックを外しましょう。

0.l859gwfpyk9.png

ちなみに、ボーランドコンパイラはC++03までしか対応してないようです。

動的リンク

プロジェクトの設定で、Releaseの設定にC++リンカ->動的RTLとリンクすると、パッケージ->実行時パッケージ->実行時パッケージを使ってリンクのチェックをはずすと配布用に出来ます。
(ちなみに、コンパイラの不具合でexeを起動してもborlndmm.dllが見つからなかったため、このアプリケーションを開始できませんでした。 と表示されることがありますが、exeと同じディレクトリに同名のファイルのコピーを置けば動作します。
そのファイルはC:\Program Files (x86)\Embarcadero\Studio\(バージョン番号)\binにあります。

フォームに部品を貼り付ける

先程作った書類の、フォーム作成画面で、ツールパレットからTButton、TStyleBook、TCheckBoxを貼り付けてみます。
検索ボックスから検索すればすぐ出てきます。

0.f8i281tlt9w.jpg

スタイルを変更する

作成したexeのGUIの見た目を変更してみます。
貼り付けたTStyleBookコンポーネントをダブルクリックしてスタイル編集画面に移動します。
移動したら、左上あたりにあるフォルダのアイコンを選択。

0.414d689qslh.png

選択すると、ファイル選択ダイアログが表示されるので、C:\Users\Public\Documents\Embarcadero\Studio\19.0\Stylesにあるスタイルのセットのどれかを選択します。今回はDark.styleを選択しました。
注意すべきは、パブリックユーザのドキュメントにあるというところでしょうか。

スタイルを選択したら、ビューウィンドウを閉じようとします。すると、適用するか聞いてくるので、「はい」を選びましょう。

簡単にUIの印象を変える方法 - Styleの適用 - FireMonkey と VCL [Japan] - Community Blogs - Embarcadero Community

0.uuv865ejt7p.png

TStyleBookオブジェクトを選択して、UseStyleManagerにチェックを入れます。

0.4lqjxml6t0e.png

ビルド

実行->実行を選択すると、.exeファイルが出力され、プログラムが実行されます。
TStyleBookコンポーネントでDarkテーマが使われて出力したアプリケーションのデザインが変更されています。

0.q4ozjhhidxn.png

コンポーネントを貼り付けてプロパティを変えて、必要なところはC++を記述する。
短時間で見た目の良いアプリケーションを作成出来るので便利だと思います。

GetItパッケージ

機能拡張のパッケージ管理機能です。
ツール->GetItパッケージマネージャを選択して管理します。

注意

ウィルス対策ソフトがGetItパッケージをブロックすることが有ります。ウィルス対策ソフトの設定を変えてインストールすることをおすすめします。

0.255lxs13mrw.png

CodeSite Expressを使ってみる

GetItパッケージでCodeSiteを探してインストールしてください。
スクリーンショット 2018-03-09 23.08.15.png
スクリーンショット 2018-03-09 23.10.36.png

CodeSiteはデバッグに使うロギングシステムです。
実際に使ってみましょう。

インストールが完了したら、先程作ったプロジェクトのUnit1.hを開いて#includeClassの間に以下のような記載を追加します。

unit.h
...//略
# include <FMX.Edit.hpp>
# include <FMX.StdCtrls.hpp>
# include <FMX.Types.hpp>
# ↓このへんに追加
# include "CodeSiteLogging.hpp"
# pragma comment(lib,"CodeSiteExpressPkg.lib")
# pragma link "CodeSiteLogging"
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
...//略

次にフォーム(Unit1.fmx)を開いて貼り付けておいたTButtonコンポーネント(Button1)をボタンをダブルクリックするか、選択した状態でイベントのOnClickをダブルクリックしてイベントを作成してください。

スクリーンショット 2018-03-09 23.14.21.png

作ったら、その中に以下のように追記してください。

Unit1.cpp
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// ↓これを記入する
	CodeSite->Send(L"test");
}
//---------------------------------------------------------------------------

これで実行すると、アクセスを求めてくることがありますが、許可を出してやれば、入力した内容がコンソールのように表示されます。
一時的な計算などのコンソール表示を使いたいときはこの方法を使うと良いでしょう。
ちなみに、文字列だけでなく時間やboolとか色々表示出来ます。

スクリーンショット 2018-03-09 23.24.44.png スクリーンショット 2018-03-09 23.25.28.png

その他

不要なアクションは保存時に削除される

VisualC++と違って、例えば貼り付けたTButtonコンポーネントをダブルクリックすると、Clickアクションの実装がすぐに出来ますが、何も記述しないでそのままファイルを上書きすると、使われていないアクションのコードが自動で削除されます。
コメントや実装の中身を記述していたら削除されません。

コードと構成がシンプル

実際のヘッダと実装、ファイル構成を見てみると非情にシンプルになっています。

文字列

UnicodeStringをメインで使いながら、必要に応じて.c_str()メソッドを使って外部APIとやりとりします。
マルチバイトの処理は互換性のあるAnsiStringを使います。
このUnicodeStringAnsiStringは非常に強力で、Visual C++のように文字列の扱いで迷うことがほとんどありません。

13
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?