PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
23830 11/10/26 15:17:25 RE(11):解決策その3 By TESTEST
23828 11/10/18 15:05:25 RE(10):解決策その2 By めめ
23827 11/10/17 19:04:24 RE(9):解決策その2 By TESTEST
23826 11/10/17 19:02:39 RE(8):解決策その1 By TESTEST
23825 11/10/13 13:59:16 RE(7):PB9.0: DWのソースコードを一時退避して元に戻す方法 By めめ
23824 11/10/13 11:14:55 RE(6):PB9.0: DWのソースコードを一時退避して元に戻す方法 By TESTEST
23823 11/10/12 21:04:28 RE(5):PB9.0: DWのソースコードを一時退避して元に戻す方法 By めめ
23820 11/10/12 09:39:09 RE(4):PB9.0: DWのソースコードを一時退避して元に戻す方法 By TESTEST
23819 11/10/11 18:14:35 RE(3):PB9.0: DWのソースコードを一時退避して元に戻す方法 By 梅吉
23818 11/10/11 09:47:16 RE(2):PB9.0: DWのソースコードを一時退避して元に戻す方法 By TESTEST
23817 11/10/07 15:34:40 RE(1):PB9.0: DWのソースコードを一時退避して元に戻す方法 By ZONE
23816 11/10/04 10:43:34 PB9.0: DWのソースコードを一時退避して元に戻す方法 By TESTEST

カテゴリ:スクリプトの記述
日付:2011年10月12日 21:04 発信者:めめ
題名:RE(5):PB9.0: DWのソースコードを一時退避して元に戻す方法

TESTESTさん、こんばんは。

>全く関係ないですが、梅吉様の回答を読んで皆がどういった事で挫折したのかが
>すごく気になりました 笑

>誰か他に「私は以前こういうやり方で対応した」など、予想でも構いませんのでアイデア
>を下さる方、引き続きもうしばらく募集したいと思いますので、気軽に回答してくださる
>と嬉しいですm(_ _)m

データを戻すのに、ImportString()・ImportClipboard()関数があるようですね。
たった今まで忘れてました。

そういう訳で…Describeで取得したデータで少し実験してみました。
どうぞ笑ってやってください。

ls_data = dw_1.Describe(\"DataWindow.Data\")
dw_1.CREATE(ls_src,ls_error)

//----- 以下追加
Long ll_length, ll_row, ll_idx, ll_column, ll_tab, ll_pos
String ls_delimiter, ls_coltype

ll_pos = 1
ll_length = Len(ls_data)
ll_column = Long(dw_1.Object.DataWindow.Column.Count)

Do While ll_pos <= ll_length
ll_row++

For ll_idx = 1 To ll_column
If ll_idx = ll_column Then ; ls_delimiter = \"~r\"
Else ;
ls_delimiter = \"~t\"
End If

ll_tab = Pos(ls_data, ls_delimiter, ll_pos)
If ll_tab = 0 Then ll_tab = ll_length + 1

ls_coltype = Lower(dw_1.Describe(\"#\" + String(ll_idx) + \".ColType\"))
If Left(ls_coltype, 4) = \"char\" Then ls_coltype = \"char\"

Choose Case  ls_coltype
Case \"int\", \"long\", \"number\", \"ulong\"
dw_1.Object.Data[ll_row, ll_idx] = Long(Mid(ls_data, 
ll_pos, ll_tab - ll_pos))
Case \"char\"
dw_1.Object.Data[ll_row, ll_idx] = Mid(ls_data, 
ll_pos, ll_tab - ll_pos)
Case Else
//-- その他のカラム
End Choose

ll_pos = ll_tab + 1

Next
Loop



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows XP
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.