OpenOffice.org Basicでガントチャート
OpenOffice.org Basicを使ってガントチャート作成用マクロ ガントチャートforOOoを開発する手順を紹介していきます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
工程編集ダイアログ その2

編集対象のデータをダイアログに割り当てたり、ダイアログに入力された情報をデータに反映させる関数を定義します。

まず、追加するコードを下記に示します。

mdlEditSchedule

Private Sub setValues(obj As Object)
    
    txtId.Text = ControlLabelString(obj._Id)
    txtName.Text = obj._Name
    txtPlanBegin.Text = getDateString(obj._PlanBegin)
    txtPlanEnd.Text = getDateString(obj._PlanEnd)
    imgPlanColor.getModel().BackgroundColor = obj._PlanColor
    txtActBegin.Text = getDateString(obj._ActBegin)
    txtActEnd.Text = getDateString(obj._ActEnd)
    imgActColor.getModel().BackgroundColor = obj._ActColor
    lstLineType.SelectItemPos(obj._LineType + 1, True)
    txtWeight.Text = obj._Weight
    
End Sub
 
Private Function getDateString(Value As Date) As String
    
    Dim s As String
    If Value = 0 Then
        s = ""
    Else
        s = Format(Value)
    End If
    getDateString = s
    
End Function
 
Private Sub getValues
    
    On Error Resume Next
    
    With Schedules(Id)
        ._Name = txtName.Text
        ._PlanBegin = CDate(txtPlanBegin.Text)
        ._PlanEnd = CDate(txtPlanEnd.Text)
        ._PlanColor = imgPlanColor.getModel().BackgroundColor
        ._ActBegin = CDate(txtActBegin.Text)
        ._ActEnd = CDate(txtActEnd.Text)
        ._ActColor = imgActColor.getModel().BackgroundColor
        ._LineType = lstLineType.getSelectedItemPos - 1
        ._Weight = CInt(txtWeight.Text)
    End With
    
End Sub

各関数の説明をします。

  1. Sub setValue(obj As Object)
    ScheduleTypeの変数を受け取ると、その値を各コントロールに配置していきます。
    LineTypeは-1~1の値となっているので、リストボックスで設定値を選択済みにするため、値に1を足しています。リストボックスの選択済み箇所の値は0~となっています。
  2. Function getDateString(Value As Date)
    日付のデータをテキストボックスに表示する際、未設定のデータが0:00:00と表示されるのでこれを避けるため値を判定してから文字列に変換するための関数です。
  3. Sub getValues
    Show関数で受け取ったIDのデータに各コントロールの値を代入していきます。
    setValueと同様の理由から、リストボックスの選択値から1を引いています。
スポンサーサイト

テーマ:OpenOffice.org - ジャンル:コンピュータ

コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/55-61970c1d
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。