PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
15550 | 01/06/20 15:18:02 | RE(2):PB7.0: dw上のテキストオブジェクト名の取得方法 By きん |
15549 | 01/06/20 14:20:30 | RE(1):PB7.0: dw上のテキストオブジェクト名の取得方法 By 川端 |
15545 | 01/06/20 11:46:11 | PB7.0: dw上のテキストオブジェクト名の取得方法 By きん |
カテゴリ:PowerBuilderの開発環境
日付:2001年06月20日 14:20 発信者:川端
題名:RE(1):PB7.0: dw上のテキストオブジェクト名の取得方法
きんさん、こんにちは。
>dwに貼ってあるテキストオブジェクトのオブジェクト名を配列に取り込みたいのですが、なにか方法はあるの
でしょう
>か?
>
>カラムの場合は
>For l_Index = 1 To Integer(Describe(\"Datawindow.Column.Count\"))
> l_Name[l_Index] = \"#\" + String(l_Index) + \".Name\"
>Next
>このような方法で配列に取り込んでいます
>テキストも、このようなかんじで処理したいのですが
>
>どなかた、よろしくおねがいします。
予め、テキストの名称に規則性を持たせるのが、本当は良いことだと思うのですが、
そうも行かないと言う事であれば、以下の方法で取得できます。
(オブジェクトの数にもよりますが、処理は遅いと思いますよ)
------------
boolean lb_loop
long ll_spos, ll_epos, ll_cnt
string ls_objects, ls_object
string ls_text[]
lb_loop = TRUE
ll_spos = 0
ll_cnt = 0
ls_objects = dw_1.Describe( \"DataWindow.Objects\" )
DO WHILE lb_loop
ll_spos ++
ll_epos = Pos( ls_objects, \'~t\', ll_spos )
IF ll_epos = 0 THEN
ls_object = Mid( ls_object, ll_spos )
lb_loop = FALSE
ELSE
ls_object = Mid( ls_object, ll_spos, ( ll_epos - ll_spos ) )
ll_spos = ll_epos
END IF
IF dw_1.Describe( ls_object + \".Type\" ) = \"text\" THEN
ll_cnt ++
ls_text[ ll_cnt ] = ls_object
END IF
LOOP
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.