読者です 読者をやめる 読者になる 読者になる

Haruyuki Mohri

毛利春幸のブログです。

エラー(アクティブ) E1696 ソース ファイルを開けません "SDKDDKVer.h"

VC2017で Linux環境作った後、WInのコンソールプロジェクトを新たに作ると 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 エラー(アクティブ) E1696 ソース ファイルを開けません "SDKDDKVer.h" test01 c : \vs2017\cpp_win\test01\test01\ta…

C++BuilderでDelphiのジェネリクスCollections TDictionary__2 などを使う場合

C++BuilderでDelphiのジェネリクスCollections TDictionary__2などを使う場合 How to Handle Delphi Generics in C++ - RAD Studio 上記URLにもありますが TList__1<TObject* >*こんなのを作るとilink32, ilink64エラーになります [ilink32 Error] Error: Unresolved e</tobject*>…

How to use TADOQuery* with C++Builder Console

TADOQueryを使うためのヘッダー #include <Data.DB.hpp> #include <Data.Win.ADODB.hpp> インスタンスを作成 int _tmain(int argc, _TCHAR* argv[]) { TADOQuery* a=new TADOQuery(nullptr); } 実行してもリンクエラーになります [ilink64 エラー] Error: Unresolved external 'vtable for Dat</data.win.adodb.hpp></data.db.hpp>…

bcc32c(clang) std::round()でエラー 回避するには

bcc32c(clang) std::round()でエラー bcc32cではstd:: round()下記コードでエラーが出ます(bcc64は問題なし) 10.1 Berlin Update 2でもまだ同じく直ってません several unresolved functions declared in <math.h> unsigned int float2int(float in) { unsigned int </math.h>…

Visual C++ 2015 cpprestsdkを使ってREST受信

Visual C++ 2015 cpprestsdkを使ってREST受信する マイクロソフトさんがgithubで公開しているREST SDKです github.com/Microsoft/cpprestsdk NuGetからcpprestsdkが取れます How to use the C Rest SDK NuGet package · Microsoft/cpprestsdk Wiki · GitHub …

std::wstring to byte[]

VC++2015の場合 #include "stdafx.h" #include <string> #include <iostream> #include <memory> #include <sstream> #include <locale> using Byte = char; using PByte = std::shared_ptr<Byte>; PByte WstrToChar(std::wstring& s1) { unsigned int iLength = s1.length() * 2 + 1; PByte result_{new Byte[</byte></locale></sstream></memory></iostream></string>…

Using The FireMonkey Save State(OnSaveState) , TFileStream and TBinaryReader, TBinaryWriter

The FireMonkey TForm OnSaveState events is implemented. http://docwiki.embarcadero.com/RADStudio/Berlin/en/FireMonkey_Save_State OnSaveState is a TForm of events. OnSaveState is very useful in mobile. It is, because generated at the time o…

Berlin C++11 lambdaでstd::function<>とTFunc<>両方使う方法

std::function<>とTFunc<>両方を同じ関数でセットできるようにする。 std::function<>用 #include <functional> template<typename T, bool=true > int __fastcall func2(T fn1, int i1, int i2) { return fn1(i1, i2); } TFunc<>用 template<typename T, bool=false> int __fastcall func2(_di_TFunc__3<int, int, int > fn1, int i1, int</int,></typename></typename></functional>…

Let template of TNotifyEvent<TObject* >

TNotifyEvent is without the need for templates. Because the event template unaware. typedef void __fastcall (__closure *TNotifyEvent)(System::TObject* Sender); OK remain now. Making a template with TNotifyEvent TNotifyEvent is set to TNoti…

10.1 Berlin WebBroker 文字列をSJISにする

10.1 Berlin WebBroker TWebResponse いつからなのかWebBrokerのTWebResponse.Contentを返すとUTF8になっている。 Response.Content := '文字列' SJISで返す簡単な方法 昔からのインターフェイスでSJISを返したい場合 {Delphiの場合} Response.ContentStream…

TJSONObject::ParseJSONValue()で文字列からTJSONArrayにする

TJSONObject::ParseJSONValue() 文字列をTJSONObjectなどに変換してくれる。 TJSONArrayにも変換可能。 JSONファイル //こんなJSONがあったとして UnicodeString us = L"[{\"Key\":\"00\",\"n\":\"会社名\"},{\"Key\":\"01\",\"n\":\"ABC社\"}]"; Delphiの場…

TNetHTTPClient, TNetHTTPRequest Post

TNetHTTPClient, TNetHTTPRequest Post dfmファイル object Form1: TForm1 Caption = 'Form1' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = Fals…

phpで(TSV)タブ区切りファイルを読む

入力タブ区切りファイル a \t b \t c \t d phpコード eof()) { $line_= $file_->fgetcsv("\t"); if (! empty($line_[0])) { echo $line_[0]; echo $line_[1]; echo $line_[2]; echo $line_[3] . "\n"; } } ?>

