Line Input # ステートメントではLFを改行コードとして認識しない
こんにちは!パムさんです。
前回記事の続きになりますが、テキストファイルの改行コードの話です。
わからない人には、まったくわからない話ですね・・・
現在、私はAccess VBAでプログラムを作っているのですが、お客様からのファイルを取り込む機能を作成しておりました。
そこで伝統的?な Line Input # ステートメントという、テキストファイルを1行ずつ読み込む命令文があって、それを使っているのですが、このステートメントではLFの改行コードを改行とみなしてくれないのです。
結果として、テキストファイルが複数行であっても、全ての行を1行とみなして取り込んでしまいます。
ちなみに改行コードには他に CR や CF+LF がありまして、これらの改行コードのテキストファイルだと1行ずつ取り込んでくれます。
今回は改行コードをCR+LFに変更してファイルをいただけることになったので、こちらの変更は無し。
もしLFのままだとプログラムを作り直す必要があったので、とても助かりました。
とりあえず、相手にお願いしてみることですね。
そして、お願いできるような環境をつくるためには、日頃のコミュニケーションが大切です。
改行コードはCR? LF? CR+LF?
おはようございます!パムさんです。
複数の開発業務に追われっぱなしですが、今日もがんばって働きます。
以前から稼動しているネットショップの出荷検品システムがあるのですが、規模拡大のためにシステムを新しくするという案件があります。
ようやく他の会社からシステム開発用の「テストデータ」を頂いたのですが、改行コードが以前とちがうのです。
以前は CR+LF だったのに、今回いただいたテストデータは LF のみ。
これだと以前のプログラムを転用できないので、少々面倒なことになります。
ちなみに(ウィキペディアでは)
CRとは・・・キャリッジリターン(英:Carriage return、復帰)
LFとは・・・ラインフィード(英:Line Feed、狭義の改行)
となっています。Windowsのメモ帳でエンターキーを押したときの改行コードです。
こういうときは、まず相手に CR+LF でデータをいただけるか確認します。
それで変更していただけるならOKです。
でも、ダメなら、次の策を考えないといけません・・・。
どうなるかな・・・
できないものはできない
おはようございます!パムさんです。
最近は開発の仕事が目白押しで、大忙しです。
今の世の中、仕事があるのはとてもありがたいことです。
しかしながら、仕様も決まっていないプログラム(けっこう複雑な出荷検品業務システム)を、1ヶ月で3つも設計段階から作れと言われても、残念ながらできません。
「できません」と言うのはすごく嫌ですが、「できます」と言って、結果的にできなかったら、それは会社としてもかなりダメージがあるので、やっぱり「できません」と伝える必要があります。
結局、この1ヶ月で作るプログラムは2つになりました。
2つでも大変なのですが、なんとかします!
タグ:システム開発