tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
818
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Va7e Va7e ist offline Mitglied Silber
    Registriert seit
    Sep 2008
    Beiträge
    55
    Hi!

    Ich habe eine Ini-Datei, die so aussieht:

    Wert1=0
    Wert2=1
    Wert3=2

    Jetzt möchte ich aus meinem Programm heraus einen Wert ändern, z.B. Wert2=7.
    Gibt es eine Möglichkeit dafür? Ich meine, man könnte ja die ganze Ini-Datei einlesen und komplett wieder mit EINEM veränderten Wert speichern, aber das ist auch nicht der Sinn der Sache... Ich kann mit einer selbstgeschriebenen Klasse die Ini-Datei einlesen und den jeweiligen Wert anzeigen, aber ändern kann ich den nicht.

    Hat Jemand eine Idee?

    MfG
    Va7e
     

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi

    Ini-Dateien kannst du in C# nur über die Windows-API nutzen
    Hier ein Beispiel: http://www.codeproject.com/KB/cs/cs_ini.aspx

    Besser wäre jedoch die Verwendung von Xml-Konfigurationsdateien.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    Va7e Va7e ist offline Mitglied Silber
    Registriert seit
    Sep 2008
    Beiträge
    55
    Zitat Zitat von Nico Graichen Beitrag anzeigen
    Hi

    Ini-Dateien kannst du in C# nur über die Windows-API nutzen
    Hier ein Beispiel: http://www.codeproject.com/KB/cs/cs_ini.aspx

    Besser wäre jedoch die Verwendung von Xml-Konfigurationsdateien.
    Danke für die Antwort! Ich nutze Visual Basic.NET 2008, kein C#. Also es ist ja eigentlich egal, obs eine Ini-Datei ist oder eine ganz normale Text-Datei, es geht erstmal nur darum, dass man ein bestimmtes Zeichen oder meinetwegen eine bestimmte Zeile ersetzen kann. XML-Reader/Writer habe ich bereits

    Hier der Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
            Dim Zeilen As New List(Of String)
            Dim sr As New StreamReader(TestINI)
     
            While Not sr.EndOfStream
                Zeilen.Add(sr.ReadLine())
            End While
     
            sr.Close()
            sr.Dispose()
     
            'zeile ausgeben; achtung wegen nullbasiertem index...
            Replace(Zeilen.ElementAt(1), "2", "7")
     
            Dim sw As New StreamWriter(TestINI, False)
     
            For Each Zeile In Zeilen
                sw.WriteLine(Zeile)
            Next
     
            sw.Flush()
            sw.Close()
            sw.Dispose()

    Ich kann zwar mit Replace den Wert ändern: Wert=1 ---> Wert=7, aber speichern tut er trotzdem Wert=1..
     

  4. #4
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    String kannst du nicht ändern! Replace liefert dir einen neuen String zurück. Für dich bedeutet dies, dass du den Rückgabewert wieder deiner Variable zuweisen musst.

    Als Alternative könntest du dir Nini ansehen. Damit kann man recht bequem (unter anderem) mit Ini Dateien arbeiten.

    lg, Alex
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  5. #5
    Va7e Va7e ist offline Mitglied Silber
    Registriert seit
    Sep 2008
    Beiträge
    55
    Zitat Zitat von Alexander Schuc Beitrag anzeigen
    Hi.

    String kannst du nicht ändern! Replace liefert dir einen neuen String zurück. Für dich bedeutet dies, dass du den Rückgabewert wieder deiner Variable zuweisen musst.

    Als Alternative könntest du dir Nini ansehen. Damit kann man recht bequem (unter anderem) mit Ini Dateien arbeiten.

    lg, Alex
    Doch!
    Habs hingekriegt:

    Code :
    1
    
    Zeilen.Item(1) = Replace(Zeilen.ElementAt(1), "1", "2")

    Trotzdem danke für eure Hilfe!

    MfG
    Va7e
     

Ähnliche Themen

  1. zeichen ersetzen
    Von eklis im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 25.08.10, 16:49
  2. Zeichen ersetzen
    Von Piet-Online im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 08.01.08, 16:31
  3. Zeichen ersetzen
    Von scherzkecks im Forum PHP
    Antworten: 8
    Letzter Beitrag: 20.10.05, 20:56
  4. Zeichen ersetzen
    Von ronnyk im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 01.07.04, 10:22
  5. [MX] einzelnes Zeichen ersetzen
    Von alma im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 30.04.04, 05:51