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月17日 19:02 発信者:TESTEST
題名:RE(8):解決策その1
めめさん、こんばんは。
コメントしてくださったのに返信が遅くなり申し訳ありませんm(_ _)m
>dw_1.SetRedraw() を False にしてから処理する→処理終了で True にすると
>速度面で少し改善するかもしれません。(それでもこの場合、気休め程度かもしれませんが…)
はい!
この描画に関しては実装したうえで実行してみました^^
そんなにデータ行数や列数が多くなければ気にならないくらい早いのですが、、
丁寧に教えてくださり本当にありがとうございます。
以下、今後誰か見る方用に解決策を記載致します。
※字数制限により、分割させていただきます。
◆データ件数×列数がさほど多くない場合
ls_src = dw_1.Object.DataWindow.Syntax
?何かしらの処理?
ll_pos = 1
ls_data = dw_1.Describe(\"DataWindow.Data\")
dw_1.CREATE(ls_src,ls_error)
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
// その他のカラム(Decimal等)
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.