Amazon Linux(EC2)のUTC時間を日本時間(JST)に変更

zoneinfo/Japanファイルをlocaltimeにコピーする mv /etc/localtime /etc/localtime.1 cp /usr/share/zoneinfo/Japan /etc/localtime これで再起動しなくても日本時間(JST)になりました

Ubuntu 15.10に Firebird-3.0.0をインストール

Firebird-3.0ダウンロード先 firebirdsql.org/ #Firebird-3.0.0.32483-0.amd64.tar.gzをダウンロードする wget https://sourceforge.net/projects/firebird/files/firebird-linux-amd64/3.0-Release/Firebird-3.0.0.32483-0.amd64.tar.gz Firebird-3.0.0.324…

REST response is JSON. Convert it to TSV.

JSON to TSV

Android How to get current ipaddress, submask and gateway. C++Builder

Original information site. Embarcadero Discussion Forums: Delphi XE5 - JWiFiManager Interface ... stackoverflow.com The source of stackoverflow.com, as it is hpp file conversion. Opening the option setting of the project. Status access Wi-…

iOS Custom URL Schemes

Create a custom URL schema for own iOS app. 1. Writing in info.plist. <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> <key>CFBundleURLName</key> <string>CURLSchema</string> </dict> </array> iosdevelopertips.com qiita.com 2. C++Builder …

How to use the UIButton 10 Seattle(iOS)

It is possible to display a UIButton(iOS) in C++Builder. developer.apple.com sharedApplication()の中の、_di_NSArray __cdecl windows() windows will have in the NSArray in sharedApplication. When taking out a single object in this is UIWindo…

TAlphaColor to UIColor(iOS) Converter

UIColor is the color object for iOS. C++Builder use TAlphaColor.It must be converted. TAlphaColor to UIColor Converter. Make the function #include <iOSapi.UIKit.hpp> //This Convert from TAlphaColor to UIColor _di_UIColor AlphaColorToUIColor(TAlphaColor&& co</iosapi.uikit.hpp>…

NSMutableDictionaryを10Seattleで使う。

