• ベストアンサー

Delphiの型変換について

DelphiでParadoxにテーブルを作成するツールを 作ろうとしています。 TFieldType型のftStringを文字列'ftString'に 変換してString型の2次元配列にいれたいのですが、 うまくいきません。 String型にキャストしようとしても 「正しくない型キャスト」とエラーが出てしまいます。 どうすれば、TFieldType型をString型に 変換できるのでしょうか。 Paradoxを使ったことのある方、ご教授お願いします。

noname#32133
noname#32133

質問者が選んだベストアンサー

  • ベストアンサー
  • MarrowG
  • ベストアンサー率53% (41/76)
回答No.1

TFieldTypeからStringへのキャストはできません。 TFieldTypeの宣言時にftStringと書いているわけですから、同時に文字列配列として'ftString'をハードコーディングしても問題無い、というか他に方法がないです。(^^;

関連するQ&A

  • 文字列を time 型に変換するには。

    文字列を time 型に変換するには。 お世話になります。 PostgreSQL 8.2 & PgAdmin 1.6.3(WinServer 2003)を使用しています。 varchar 型のカラムに格納されている時刻を表す文字列('9:15' など)を time 型に変換してビューを作成する必要があるのですが、できずに困っています。 具体的には... 「table1」というテーブルに「時刻」(varchar 型)という名前のカラムを作成し、「9:15」という文字列を格納しておきます。 これをもとにビュー(view1)を作ろうとしているのですが、select 文のところで 、ERROR: syntax error at or near "時刻" SQLステート:42601 というエラー(構文エラー)が出てしまいます。  select time 時刻 from table1  結果:ERROR: syntax error at or near "時刻" SQLステート:42601 ちなみに、時刻を文字列で指定してやると、ちゃんと time 型で結果が返ります。  select time '9:15'  結果:09:15:00 抜本的に方法が間違っているとはおもうのですが、いくら調べてもこれを解決できるようなサイトが見当たりませんでした。 文字列を time 型に変換するにはどのようにしたらよいのかご教示いただけないでしょうか。 よろしくお願いします。

  • 数値への型変換について

    画像のBMPファイルを編集するため、以下の通りにファイルの読み込みをしたのですが、$bfSizeの値が文字列として定義されてしまい、数値に変換できません。 ----------------------- $fp=fopen('sample.bmp','r+b'); $bfType = fread($fp, 2); $bfSize = fread($fp, 4); ----------------------- ここで問題になっているのは、$bfSizeの型です。 echo bin2hex($bfSize); とすると 36040100 と、数値は入力されているのですが、var_dump($bfSize)で表示すると string(4) "6』『 " (』『 は半角文字です) となります。 これをsettypeやキャストで型変換すると、1バイト目の36が6に変換されてしまいます。 これを 数値として66614として変換したいのですが、どのようにしたらよいでしょうか? よろしくお願いします 環境は PHP Version => 5.2.6 Windows XP Pro です。

    • ベストアンサー
    • PHP
  • [VB.net] StringからByte配列への変換

    皆さんこんばんは。 最近VB.NET2000でVisual Basicをはじめたのですが、どうにもString型の値をByte配列へ変換するやり方が分かりません。 VB6.0だとByte配列にStringを代入するだけでいいそうなのですが、.NETで代入しようとすると『型"String"の値を"Byteの1次元配列"に変換できません』というビルドエラーが表れてしまいます。 CByte( Mid(str,i,1) ) CLng( Mid(str,i,1) ) 他にも上記コードのように一つずつ変換しようと試みたのですが、String中のある文字がワイドバイトらしく、System.InvalidCastExceptionが表れてしまいます。 ("『"を上下反転したような文字) ワイドバイトのStringを1バイトずつ区切ってByte配列やLong配列へ格納する手法というものはありませんでしょうか。 よろしくお願いします。

  • Stringの2次元配列からint型に変換

    おはようございます。 Stringの2次元配列からint型に変換できますか? 配列からの変換はString→int型の変換とは違いますか? ご教授ください。 よろしくお願いいたします。

  • C++型変換

    型変換が難しいです。 デバッグやフォームへ文字を表示するのに型変換で躓いています。 charからstringとやBYTEからstringなど相互変換の需要はあまりないのでしょうか? char2stirngとか一式どこかにないですか? そもそもMicrosoftがこう言った型変換を簡単にするのを提供しないのはなぜでしょう? VBはあまり意識せずできていたので、VBからするとメッセージボックスに文字や数字を出すだけでも一苦労です。

  • 配列の中の値の型変換

    Array => [0] => Array  ['id'] => '10'  ['size'] => Array   ['height'] => '25.1'   ['width'] => '10.6'   ['length'] => '15.7'  ['name'] => 'shose'  ['comment'] => '' [1] => Array  ['id'] => '10'  ['size'] => Array   ['height'] => '25.1'   ['width'] => '10.6'   ['length'] => null  ['name'] => 'paper'  ['comment'] => 'color is red'   上記のように配列の中の要素の値が全てstring型で、値がない要素だけnullという配列があります。 この配列の全ての文字列を、  整数に変換可能ならint型に変換  浮動小数点型に変換可能ならfloat型に変換  数値に変換不可能ならstring型のまま  nullの場合はnullのまま にキャストしたいのですがどのようなコードになるのでしょうか? ネストの深さは一定ではありません。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • SQLで文字列を時刻に型変換する方法

    SQLで文字列を時刻に型変換する方法を教えていただきたいです。 char型のAというカラムに'090000'が格納されています。 この値を time型のBというカラムに型変換して登録したいのですが、 cast(A as time) としてもエラーが出てしまうので、現在は cast(SubString(A,1,2)+':'+SubString(A,3,2)+':'+SubString(A,5,2) as time) と変換しています。 もっと簡単に変換する方法はありますでしょうか? ご教示頂けましたら、助かります。 宜しくお願い致します。

  • void*型の配列について

    void* a[2]; void* b = a; void* c[2] = (void *[2])b; error C2440: '型キャスト' : 'void *' から 'void *[2]' に変換できません。 配列型への変換はありませんが、参照またはポインタから配列への変換があります。 void*型にした a を再度void*型の配列に戻すにはどのように記述すればよいでしょうか? 環境はXP(SP3)のVS2008 MFC です。 宜しくお願いいたします。

  • 型変換方法について

    困っています。。 下記コードは文字コードのチェックをしているのですが、チェックする文字コードを直接指定するのではなく、 String code = "0x2460" のように持たせておきたいのですが、この文字列を使ってチェックするにはどうしたらよいでしょうか? char型に変換しないといけないと思うのですが変換方法が分かりません。 API等いろいろ調べてみたのですが分かりませんでした。 どうか宜しくお願いします。 コード---------------------------------------- public class CodeCheck {  public static void main(String[] args) {   String str = "a"; // チェック対象文字   char ch = str.charAt(0);   if(ch == 0x2460) {    // エラー処理   } else {    // 正常処理   }  } } ---------------------------------------------

    • ベストアンサー
    • Java
  • Paradox テーブル名をリストボックスに一覧表示するには?

    Paradox テーブル名をリストボックスに一覧表示するには? 初めて投稿します。 VBとVCで開発をしていましたが、最近仕事でDelphiをはじめました。 Delphi5とParadoxも初心者です。 Delphi5とParadoxを用いてローカルな Paradox テーブル名の一覧をリストボックスに表示しようと しています。 今まではOracleを使っていましたので同じ感覚で やってみましたが、うまくいきませんでした。 ('Select * From Tab'とやってみたところ、 Tabという名前のテーブルを探しにいくようです。) テーブルの定義などが見られないのはParadoxの制限 なのでしょうか。 Paradoxを使ったことのある方、ご教授お願いします。

専門家に質問してみよう