CodeGearの日本人スタッフによるブログ
Log On
 
 
 
 

Archive for February, 2008

dbExpress4のServerCharSetプロパティ

高橋(智)です。
RAD Studio 2007 には、Unicodeに対応したdbExpressドライバと、TWideStringFieldに対応したデータセットが搭載されています。(※BDS2006では、dbGO(ADO)だけがUnicodeに対応していました)
しかし、MySQLやInterBaseなどに接続する際に、今回紹介する「ServerCharSetプロパティ」を「TSQLConnectionのParamsプロパティ」に明示的に追加する必要があります。この「ServerCharSetプロパティ」はオンラインマニュアルには詳しい記載はありませんが、ドライバの設定情報が収められている「C:\Users\Public\Documents\RAD Studio\dbExpress\dbxdrivers.ini」や「C:\Documnents and Settings\All Users\Documents\RAD Studio\dbExpress\dbxdrivers.ini」には記載されています。
たとえば、MySQL5.0.xのutf8テーブルにアクセスする場合は、予め[エディタ(C)…]ボタンをクリックして、「ServerCharSet=utf8」というパラメータを追加する必要があります。

その他、InterBaseのUnicodeテーブルにアクセスする場合は、やはり予め[エディタ(C)…]ボタンをクリックして、「ServerCharSet=UTF8」または「ServerCharSet=UNICODE_FSS」 というパラメータを追加する必要があります。

この後、データセットにフィールドを追加すると型として「TWideStringField」が認識されるようになります。

Share This | Email this page to a friend

Posted by Tomohiro Takahashi on February 26th, 2008 under Non Tech, Database, C++, Delphi | Comment now »

デベロッパーキャンプ3年目に向けて

2006年5月に初開催して以来、デベロッパーキャンプも次回で3年目に突入します。IDE事業の分離発表後、CodeGear(当時DevCo)の現在を定期的にお伝えし、当時欠けていた技術情報の提供を継続することを主眼において、ほぼ3ヶ月に1回開催するという取り組みを続けてきました(なぜ3ヶ月に1回なのかについては、以前、こちらに理由をまとめています)。
その間、CodeGearとしての情報提供のインフラが整い、活動そのものも軌道に乗り始め、デベロッパーキャンプの位置づけも変化しつつあると感じています。
今回、3年目を迎えるデベロッパーキャンプについて、いくつかの改善を検討し、より皆さんのニーズに応えるイベントへと成長させていきたいと考えています。私が現在認識している改善ポイントを以下に挙げます。

全体か各論か?:CodeGearの活動が軌道に乗ってくることによって、全体セッションで触れる話題よりも、細かい話が多くなりつつあります。これには、CodeGear側の情報発信内容にも再考の余地があると思っていますが、全体セッションのボリュームがどの程度必要なのか、検討する必要があると思っています。ちなみに、全体セッションの参加率は、技術セッション1部屋分の130%ぐらいで、2部屋ぶち抜きのセッション会場を用意するのは、コスト的にも効率的ではないと考えています。
より専門的なセッション:パワーユーザーの方は、より専門的かつ実用的な技術セッションを希望されています。ひょっとすると現在のように、100名規模の出席者を想定したセッション会場よりも、より細かい分科会のほうが、要望に合うのかもしれません。ただ、講師リソースも限られていますので、これも解決しなければならない課題です。
チュートリアル:一方、セッション内容が難しすぎるというご意見もいただいています。両方の要望に応えるには、セッション内容は両極化(専門セッションとチュートリアル)するべきなのかもしれません。
ハンズオン:チュートリアルの延長として、実際にPCを使って演習にトライするようなセッションも考えられます。これを行う場合の課題としては、PCをどう用意するかという点です。こちらであらかじめセットアップしたPCを会場に用意するという方法もありますが、現在の無料参加を維持して、歩留まり率を考慮した場合、なかなか余剰PC分までを考慮して準備することは難しいと考えます。ひとつのアイデアとして、あらかじめセットアップしたPCをご自身で持ち込んでいただくという方法があります。他社さんのイベントでも実施している方法ですが、これが妥当ならば、電源の問題だけですので実現可能性は一気に高まると考えます。
リアル×バーチャル:生のイベントの宿命として、地理的条件によってご参加いただけない方がいるということがあります。以前実施したDelphi Hourは、リアルのイベントとバーチャルを同時に行う取り組みでした。これと同じような方式で、デベロッパーキャンプのいずれかのセッションをオンライン中継することも可能です。ただ、多くの方が、ビジネスアワー中のバーチャルイベント参加は難しいという回答を寄せていますので、オンライン中継した場合、どの程度ご参加いただけるのかちょっと未知数です。でも、ぜひ実現してみたい試みではあります。