mojelder.hatenablog.com 前回NSMutableArrayを使ったコードでオブジェクトをNSMutableDictionaryでラップする。 void __fastcall TForm1::Button1Click(TObject *Sender) { _di_NSMutableDictionary dic = TNSMutableDictionary::Create(); dic->setObject(…

Try NSMutableArray using 10Seattle

the NSMutableArray of iOS I use in C++Builder 10Seattle. It uses the iOS in C++Builder. NSMutableArray is possible like append or remove objects. A class to a more dynamic process NSArray. include #include <Macapi.ObjectiveC.hpp> #include <Macapi.Helpers.hpp> Two of the included is</macapi.helpers.hpp></macapi.objectivec.hpp>…

C++Builder(iOS9) - Objective-Cのクラスとメソッドを呼び出す

mojelder.hatenablog.com Cocoa Touch Static Libraryの作り方(Objective-C) - (Delphi, C++Builder)Haruyuki Mohri 上記で作成した自作Cocoa Touch Static Library(libMo201601Lib.a)をC++Builderで呼び出す 少しズルい方法ですが 以前に作成したuLib_iOSCl…

Delphi(iOS) - 自作したObjective-Cのクラスとメソッドを呼び出す

Objective-Cで自作したCocoa Touch Static Library(*.a)を呼び出す mojelder.hatenablog.com 前回Cocoa Touch Static Libraryの作り方を記載致しました。 作成した*.aファイルをDelphiから呼ぶ方法です。 1.Delphi Fire Monkeyの新規プロジェクトを作成 TBut…

Cocoa Touch Static Libraryの作り方(Objective-C)

Xcode version7.2を使ってCocoa Touch Static Libraryを作る。 1.File->New->Projectで 「iOS Framework & Library」を選択する "Cocoa Touch Static Library"を選択して"Next" Product Name, Organization Name, Organization Identifierなどを入れて"Next"…

メタプログラミング File Monkey mpl::vectorを使う

boost::mpl を使ってFile MonkeyやVCLのDelphiオブジェクトをメタプログラミング実装する mpl::vector, mpl::at_c, mpl::if_cを使った。 インクルード #include <fmx.h> #pragma hdrstop #include "Unit1.h" //---------------------------------------------------</fmx.h>…

Delphi版 Box2D 2D物理演算エンジン 基礎 入門

qiita.com Delphi XE8 から Box2Dが標準で入っています。 以前までは 下記のブログのように「box2d-delphi」を組込む必要がありました。 Team Japan » C++Builder XE2 - FireMonkey 2D/HDアプリに Box2D を組み込む Team Japan » Delphi XE2 - FireMonkey 2D…

C++Builder 10 Seattleで picojson.h

picojson.hを使ってみました。 kazuho/picojson · GitHub C++BuilderなのでSystem.JSON.TJSONObjectがあるのですが.... "picojson.h"は ヘッダファイルだけなので楽です std::stringしか使えないのですがAnsiStringにコピーして UnicodeStringにしてやりゃUn…

Amazon Kindle ADB 接続 Fireタブレット 8GByte 7インチ

2015年秋にAmazon Kindle Fire 7インチのタブレット が8980円で発売されました。 Amazonプライム会員は 4980円で購入可能です。 www.amazon.co.jp (アフェリのコードは入ってません。) 先日、7インチ FireタブレットをAmazonから4980円で購入 早速ADB接続で…

10 Seattle UnicodeString To std::wstring in Android/iOS

10Seattle Android/iOS String.w_str() is WideChar* typedef UnicodeString String; WideChar is 2Byte. In the case of iOS/Android std::wstring.c_str() is 4byte wchar_t* directly copy not possible to UnicodeString from std::wstring. basic_strin…

TMesh

Reference edn.embarcadero.com edn.embarcadero.com luxidea.net luxidea.net WireFrame Tutorial www.youtube.com

Drawing a line with C++Builder 10Seattle

Drawing a line with 10Seattle FireMonkey. void __fastcall TForm1::FormPaint(TObject *Sender, TCanvas *Canvas, const TRectF &ARect) { Canvas->BeginScene(); Canvas->Clear(0xFFF0F0F0); TPointF startp = TPointF(0,this->Height/2); TPointF stopp…

C++Builder 10Seattle in bson How to use?

qiita.com I wrote how to use bson in delphi. The following json to bson Converter in C++Builder 10 Seattle. Specification of TBsonWriter has been added from 10 Seattle. So I used the TBsonWriter. void __fastcall TForm1::Button1Click(TObjec…

Implement Parallel::For() in lambda C++Builder 10 Seattle

Last time, Parallel::For() in the lambda is described as impossible. mojelder.hatenablog.com My understanding is, it was insufficient. In DelphiInterface<TProc__1 > , it is possible to cast. TParallel::For(0, 0, 1, (DelphiInterface<TProc__1<int> >)[](int i){} ); B</tproc__1<int></tproc__1>…

Implement Parallel::For() in C++Builder 10 Seattle

New project in Console application. This was parallel processing SQL insert using Parallel::For(). Database using Microsoft SQL Server 2012. Connection with TADOQuery components. C++Builder was using C++11 Win32 compiler. Lambda did not us…

It seems use the GetFirstWeekday instead of C++Builder 10 Seattle in GetLocaleFirstDayOfWeek.

GetLocaleFirstDayOfWeek is deprecated. A new method called GetFirstWeekday has been added. in 10 Seattle I tried to use. void __fastcall TForm1::Button1Click(TObject *Sender) { _di_IFMXLocaleService ps; ps = TPlatformServices::Current->Get…

lua53.dll to execute in C++Builder.

lua53.dll to execute in C++Builder(Win64). http://luabinaries.sourceforge.net/download.html lua-5.3_Win64_dllw4_lib.zip Download from the above URL. The lua-5.3_Win64_dllw4_lib.zip exists dll and include files. new project, it will through…

Try TNetHTTPClient in C++Builder XE8

The following URL, we were referring. TNetHTTPRequest/TNetHTTPClientでWebサーバーにアクセスする - 山本隆の開発日誌www.gesource.jp Again, it is Yamamoto Takashi san blog. Try TNetHTTPClient in C++Builder XE8 void __fastcall TForm1::Button1C…

high-resolution stopwatch implementation. in C++Builder

TStopwatch is high-resolution stopwatch. This is present in the version of the old. Unfortunately, I did not know. The header, it will include. #include <System.Diagnostics.hpp> Implementation TStopwatch stopwatch = TStopwatch::Create(); stopwatch.Start(); Sleep(</system.diagnostics.hpp>…

It is described in C++Builder implementation using TStack

TStack is generics class for delphi. But, try to implemented in C++Builder. In the case of C++Builder there is a std::stack. Towards its std::stack is, is recommended. https://gist.github.com/mojeld/424e10acf586549304e5 //Implementation us…

Use the "TAggregatedObject(IInterface)" in "C++Builder"

"TAggregatedObject" because it is for Delphi, Use the "TCppAggregatedObject" in the case of "C++Builder". https://gist.github.com/mojeld/82cba42c0679ddbefc89 How to use in Delphi, please look at the blog of Hosokawa san(Delphi MVP). For "T…

tried the "std::thread". using a "TRESTClient" of "C++Builder"

I used the "std::thread" in C++Builder. This version is "XE8". Previous How to use "async" and "future<>" in XE8(Win64) - (Delphi, C++Builder)Haruyuki Mohri I use them the "TTimer *" to watch the end of a "std::thread". "TTimer *" is the m…

Try SFINAE in C++Builder XE8

I used the previous try boost::asio. This program to check whether the class there is a "TObject". #include <System.Generics.Collections.hpp> // template <class T> bool check_1(typename T::TObject*) { return true; } template <class T> constexpr bool check_1(...) { return false; } template <class T></class></class></class></system.generics.collections.hpp>…

Use the C++BuilderXE8(win64) http connection "boost::asio"

http connection using boost::asio I used the previous TIdHTTP. So, we use the asio. How to use "async" and "future<>" in XE8(Win64) - (Delphi, C++Builder)Haruyuki Mohri C++Builder XE8(Win64) http connection "boost::asio" · GitHub void __fa…

How to use "async" and "future<>" in XE8(Win64)

Use the "async", how to get the http data asynchronously. "C++Builder XE8" is only in Win64, are supported C++11. So, "future<>" it can also be used. //--------------------------------------------------------------------------- void __fast…

In "C++Builder", use the "boost::any"

How to use with "C++Builder FireMonkey", "boost::any". a method using "std::vector<>" I introduced previous. With the "boost::any", it can be utilized, such as the "void *". #include <boost/any.hpp> void __fastcall TForm1::FormCreate(TObject *Sender) { b</boost/any.hpp>…

XE8 Use TCppInterfacedObject IInterface

Using the "C++Builder XE8" in the Delphi "IInterface". Here, the description that of Hosokawa san is "Delphi IInterface". .delphi maniacs: Delphi の Interface Rewrite in this the "C++ Builder". The "IInterface", write the inherited class. …

C++Builder XE8 FireMonkey(32Bit) Form->Sort() template

Was using a "lambda" was described in the previous 64Bit "sort program". C++Builder XE8(64Bit) Form->Sort() examples. (lambda expression) - (Delphi, C++Builder)Haruyuki Mohri It will be replaced for "32bit compiler". XE8 edition "32Bit com…

Visual Studio 2015(C#)でAndroid開発 Xamarinを試してみました。

Visual Studio 2015 がリリースされたので早速インストールしました。 フルインストールだと26GByteほど必要みたいです スマホ開発用にXamarinが入っています iOSやAndroid開発環境で Xamarinが使えます。 新規プロジェクトC#で Androidアプリを作ってみまし…

C++Builder XE8(64Bit) Form->Sort() examples. (lambda expression)

描画順序 (Z オーダー) [Delphi Programming] To describe the DEKOsan article in C++ C++Builder(FireMonkey) of the Sort() method "virtual void __fastcall Sort (_di_TFmxObjectSortCompare Compare);" I have received advice from @owlsperspective …