tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Steiner_B
ERLEDIGT
JA
ANTWORTEN
13
ZUGRIFFE
462
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    Liebe Forengemeinde,

    ich speichere Daten in einer .ini-Datei.

    Code :
    1
    2
    3
    4
    5
    6
    
    [einsatz_MaxMustermann2]
    name=Max Mustermann
    straße=Musterstraße 11
    postleitzahl=13254
    Stadt=Musterhausen
    ....

    nun würde ich gerne die Sektionen zählen, die mit "einsatz_" anfangen. Ist das irgendwie möglich****?

    Danke schonmal,
    Eikee
     
    Lieben Gruß,
    Eike Schlüter

    **** Bitte erledigte Beiträge auch so markieren! ****

    Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws

  2. #2
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Ja natürlich ist das möglich: Die einfachste Variante ist es den gesammten Inhalt der Datei in einen String zu laden, und diesen dann (z.B.: mit Regular Expressions) nach "[einsatz_" zu durchsuchen. Wenn du genauere Hilfe brauchst müsstest du bitte angeben in welcher Sprache du entwickelst.
     

  3. #3
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    Hallo Steiner_B,

    das wäre echt cool, wenn Du mir da helfen könntest. Ich entwickle mit Visual Basic (V. 2010)

    Danke schön,
    Eikee
     
    Lieben Gruß,
    Eike Schlüter

    **** Bitte erledigte Beiträge auch so markieren! ****

    Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws

  4. #4
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Wo genau liegt jetzt die Schwierigkeit? Beim Öffnen einer Datei? Oder beim Lesen einer Datei? Oder beim Zählen von Vorkommen in einem String? Ein paar mehr Infos wären hilfreich.
     
    hihi = -h²

  5. #5
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Ich würde vorschlagen du googlest mal nach "vb.net regex" oder was ähnlichem und meldest dich wieder hier wenn du ein konkretes Problem hast.
     

  6. #6
    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
    Ich würde eher vorschlagen, das Persistieren der Daten nicht über Ini-Dateien zu machen sondern über Xml.
    Die Abfrage der Anzahl der Datensätze ist dann ehreblich einfacher und performanter (vor allem bei vielen Datensätzen)
     
    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

  7. #7
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    Hallo und danke für die Tipps.

    Ich habe mittlerweile nach regex gesucht und bin auch fündig geworden.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    Imports System
    Imports System.Text.RegularExpressions
     
    Public Module Test
     
        Public Sub Main()
            ' Define a regular expression for repeated words.
            Dim rx As New Regex("\b(?<word>\w+)\s+(\k<word>)\b", _
                   RegexOptions.Compiled Or RegexOptions.IgnoreCase)
     
            ' Define a test string.        
            Dim text As String = "The the quick brown fox  fox jumped over the lazy dog dog."
     
            ' Find matches.
            Dim matches As MatchCollection = rx.Matches(text)
     
            ' Report the number of matches found.
            Console.WriteLine("{0} matches found in:", matches.Count)
            Console.WriteLine("   {0}", text)
     
            ' Report on each match.
            For Each match As Match In matches
                Dim groups As GroupCollection = match.Groups
                Console.WriteLine("'{0}' repeated at positions {1} and {2}", _ 
                                  groups.Item("word").Value, _
                                  groups.Item(0).Index, _
                                  groups.Item(1).Index)
            Next
        End Sub
    End Module

    Diesen Code fand ich im Internet unter http://msdn.microsoft.com/de-de/libr...tanceContinued

    Nun habe ich diesen Code mal ein wenig abgeändert und nun sieht er so aus:

    Code :
    1
    2
    3
    4
    5
    
           Dim rx As New Regex("[einsatz_", _
                   RegexOptions.Compiled Or RegexOptions.IgnoreCase)
            Dim text As String = System.IO.File.ReadAllText(p_Protokoll)
            Dim matches As MatchCollection = rx.Matches(text)
            tb_Einsatznummer.Text = matches.Count

    Mein Problem ist, dass er keinen Fehler ausgibt und auch keinen Wert

    Was mache ich falsch****? Ich danke schonmal im Vorraus.4

    Eikee
     
    Lieben Gruß,
    Eike Schlüter

    **** Bitte erledigte Beiträge auch so markieren! ****

    Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws

  8. #8
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Hallo,

    Zwei Fragen: Was war der Eingabetext bei dem du nichts gefunden hast, und zweitens: Findest du was wenn du die "[" am Anfang deines Suchstrings weglässt ([ ist ein reserviertes Zeichen bei regular Expressions).
     

  9. #9
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    Der Eingabetext steht in einer ini-Datei (p_Protokoll) ist der Pfad.....
     
    Lieben Gruß,
    Eike Schlüter

    **** Bitte erledigte Beiträge auch so markieren! ****

    Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws

  10. #10
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Ja schon klar, aber kannst du bitte den Inhalt der Datei hier posten, damit wir mal sehen welche Daten dein Programm verarbeitet? Sonst ist es schwer zu sagen warum du nichts findest.
     

  11. #11
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    Ok... Dateiinhalt:

    [Protokoll]
    Wachbeginn=03.08.2011 09:15:25
    Wachleiter=Eike Schlüter

    [anw_btn1]
    name=Eike Schlüter
    eingetragen=09:15

    [einsatz_MaxMustermann1]
    name=Max
    vorname=Mustermann
    geboren=17.08.1989
    strasse=teststraße 1
    postleitzahl=123456
    telefon=1452522

    [einsatz_MaxMustermann1]
    name=Max
    vorname=Mustermann
    geboren=17.08.1989
    strasse=teststraße 1
    postleitzahl=123456
    telefon=1452522
     
    Lieben Gruß,
    Eike Schlüter

    **** Bitte erledigte Beiträge auch so markieren! ****

    Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws

  12. #12
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    Normalerweise sollte er, wenn ich das Formular dafür öffne, beim zweiten Einsatz automatisch ne zwei schreiben, und beim dritten ne 3 usw. Nun gebe ich das immer manuell ein. Desswegen auch zweimal die eins, weil ich mich vertippt habe.
     
    Lieben Gruß,
    Eike Schlüter

    **** Bitte erledigte Beiträge auch so markieren! ****

    Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws

  13. #13
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Hallo,

    Ist wie ich schon oben vermutet hatte, du musst in einem Regex-String die [ escapen, versuchs mal mit
    Code :
    1
    2
    
    Dim rx As New Regex("\[einsatz_", _
                   RegexOptions.Compiled Or RegexOptions.IgnoreCase)
    esdesign bedankt sich. 

  14. #14
    Avatar von esdesign
    esdesign esdesign ist offline Grafikdesigner
    Registriert seit
    Mar 2010
    Ort
    Bremen
    Beiträge
    64
    Hey,

    es hat funktioniert. Vielen Dank! Nochmal für alle, die ein änliches Prob haben der richtige Code:

    Code :
    1
    2
    3
    4
    5
    
            Dim rx As New Regex("\[einsatz_", _
                           RegexOptions.Compiled Or RegexOptions.IgnoreCase)
            Dim text As String = System.IO.File.ReadAllText(p_Protokoll)
            Dim matches As MatchCollection = rx.Matches(text)
            tb_Einsatznummer.Text = matches.Count + 1

    *p_Protokoll = Var für den Pfad zur Datei
    *tb_Einsatznummer.Text = Textfeld wo die Zahl ausgegeben wird.
    *matches.Count = Anzahl der Vorkommnisse
     
    Lieben Gruß,
    Eike Schlüter

    **** Bitte erledigte Beiträge auch so markieren! ****

    Besuche auch meine neue Homepage: http://www.eshb.org und http://www.eike.schlueter.ws

Ähnliche Themen

  1. Sektionen aus INI FIle lesen
    Von sand13r im Forum C/C++
    Antworten: 8
    Letzter Beitrag: 30.01.09, 10:03
  2. Zeilen in einer Datei zählen ASP.NET?!
    Von uafsc im Forum .NET Web und Kommunikation
    Antworten: 2
    Letzter Beitrag: 19.02.08, 09:15
  3. Sektionen in der URL
    Von Crashburn im Forum PHP
    Antworten: 7
    Letzter Beitrag: 01.06.04, 10:24
  4. Wie kann man Knoten einer XML-Datei zählen ?
    Von Goldman im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 22.03.04, 22:10
  5. Zählen von Namen in einer txt datei?
    Von Nucleus im Forum PHP
    Antworten: 7
    Letzter Beitrag: 22.02.02, 19:48