0

多言語をサポートするために、既存のアプリケーションを変更する必要があります。これは、英語版の同じデータベース (Firebird) を使用して、クライアントが中国でアプリケーションを販売したいと考えていることを意味します。

アプリケーションは Delphi 7 で作成され、データベースへのアクセスに使用されるコンポーネントはFibPlusスイートのものです。

この質問から始めて、私の知る限り、.AsDate、.AsDateTime などのルーチンを使用して、システムのロケール設定を使用してデータベースからデータを変換しています。現在のフォーマット設定を使用して、最終ユーザーにデータを表示することを意味しますよね?

データベースにデータを保存する場合、データベース コネクタは、(現在の形式設定を使用して) データベースにデータを正しく保存する必要があります。または、私は間違っていますか?

したがって、基本的に私の質問は次のとおりです。DateTime、Thousands、Decimalなどの区切り記号を最終ユーザーに表示する/データベースとの間でデータを修正して保存するにはどうすればよいですか?

4

3 に答える 3

2

AsDateTimeなどは、まったく変換されないため、地域設定を使用して変換しないでください。アプリケーションに関する限り、データベースTDateTimeは文字列ではなく値を読み書きします。s との間で値を変換しない限り、問題はありません。標準の編集コントロールは、エンド ユーザーの地域設定を使用してそれらを表示します。自分で変換を実行する場合にのみ、 を確認する必要があります。TDateTimestringFormatSettings

于 2012-07-23T09:31:14.403 に答える
-1

データベースとFibPlusの接続文字列のテキストデータ型について考えるでしょう。英語以外の文字を正しく保存/取得できるようにするため。特に、後でDelphi以外のプログラムがそのようなデータベースを必要とする場合。

于 2012-07-23T14:43:17.643 に答える
-1

データベースに日付/時刻の値を格納するために使用される形式によって異なります。保存する前に日付/時刻を文字列に変換する必要がある場合は、それらの値を保存する内部形式を 1 つ選択する必要があります。私たちのアプリケーションでは、"yyyy-MM-dd hh:mm:ss" のような形式を好みます。この形式はあいまいさを排除するためです。さらに、DB に保存する前にすべての日付/時刻の値を 1 つのタイム ゾーン (GMT など) に調整し、ユーザーに表示する前に元に戻すことをお勧めします。

于 2012-07-23T16:10:32.983 に答える