■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
|
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った): |
■ ページの共有: |
[ サイト内検索 ]
![]()
カスタム検索
|
#14746-0Trim関数についてDB2001-02-27(火) 13:05
#14749-0RE#14746:Trim関数についてゆう(U)2001-02-27(火) 13:36
#14750-0RE#14749:Trim関数についてDB2001-02-27(火) 14:01
#14749-0RE#14746:Trim関数についてゆう(U)2001-02-27(火) 13:36
#14750-0RE#14749:Trim関数についてDB2001-02-27(火) 14:01
DB2001-02-27(火) 13:05
度々申し訳ありません。 ランダムアクセスファイルで 氏名 As String*20 と宣言し、 それより短い文字を入れた場合はスペース(文字コード32)で埋まると思い、 以前お教え頂きましたTrim関数を用いてスペースを消去し、 別の配列の中に入れようと以下のようにしました。 しかし、Namedata()の中に入った文字を見るとスペースは消えてません。 何故なのでしょうか?何とぞお教え下さい。 Dim MaxNo As Long Dim DataNo As Long Dim Namedata() As String Dim RecNo As Integer FileNo = FreeFile If Right$(App.Path, 1) = "\" Then FileName = App.Path & "pData" Else FileName = App.Path & "\pData" End If Open FileName For Random As FileNo Len = Len(Myrecord) MaxNo = LOF(FileNo) / Len(Myrecord) ReDim Namedata(MaxNo) For RecNo = 1 To MaxNo Get FileNo, RecNo, Myrecord Namedata(RecNo) = Trim(Myrecord.氏名) Next RecNo
ゆう(U)2001-02-27(火) 13:36
> ランダムアクセスファイルで 氏名 As String*20 と宣言し、 > それより短い文字を入れた場合はスペース(文字コード32)で埋まると思い、 > 以前お教え頂きましたTrim関数を用いてスペースを消去し、 > 別の配列の中に入れようと以下のようにしました。 > しかし、Namedata()の中に入った文字を見るとスペースは消えてません。 ユーザ定義型の変数にファイルを読み込んでいるみたいですが、 DBCS等のUnicode変換時の特性を理解するといいです。 As String * 10 の変数として、 ファイルでは・・・ "あいうえお" Get後の変数には "あいうえお" + String$(5, vbNullChar) の状態になります。 Getの時点ではString * 10で10バイトとして・・・ VB内のコードではUnicode変換され、10文字として 扱われます。 当然Trim系の関数はスペース(全・半角)が消去対象 ですから、それ以外は消去されません。 前回でもChr(0)などの表現があったと思いますが、 実際にどのような内容なのか自分の目で調べて 見るといいです。 確認サンプル) Dim i As Long Dim strTemp As String For i = 1 To Len(Myrecord.氏名) strTemp = Mid(Myrecord.氏名, i, 1) Debug.Print i, strTemp, Hex(Asc(strTemp)) Next i ※ちなみに全角の変数名はお勧めしません
DB2001-02-27(火) 14:01
> Debug.Print i, strTemp, Hex(Asc(strTemp)) > Next i サンプルご呈示有り難うございます。早速試してみました。 Hex(Asc(strTemp)) が文字部分で、また途中まで 20 を返しているのが 理解できました。しかし最後のいくつかは 0 を返しています。 この0は何なのでしょうか?
このページと関連する記事:
#23795-0VB複数FD交換時PUT関数がエラー2001-10-17(水) 16:24#19687-0Trimの機能2001-03-19(月) 19:31
#16780-01バイト文字と2バイト文字の混在するテキストデータの取得2000-02-24(木) 15:58
#18643-0trim関数について2001-02-10(土) 17:51
#2135-1ファイルの読み込み1999-07-27(火) 16:51
#23114-0文字列内の中途半端文字(全角文字の上位バイトのみなど)2001-09-12(水) 11:05
#1517-2ユーザー定義型変数内の文字型配列を、サブプロシージャに渡せない・・・2002-07-09(火) 14:22
#11728-1バイナリ出力 関数 ? ? ? ? (はじめたばかり)から移動2000-06-16(金) 18:29
#34824-0Do...Loopステートメントについて2000-12-06(水) 16:54
#2414-0ファイル操作について2002-08-22(木) 10:07
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。