2016-09-01 3 views
0

こんにちは友人にファイルを。 Javaエージェントの場合は、Propertiesメソッドを使用し、プロパティファイルからデータを抽出しました。しかし、今私はそれを原文でやって欲しい。私はプロパティメソッドを使用しようとしましたが、私は以下のコードでプロパティを読み取ると思ったので、それは動作しませんでした。プロパティでロータスノーツ:プロパティにアクセスすることができませんが、私はプロパティが指定したパスからマシンからファイルをアクセスしたいlotuscript

'Dim ColFileName As String 
    'ColFileName="C:\abcd.properties" 
    Open ColFileName For Input As 1 
    Do While Not EOF(1) 
    Line Input #1,txt$ 
    MsgBox "TEXT FILE:"+txt$ 

COLは=私はロータススクリプト用のJavaと同じようにgetPropertyメソッドを使用してCOLのプロパティを取得したい

を始めると、私はそれを書かれているファイル。 上記のコードを追加しましたが、動作しません。誰かが私が間違ったことを伝えることができます。オプション

%Include "lserr.lss" 'This is just a list of constants. 

+1

こんにちは、エージェントのランレベルを少なくとも2にする必要があります。そして、NotesStreamクラスを見てください..... – umeli

+0

getPropertyメソッドを使用する小さなJavaコードを教えてください。私があなたに言及している方法を見つけることができません... –

+2

「働いていません」という意味を定義してください。何が起きているのか、起こっていないのかを正確に説明してください。エラーメッセージはありますか? msgboxは何を表示していますか?また、これがノーツクライアントのエージェントまたはイベントコードであるかどうかを確認し、コードの実行方法を正確に説明してください。たとえば、クライアントでローカルに実行していますか、サーバー上でスケジュールどおりに実行しているか、Web URLなどによってトリガーされていますか?私はロータススクリプトファイル内のJavaコードを追加する方法D.Bugger @ –

答えて

1

がどこかにこれらの機能を追加します。

%REM 
    Function fstreamOpenFile(sPath As String, bTruncate As Boolean, bConfirmExists As Boolean) As NotesStream 
    <dl> 
    <dt>sPath</dt><dd>Filepath of the file to be opened/created.</dd> 
    <dt>bTruncate</dt><dd>Boolean. True if file is for output and any existing file should be replaced rather than appended to.</dd> 
    <dt>bConfirmExists</dt><dd>Boolean. If True, and the opened file is empty, then an ErrFileNotFound error will be thrown.</dd> 
    </dl> 
%END REM 
Function fstreamOpenFile(sPath As String, bTruncate As Boolean, bConfirmExists As Boolean) As NotesStream 
    Dim session as New NotesSession  Dim stream As NotesStream 

    Set stream = session.Createstream() 
    If Not stream.Open(sPath) Then Error ErrOpenFailed, {Could not open file at "} + sPath + {"} 
    If bConfirmExists And stream.Bytes = 0 Then Error ErrFileNotFound, {File at "} + sPath + {" is missing or empty.} 
    If bTruncate Then Call stream.Truncate() 
    Set fstreamOpenFile = stream 
End Function 

Function fsPropertyFileValue(sFilePath As String, sPropertyName As String, sDefaultValue As String) As String 
    On Error GoTo ErrorQuietly 
    Dim stream As NotesStream 
    Dim sLine As String 
    Dim sLeft As String 
    Dim iLeftLen As Integer 

    Set stream = fstreamOpenFile(sFilePath, False, True) 
    sLeft = sPropertyName + "=" 
    iLeftLen = Len(sLeft) 
    Do 
     sLine = stream.Readtext 
     If Left(sLine, iLeftLen) = sLeft Then 
      fsPropertyFileValue = Right(sLine, Len(sLine) - iLeftLen) 
      Exit Function 
     End If 
    Loop Until stream.Iseos 
ReturnDefault: 
    fsPropertyFileValue = sDefaultValue 
    Exit Function 
ErrorQuietly: 
    Print Now, Error$ 
    Resume ReturnDefault 
End Function 

を(注:私はテストしていない/ fsPropertyFileValueをデバッグエージェントを編集するときに、ので、コメント内のHTMLタグがあります。デザイナクライアントはHTMLタグを解析して表示します)。

次に、fsPropertyFileValue("C:\abcd.properties", "col", "start")を使用してC:\ abcd.properties内のcolプロパティの値を取得し、失敗した場合は "start"を使用します。

関連する問題