CSV 出力と関数
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
> CSV出力処理は大きな文字型変数を用意して
> TRIM、STR関数などを使って、せっせと1個の変数に
> くっつける地道な方式でV8もV1 Plusでも作っております。
はい。私も何となくそれで作っていたような気がしたのですが、
'"'&Trim(A)&'"'&','&Trim(Str(B,'7.2'))&','&DSTR(C,'YYYYMMDD') ...
とか書くのが面倒になったので、開始位置と終了位置を指定するだけで
CSV 文字列を作る処理を書いているところです。
ちなみに、VarPic が使いたいのは STR(数字項目,'7.2') のように決めうちではなく
変数の型に合わせて書式を変えたいためです。
STR(数字項目,VarPic('B'VAR,0))
> 数字項目については、将来桁数拡張されてもいいように
> STR(数字項目,'N16Z')などのように、大きめにして
> 整形するようにしています。マイナス無し項目でもN付け
> といていいですね。
なるほど。N は盲点でした。
マイナス無し項目でも付けておけばよさそうだし、
V8 では VarPic() は使えないようなので、テーブルの項目を眺めて、
将来桁数拡張されても良いくらいの値を使うことにします。
小数部もあるから、N12.4 辺りで何とかなりそうかも。
回答ありがとうございました。
> TRIM、STR関数などを使って、せっせと1個の変数に
> くっつける地道な方式でV8もV1 Plusでも作っております。
はい。私も何となくそれで作っていたような気がしたのですが、
'"'&Trim(A)&'"'&','&Trim(Str(B,'7.2'))&','&DSTR(C,'YYYYMMDD') ...
とか書くのが面倒になったので、開始位置と終了位置を指定するだけで
CSV 文字列を作る処理を書いているところです。
ちなみに、VarPic が使いたいのは STR(数字項目,'7.2') のように決めうちではなく
変数の型に合わせて書式を変えたいためです。
STR(数字項目,VarPic('B'VAR,0))
> 数字項目については、将来桁数拡張されてもいいように
> STR(数字項目,'N16Z')などのように、大きめにして
> 整形するようにしています。マイナス無し項目でもN付け
> といていいですね。
なるほど。N は盲点でした。
マイナス無し項目でも付けておけばよさそうだし、
V8 では VarPic() は使えないようなので、テーブルの項目を眺めて、
将来桁数拡張されても良いくらいの値を使うことにします。
小数部もあるから、N12.4 辺りで何とかなりそうかも。
回答ありがとうございました。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
CSV出力処理は
大きな文字型変数を用意して
TRIM、STR関数などを使って、せっせと1個の変数に
くっつける地道な方式でV8もV1 Plusでも作っております。
数字項目については、将来桁数拡張されてもいいように
STR(数字項目,'N16Z')などのように、大きめにして
整形するようにしています。マイナス無し項目でもN付け
といていいですね。
大きな文字型変数を用意して
TRIM、STR関数などを使って、せっせと1個の変数に
くっつける地道な方式でV8もV1 Plusでも作っております。
数字項目については、将来桁数拡張されてもいいように
STR(数字項目,'N16Z')などのように、大きめにして
整形するようにしています。マイナス無し項目でもN付け
といていいですね。
投票数:0
平均点:0.00
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
回答ありがとうございます。
> REPSTR関数はV8には無かったですね。
> INSTR関数とREP関数をバッチ子タスクで回すしかないでしょうね。
ああ、そうか。INSTR で検索出来るんでしたね。それ試してみます。
>その手間を考えるとV1 Plusなどは便利ですよね。
はい。色々と・・・
> VARPICはV8にあったかどうかはわかりません。
> V1Plusでも普段使用していないので・・・
そうですね。VarPic はこういう時くらいしか私も使わないです。
> REPSTR関数はV8には無かったですね。
> INSTR関数とREP関数をバッチ子タスクで回すしかないでしょうね。
ああ、そうか。INSTR で検索出来るんでしたね。それ試してみます。
>その手間を考えるとV1 Plusなどは便利ですよね。
はい。色々と・・・
> VARPICはV8にあったかどうかはわかりません。
> V1Plusでも普段使用していないので・・・
そうですね。VarPic はこういう時くらいしか私も使わないです。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
REPSTR関数はV8には無かったですね。
INSTR関数とREP関数をバッチ子タスクで回すしかないでしょうね。
その手間を考えるとV1 Plusなどは便利ですよね。
VARPICはV8にあったかどうかはわかりません。
V1Plusでも普段使用していないので・・・
INSTR関数とREP関数をバッチ子タスクで回すしかないでしょうね。
その手間を考えるとV1 Plusなどは便利ですよね。
VARPICはV8にあったかどうかはわかりません。
V1Plusでも普段使用していないので・・・
投票数:0
平均点:0.00
null
投稿数: 191
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
お世話になります。
久しぶりに V8 で CSV出力のプログラムを
作成しようと思っているのですが、
最近、DataViewTo 系でやっていたので
V8 の頃どうやっていたのか忘れまして・・・
皆さんはどうやって CSV 出力していましたか?
出力フォームに項目とカンマ文字並べるとか?
それに関連して、数値項目を文字列にする
サブプログラムを作ろうと思い、VAR 系の関数を
使おうと思ったところ、VARPIC が使えませんでした。
VARPIC って、V8 には無かったんでしたっけ?
又、VARPIC に相当する機能は無いのか?と
V8 でこんなことする時にどうしていたのかあれば教えてください。
こんな感じのコードが書きたい
--
変数.参照位置 = 'A'VAR
STR(VARCURR(変数.参照位置), VARPIC(変数.参照位置,0))
変数.参照位置 = 変数.参照位置 + 1
--
あと、もう一つ、文字列置き換えの REPSTR も無いみたいなんですが、
V8 の頃ってそれに相当するサブプログラムを作ってたんでしたっけ?
久しぶりに V8 で CSV出力のプログラムを
作成しようと思っているのですが、
最近、DataViewTo 系でやっていたので
V8 の頃どうやっていたのか忘れまして・・・
皆さんはどうやって CSV 出力していましたか?
出力フォームに項目とカンマ文字並べるとか?
それに関連して、数値項目を文字列にする
サブプログラムを作ろうと思い、VAR 系の関数を
使おうと思ったところ、VARPIC が使えませんでした。
VARPIC って、V8 には無かったんでしたっけ?
又、VARPIC に相当する機能は無いのか?と
V8 でこんなことする時にどうしていたのかあれば教えてください。
こんな感じのコードが書きたい
--
変数.参照位置 = 'A'VAR
STR(VARCURR(変数.参照位置), VARPIC(変数.参照位置,0))
変数.参照位置 = 変数.参照位置 + 1
--
あと、もう一つ、文字列置き換えの REPSTR も無いみたいなんですが、
V8 の頃ってそれに相当するサブプログラムを作ってたんでしたっけ?
投票数:0
平均点:0.00