トップページtech
9コメント2KB

DelphiとC++Builder対応表

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
とりあえずやってみます。
両方を使ってる人は少ないと思いますのでお邪魔にならないよう
30番目まではsageで書きます。
00021NGNG
string は C++ Builderは AnsiString 型になります

delphi:
 pos(s,n)

Builder
 s.Pos(n)
00031NGNG
書式付なやりかた

delphi:
s:=format('%d',[n]);

Builder
 { VarRec v[] = {n};
 s.Format("%d", v , ARRAYSIZE(v));
 }

この場合はCスタイルで  char buf[512]; sprintf(buf,"%d",n); として sに代入も
00041NGNG
たとえば、文字列処理を2段に行う場合、

delphi:
 Trim(Copy(s,1,n-1));

Builder
 s.SubString(1,n-1) .Trim();
0005デフォルトの名無しさんNGNG
http://www.borland.co.jp/tips/cbuilder/cb001/index.html
00061NGNG

delphi
 try
  処理A
 finally
  処理B
 end;


builder
 try{
  処理A
 }__finally {
  処理B
 }

ただし、__finallyは C++Builderだけで拡張されたキーワードなので注意
00071NGNG
WindowsAPIを直接呼ぶ方法
例;SetFocusはフォームメソッドでもあるので、APIのSetFocusを呼ぶには

Delphi
 Uses に Windowsがあるのを確認
Windows.SetFocus( (Controls[ItemIndex]as TRadioButton).Handle);

C++Builder
 <Windows.Hpp>には 型の定義はあるけど APIの定義は無いので
  <windows.h>をインクルードする。 windowsには名前空間はついてないので
 ::SetFocus(dynamic_cast<TRadioButton &> (*w.Controls[w.ItemIndex] ).Handle);
 のように、する
0008デフォルトの名無しさんNGNG
Delphiで文字列を切り出すとき漢字かどうかの判断をしたいのですが、どなたか教えてくれませんか?
0009デフォルトの名無しさんNGNG
ByteTypeが1文字目がmbLeadByteを返し2文字目がmbTrailByte
を返せばそれは紛れも無く漢字です。

しかし、スレ違いです。
■ このスレッドは過去ログ倉庫に格納されています