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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.