Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: adminnaddel am 28.01.05 - 14:32:12

Titel: notes.ini mit LS | VBS | API ändern .....
Beitrag von: adminnaddel am 28.01.05 - 14:32:12
Hallo liebe Gemeinde,

einiges habe ich innerhalb des Forums gefunden, aber nicht wirklich hat mich etwas weitergebracht. Der liebe Ulrich hatte mal ne schöne API Lösung, die aber auch nicht unbedingt funzt  ::)

Was möchte ich?

In 3000 x notes.ini´s zwei Zeilen ändern! Hinzufügen über LS klappt, aber suche mir einen bestimmten String, nur wenn String gefunden, dann ersetze die gesamte Zeile!

Hatte noch nie jemand dieses Bedürfnis?

lg
Andy
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: elajen am 28.01.05 - 14:50:45
Hallo,

ist das jetzt eine Feststellung und du willst uns den Code gleich verraten, oder
fragst, wie das geht?

Falls zweiteres, dann frage ich dich, wo steht der String den du suchst: in einer Variable oder in einem Variableninhalt?

Gruß von Ekki
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: adminnaddel am 28.01.05 - 15:16:15
@elajen .. in einer Variable!

Meine Aussage:

- ich weiß wie es funzt über LS Zeilen hinzuzufügen
- ich wüsste aber schon gerne wie verändere ich eine bestimmte Zeile!

lg Andy
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: eknori am 28.01.05 - 15:27:08
guckst du http://www.atnotes.de/index.php?topic=4159.msg20917#msg20917
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: adminnaddel am 28.01.05 - 15:36:06
@Eknori ... ich musste doch leider schon oben schreiben, das ich dich ja für diesen Code beneide, dieser aber nicht funzt  8)

lg
Andy

PS: Beim copy & paste kriege ich nur .... not a sub or function name
Call InsertIntoArray(IniFileLines,Counter-1,Counter,INI_Section)
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: eknori am 28.01.05 - 15:42:25
ahh, sag das doch gleich

Sub InsertIntoArray(InsertArray As Variant,ArrayLen As Long,PositionToInsert As Long,ValueToInsert As String)
' this function will insert a value into an array
' Call InsertIntoArray(IniFileLines,Counter-1,Counter,INI_Section)
   ArrayLen = ArrayLen + 1
   Redim TempArray(ArrayLen) As String
   Redim Preserve InsertArray(ArrayLen)
   Dim ArrayIndex As Long
   
   For ArrayIndex = 0 To PositionToInsert - 1 ' insert rows from InsertArray up to the PositionToInsert
      TempArray(ArrayIndex) = InsertArray(ArrayIndex)
   Next
' now put in ValueToInsert
   TempArray(PositionToInsert) = ValueToInsert
   For ArrayIndex = PositionToInsert + 1 To ArrayLen
      TempArray(ArrayIndex) = InsertArray(ArrayIndex - 1)
   Next
   
' now put values back into InsertArray
   For ArrayIndex = 0 To ArrayLen
      InsertArray(ArrayIndex) = TempArray(ArrayIndex)
   Next
   
End Sub
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: koehlerbv am 28.01.05 - 15:49:18
Warum machst Du das eigentlich, Ulrich:

ValueToInsert As String

Bei so einer allgemeinen Routine hättest Du doch gleich viel mehr Fälle "erschlagen", wenn Du da Variant erlaubst ...

Bernhard
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: eknori am 28.01.05 - 15:51:02
der code ist schon uralt; wahrscheinlich wusste ich es damals nicht besser
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: adminnaddel am 28.01.05 - 16:08:19
okay .. ich habe mal

   INI_PATH = "C:\Windows\"
   INI_FileName = "notes.ini"
   INI_Section = "[Notes]"
   INI_Variable = "Directory"
   INI_Value = "c:\notes\data"

aber wo ist denn der neue Value definiert? Finde ich einfach nicht!

lg Andy
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: eknori am 28.01.05 - 16:24:59
Aufruf mit

   Dim ReturnValue As String
   
   dummy = INI_write ("c:\programme\lotus\Notes\", "Notes.ini","[Notes]","$HDLANG", "GR", ReturnValue  )
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: adminnaddel am 28.01.05 - 16:28:55
@Eknori .... vielen Dank .... aber ich lasse das jetzt mit dem LS bzgl. der notes.ini

Diese blöden ini´s sind nur plain text Dateien .. die ich mit einem VBS ansprechen und verändern werde! Value-Austausch wenn SearchString gefunden!

Vielen Dank

Andy
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: eknori am 28.01.05 - 16:57:46
Zitat
aber ich lasse das jetzt mit dem LS bzgl. der notes.ini
*vor den Kopf klatsch*
und warum diskutieren wir dann hier ??
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: wfh am 28.01.05 - 17:10:39
Und über Policy ändern ist keine Option?
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: adminnaddel am 31.01.05 - 08:50:33
Moin @all,

@eknori: sorry, wollte dir das nicht an den Kopf klatschen  ;D, aber du bist nach und nach mit code-schnippseln rausgerückt, womit ich zunächst leider nichts anfangen konnte!
Ich möchte das ja üner LS realisieren und werde mir nun mal mühe geben!

@wfh: demnke das erfüllt nicht den Zweck! Bin mir da baer nicht ganz sicher!

lg
Andy
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: adminnaddel am 31.01.05 - 09:46:49
Upps .. da gibt es soch noch leider ein kleines Problem:

er nimmt zwar die eine Notes.ini aber nicht die, die im Unterverzeichnis liegen  :o

Gibt es denn überhaupt mit LS die Möglichkeit auch Unterordner mit einzubeziehen?

lg
Andy
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: Tode am 07.02.05 - 13:37:51
ich weiss nicht.. bin ich jetzt blöd, oder seid Ihr's ...  ;)

notes.ini ändern per Script... Warum fliegt Ihr solche schleifen ? Habe ich irgendwas überlesen ?

abfrage = NotesSession.GetEnvironmentString( "DiesenIniWertAbfragen" )
if abfrage <> "" then
  call NotesSession.SetEnvironmentString( "irgendeineZeile" , "irgendeinwert" )
else
  call NotesSession.SetEnvironmentString( "irgendeineZeile" , "" )
end if
SetEnvironmentstring mit leerem Wert löscht die Zeile...

Gruß
Tode
Titel: Re: notes.ini mit LS | VBS | API ändern .....
Beitrag von: Semeaphoros am 07.02.05 - 14:04:28
Torsten, wenn Du blöd bist, dann sind wir im gleichen Club .... ich frag mich das schon die ganze Zeit, hatte nur keine Lust zu schreiben .....