Ini-Datei mit Lotus Script auslesen?

  • Hallo zusammen,


    ist es möglich mit Lotus Script eine Ini-Datei auszulesen und wenn ja, wie?


    Es ist nicht die notes.ini gemeint,sondern eine beliebige Ini-Datei.


    vielen dank schon mal


    Markus

  • Danke für die Anwort.


    Leider reicht das einfache lesen als Textfile nicht aus, ich bräuchte schon eine funktion, der ich den abschnitt und den key mitgebe und als rückgabewert den zugehörigen value bekomme.


    in delphi zb. Value := inidatei.readboolean(Abschnitt,Key)


    gibt es sowas in lotus skript?


    für die notes.ini gibt es doch getenvironmentValue, das wäre das richtige, wenn ich es auf beliebige ini-Dateien anwenden könnte, geht doch aber nur mit der notes.ini, oder?


    ich hoffe jemand kann mir helfen.


    gruss


    markus

  • tja, das sieht eher schlecht für dich aus.


    ich würde mir dafür eine routine schreiben die das standardmässig macht und diese dann halt immer aufrufen.


    die muss dann halt den angegebenen textfile öffnen, nach dem abschnitt suchen und den wert auslesen. oder du findest irgendwo im internet eine dll die das kann und bindest die in notes ein.


    viel glück beim suchen ...

    bunt ist das dasein und granatenstark. volle kanne hoshi's!


    IBM Certified Advanced System Administrator (R5, D6, D7)
    IBM Certified Advanced Application Developer (R5, D6, D7, D8)

  • HELP
    :-? ?? habe das gleiche Problem jetzt...
    kenne mich mit LScript nur wenig aus und muß die Ini-Datei der Windowsumgebung auslesen, da ich Daten in eine andere Anwendung exportieren soll.


    Leider hört der Thread hier auf...


    ..vielleicht weiß ja irgendwer bißchen mehr und hat gerade Zeit, etwas hierzu zu schreiben...
    .. und setzt den Thread auf diese Weise fort?


    ..konnte jedenfalls im Forum leider nichts finden ...



    :cry:

  • Damit sollte es klappen (Win32 vorausgesetzt)


    The INI format is pretty basic...


    [header]


    key=data


    The Windows API includes function calls that will do all of the work for you.


    Public Declare Function GetPrivateProfileStringA Lib "kernel32.dll" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long


    Public Declare Function WritePrivateProfileStringA Lib "kernel32.dll" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long


    Both:


    lpApplicationName is the section header.


    lpKeyName is the key's name.


    lpFileName is the filename of the INI.


    Get:


    lpDefault is what you want the function to return if the key doesn't exist.


    lpReturnedString is the String variable that will receive the data from the INI.


    nSize is the width of the passed string.


    Write:


    lpString is the string to store.
    [edit]
    Reading and Writing a INI Key


    Reading a key is pretty simple, just send it a hearty string for it to fill. The call returns a Long that gives the width of the key's data. The Left() function cuts off the irrelevant part of the returned string. The width of 255 should be plenty large for most applications.


    sReturn = Space(255)


    sReturn = Left(sReturn, GetPrivateProfileStringA(header, key, defaultReturn, sReturn, 255, filePath))


    Writing a key is even easier...just supply the header, key, data, and filename.


    WritePrivateProfileStringA header, key, Datum, filePath

  • Der Ausschnitt ist aus einem VB-Forum entnommen.


    Bei den Declarations muß man in LS etwas "nachbessern", aber ansonsten steht alles drin, was man braucht, um INI-Dateien zu bearbeiten.


    Zur Manipulation von Registry-Einträgen gibt es Ähnliches. Beim Googlen wird man fündig, wenn man etwas wie "Public Function" oder "Declaration" mitsucht. Sonst wird man von käuflichen Utilities, Beratern und Schulungsunterlagen immer zugemüllt.

    • Offizieller Beitrag
    Zitat

    Ini-Datei der Windowsumgebung

    Welche Windows-Version setzt Ihr ein?


    ini-Dateien sind alte Technik. Win32 schreibt alles in die Registry.
    Das Benutzen der Registry ist - glaube ich - zukunftssicherer, da ini-Dateien begrenzt sind.


    Eine ini-Datei ist wie folgt aufgebaut:

    Code
    [Abschnitt1]Eintrag1=Wert1Eintrag2=Wert2[Abschnitt2]...


    Eintrag schreiben:

    Code
    Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (Byval lpApplicationName As String, Byval lpKeyName As Any, Byval lpString As Any, Byval lpFileName As String) As LongSub Click(Source As Button)  WritePrivateProfileString Abschnitt, Eintrag, Wert, DateinameEnd Sub


    Abschnitt schreiben:

    Code
    Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (Byval lpAppName As String, Byval lpString As String, Byval lpFileName As String) As LongSub Click(Source As Button)  WritePrivateProfileSection Abschnitt, "", DateinameEnd Sub


    Eintrag lesen:

    Code
    Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (Byval lpApplicationName As String, Byval lpKeyName As Any, Byval lpDefault As String, Byval lpReturnedString As String, Byval nSize As Long, Byval lpFileName As String) As Long  Sub Click(Source As Button)  Dim RetVal As String * 255, v As Long  v = GetPrivateProfileString(Abschnitt, Eintrag, "", RetVal, 255, Dateiname)  wert = Left(RetVal, v - 1)End Sub


    Abschnitt lesen:

    Code
    Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (Byval lpAppName As String, Byval lpReturnedString As String, Byval nSize As Long, Byval lpFileName As String) As Long
      
    Sub Click(Source As Button)
      Dim RetVal As String * 255, v As Long
      v = GetPrivateProfileSection(Abschnitt, RetVal, 255, Dateiname)
      wert = Left(RetVal, v - 1)
    End Sub


    Abschnitt, Dateiname, Eintrag und Wert muss Du natürlich noch anpassen.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein