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 (記載なし)

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