ここに挙げた項目は、最近のフィードバック、運営経験から感じたことで、このほかにもご意見があるのではないかと思います。また、コンテンツの方向性などについては、経験豊富なユーザーの方からご意見をいただき決定していくという方法もよいのではないかと考えています。ぜひ、ご意見をいただければと思います。
Share This | Email this page to a friend

Posted by Hitoshi Fujii on February 21st, 2008 under Event | 3 Comments »

文字の長さ

高橋(智)です。
今日は文字の長さについて勉強するため、6つの言語で「あ」の長さを取得してみました。しかし、やはり一つだけ出力結果が違うものがありました。それはどれでしょうか?
それぞれ、ソースファイルやコンパイルオプションは正しく設定されているハズなのですが…。
[Delphi for Win32 - ソースコードはSJISで保存]
program Project1;
{$APPTYPE CONSOLE}
var
 str: WideString;
begin
 str := ‘あ’;
 Write(Length(str));
end.
[C++Builder - ソースコードはSJISで保存]
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
 wstring str = L"あ";
 cout << str.length();
 return 0;
}
[Java - ソースコードはUTF-8で保存]
package project1;
public class Project1 {
 public static void main(String[] args) {
   String str = "あ";
   System.out.print(str.length());
 }
}
[C#.NET - ソースコードはSJISで保存]
namespace project1 {
public class Project1 {
 public static void Main() {
  string str = "あ";
  System.Console.Write(str.Length);
 }
}
}
[PHP5 […]

Posted by Tomohiro Takahashi on February 18th, 2008 under Ruby, PHP, C++, Java, Delphi | Comment now »

David、今日で外向け活動は終了

3日間にわたってイベント、取材、レセプション、ミーティングなど、さまざまな活動を行ってきたDavid Iですが、今日で日本滞在中の外向けの活動は終了です。明日、社内ミーティングを行って帰国の途につきます。
さすがに3日間超ハードスケジュールで飛ばしましたので、疲労もピークのようです。今晩と明日の朝はゆっくりしてもらって、帰りのフライトに備えてもらおうと思います。
こちらは取材中のショット。掲載された記事は、順次こちらのページにリストしています。

ところで今日はバレンタインデーであり、Delphiのバースディ。Davidのスーツケースには、奥さんからのプレゼントが忍ばせてあったそうです。
 
Share This | Email this page to a friend

Posted by Hitoshi Fujii on February 14th, 2008 under Event, Non Tech | 1 Comment »

デブサミパネル、完全満席初めて見ました

先ほど終了したデブサミのRubyコミュニティパネル。当初から申込数過去最高とかいろいろ聞いていましたが、実際開場してみると、完全満席。ひとつの空席もなく、立ち見状態。Rubyへの注目度の高さ、ホットさが伝わってきました。

パネルでは、Rubyコミュニティについて、ビジネスで使うRubyについてなど、さまざまな話題をときに脱線しつつ、早口なパネリストたちが語りました。Davidには、通訳さんが英語にウィスパリングしてくれていましたけど、あまりの早口さに、結構苦しんでいました。みんなゆっくりしゃべろうね、と打ち合わせしていたんですけど。
こちらが、 皆さんにお配りしたローマイヤハムのサンドウィッチです。

Share This | Email this page to a friend

Posted by Hitoshi Fujii on February 13th, 2008 under Event, Ruby | Comment now »

デベロッパーキャンプ、ご参加ありがとうございました。

昨日、無事デベロッパーキャンプを終了することができました。ご参加いただいた皆さん、講師の皆さん、関係者の皆さん、ありがとうございました。
本日は、デブサミにて、Rubyコミュニティの皆さんとパネルディスカッションを実施します。こちらはコテコテ日本風の目黒雅叙園の講師控え室でのショットです。

さて、昨日実施したDavidのG2セッションで、Delphi/C++BuilderのUnicode対応の実装方法に関する情報に触れました。これは、Allenのブログで、口語調の英語で説明していて、日本向けには読むのは辛いし、ということで、サマリーを追加するようにリクエストしていたものです。後日、セッション資料はダウンロードできるようにしますが、先行してこの部分を掲載しておきます。
String は UnicodeString にマップ

バイトサイズの要素のかわりにUTF16 (wordサイズ) の要素を使用
AnsiStringを使うことはできるが、stringはAnsiStringにマップされないので注意が必要
Delphi .NETの文字列型は、すでに Unicode文字列型
SizeOf(Char) は Sizeof(Byte) と同等ではなくなる

文字のインデックス化と通常の文字列処理に変更はない

UnicodeStringは、引き続き1ベースインデックス、リファレンスカウント型のライフタイム管理型エンティティ
文字列割り当て、インデックス、暗黙的変換などは、引き続き期待通りに動作する
Length(UnicodeStringVar) は、 Length(AnsiStringVar)と同様、文字数を返す

コンパイル時の警告

コンパイラが暗黙的な文字列変換、疑わしいポインタのキャストなどの特定のコードに対して診断結果を出力
特定のエラーを引き起こす原因となる箇所を警告するコンパイラを機能を追加

ゴールは、可能な限り最大多数の開発者がコードを破損することなく移行できるようにすることです

この移行を支援するツール機能やドキュメントなどを提供する予定です

デベロッパーキャンプ関連では、こちらにも記事を掲載しています。
Share This | Email this page to a friend

Posted by Hitoshi Fujii on February 13th, 2008 under Event, Delphi | 2 Comments »

デベロッパーキャンプ、午後のセッション開始

あいにくの天候が続いていますけど、午後のセッション開始です。
こちらは午前中のセッションから、3rdRailのデモをするDavid。

C++Builderセッションでいつものように熱弁をふるう高橋君。

こちらは午後のRubyセッションです。

会場には、「ほぼ」地下鉄表参道駅からぬれずに行けます。これから来場される方は、出口を間違えないようにご注意を。
Share This | Email this page to a friend

Posted by Hitoshi Fujii on February 12th, 2008 under Event | 1 Comment »

デベロッパーキャンプ、開場5分前

あいにくの天候になってしまいました。
本日は、第8回デベロッパーキャンプ。あと5分で開場です。今回は、過去最大260名もの登録をいただいています。
こちらは開場直前のホール。

通訳さんと打ち合わせをするDavid。

小雨がぱらついてきましたが、入り口に重厚なかさたてが設置されています。

Share This | Email this page to a friend

Posted by Hitoshi Fujii on February 12th, 2008 under Event | Comment now »

2008 Delphi Survey

 2008年度のDelphiアンケート(Delphi Survey)の日本語版を公開しました。
日本語版アンケート
この調査は、Delphiの今後の方針を決定する際の参考にさせていただく重要なアンケートです。ぜひご協力ください。なお、Nickがブログでも記載している注意事項を、あらためて日本語でリライトして掲載しておきます。

この調査の結果は公表していません。調査内容は、極めて価値の高い機密情報ですので、その結果を公表することはできません。いくつかの特定の問題について公に議論させていただくことはあるかもしれませんが、全体の結果については、CodeGear内で利用させていただきます。
調査には相当な数の質問があります。すべての質問に回答いただくお時間を割いていただき感謝しております。しかし、もし回答したくない質問がある場合には、とばしていただいてかまいません。その他の質問に回答いただき、回答できない、あるいは分からない質問については、とばして先へ進んでください。
CodeGearでは、この調査の情報を積極的に活用させていただきます。調査結果は、将来バージョンの開発プロジェクトで、どの機能を含めるのか、また含めないのかといった決定や、状況の把握などに利用させていただきます。その内容を吟味、抽出、分析して、一般的には、弊社の意思決定プロセスで利用させていただきます。コメント欄および「その他」の記載事項も確認させていただいております。これらは大変重要な情報ですので、ぜひご意見をお寄せください。

以上、よろしくお願いします。
Share This | Email this page to a friend

Posted by Hitoshi Fujii on February 7th, 2008 under Delphi | 2 Comments »

ビット演算と…

高橋(智)です。
今日は、ビット演算について勉強しようと思い、テストコードを6つの言語で書いてみました。今回もやはり一つだけ出力結果が違うものがありました。それはどれでしょうか?
[Delphi]
program Project1;
{$APPTYPE CONSOLE}
var
 a: Integer;
begin
 a := 2 and 1 shl 1;
 Write(a);
end.
[C++]
#include <iostream>
int main(int argc, char* argv[])
{
 int a = 2 & 1 << 1;
 std::cout << a;
 return 0;
}
[Java]
package project1;
public class Project1 {
 public static void main(String[] args) {
  int a = 2 & 1 << 1;
  System.out.print(a);
 }
}
[C#]
namespace project1 {
public class Project1 {
 public static void Main() {
  int a = 2 & 1 […]

Posted by Tomohiro Takahashi on February 3rd, 2008 under Ruby, PHP, C++, Java, Delphi | Comment now »


Server Response from: dnrh2.codegear.com

 
 

Copyright © Team Japan  Powered by WordPress and Delphi For PHP

Close