Kategorien Sortieren?
#1
geschrieben 22. September 2005 - 12:59
also ich habe hier ne datei mit vielen vielen kategorien die durcheinandergewürfelt sind
beispiel:
[SourceDisksFiles]
SP2QFE\atapi.sys=1
[SourceDisksFiles]
SP2QFE\userenv.dll=1
bloss eben sind dazwischen noch andere kategorien und die kategorie is nich nur 1x da!
wie kann ich aus dieser unstrukturierten datei eine datei machen wo die kategorien nur 1x da sind mit dem ganzen inhalt? also folgendes:
[SourceDisksFiles]
SP2QFE\atapi.sys=1
SP2QFE\userenv.dll=1
wie ist das machbar ?
ich hoffe ihr könnt mir damit helfen
MfG Sereby
Anzeige
#2
geschrieben 22. September 2005 - 13:16
Dann suchst du nach [ ] und deren inhalt, dieser wert wird genommen und im dokument gesucht.
wenn er noch mal auftritt wird er in eine neue liste unter dem ersten geschrieben usw.
Das machst du solange bis alle [] weg sind, am ende musst du nur noch die neue liste abspeichern.
you are running an OS
you use a Browser
I know so much about you...
#3
geschrieben 22. September 2005 - 13:27
Dieser Beitrag wurde von Sereby bearbeitet: 22. September 2005 - 13:29
#4
geschrieben 22. September 2005 - 15:20
SourceDisksFiles-> SP2QFE\atapi.sys=1, SP2QFE\userenv.dll=1
SomeotherFiles-> asdasDSADS, aDSFDSSADFS
Das schöne an einer Hashmap ist, wenn SourceDisksFiles nicht vorhanden ist, wird der Key angelegt, ist er vorhanden, machst du einfach value + dem neuen String also z.B. SP2QFE\atapi.sys=1 . ";" . SP2QFE\userenv.dll=1
Zum Parsen nimmst du ne RegExpression, die nach *[*]*, jedesmal wenn die RegExpersion zutrifft, fängst du an die nachfolgenden lines in die Hashmap mit dem Key, der in [*] drin ist, zu schreiben.
Danach gehst du einmal die Hashmap durch und schreibst mit foreach alle key values raus, strukturiert sind sie bereits in der Hashmap
Ich würde jetzt mal sagen, das ganze ist in ca 30 geschrieben und gestestet:-)
#5
geschrieben 29. September 2005 - 08:45
einfach alles einlesen ( GetPrivateProfileString ) und dann wieder zurückschreiben ( WritePrivateProfileString ) dann müsste alles am richtigen platz sein wenn ich mich nicht irre.
d00p
Ihr hättet es wissen müssen, Ihr hättet es wissen müssen -
Steine auf Herz und Seele, uns schießt der Saft in die Tränenkanäle.
Ihr hättet es wissen müssen, lasst euch zum Abschied küssen -
Vom Überall ins Nirgendwo, Geschichten enden nun mal so...
Danke Kevin, Stephan, Gonzo & Pe
"Männer sind wie Lego" [der große Cosmo]
#6
geschrieben 29. September 2005 - 09:02
[SourceDisksFiles]
SP2QFE\atapi.sys=1
[SourceDisksFiles]
SP2QFE\userenv.dll=1
und da müsste folgendes sein:
[SourceDisksFiles]
SP2QFE\atapi.sys=1
SP2QFE\userenv.dll=1
und genau das war sein Problem:-)
#7
geschrieben 29. September 2005 - 09:19
#8
geschrieben 29. September 2005 - 10:21
#9
geschrieben 29. September 2005 - 11:56
Ihr hättet es wissen müssen, Ihr hättet es wissen müssen -
Steine auf Herz und Seele, uns schießt der Saft in die Tränenkanäle.
Ihr hättet es wissen müssen, lasst euch zum Abschied küssen -
Vom Überall ins Nirgendwo, Geschichten enden nun mal so...
Danke Kevin, Stephan, Gonzo & Pe
"Männer sind wie Lego" [der große Cosmo]
#10
geschrieben 29. September 2005 - 12:05
#11
geschrieben 29. September 2005 - 13:35
oder auch ein bissy mehr, bin ja noch im Büro
Dieser Beitrag wurde von d00p bearbeitet: 29. September 2005 - 13:55
Ihr hättet es wissen müssen, Ihr hättet es wissen müssen -
Steine auf Herz und Seele, uns schießt der Saft in die Tränenkanäle.
Ihr hättet es wissen müssen, lasst euch zum Abschied küssen -
Vom Überall ins Nirgendwo, Geschichten enden nun mal so...
Danke Kevin, Stephan, Gonzo & Pe
"Männer sind wie Lego" [der große Cosmo]
#13
geschrieben 29. September 2005 - 15:00
Ihr hättet es wissen müssen, Ihr hättet es wissen müssen -
Steine auf Herz und Seele, uns schießt der Saft in die Tränenkanäle.
Ihr hättet es wissen müssen, lasst euch zum Abschied küssen -
Vom Überall ins Nirgendwo, Geschichten enden nun mal so...
Danke Kevin, Stephan, Gonzo & Pe
"Männer sind wie Lego" [der große Cosmo]
#14
geschrieben 29. September 2005 - 16:25
Erstmal eine gute Nachricht, meine Theorie hat sich bestätigt, danach ist alles sortiert + funktionieren tuts auch.
datei vorher:
[Kat1] bla=1 blu=2 bli=3 [Kat2] bla=4 blu=5 [Kat3] bla=7 blu=8 bli=9 [Kat2] bli=6
Datei nacher:
[Kat1] bla=1 blu=2 bli=3 [Kat2] bla=4 blu=5 bli=6 [Kat3] bla=7 blu=8 bli=9
Kommentare (mit #) und Leerzeilen werden rausgeparst.
Das programm kriegste hier -> RepairIni.exe
einfach ne cmd aufmachen und
RepairIni C:/Daten/Eingabe.ini C:/Daten/Ausgabe.ini
d00p
Dieser Beitrag wurde von d00p bearbeitet: 29. September 2005 - 16:26
Ihr hättet es wissen müssen, Ihr hättet es wissen müssen -
Steine auf Herz und Seele, uns schießt der Saft in die Tränenkanäle.
Ihr hättet es wissen müssen, lasst euch zum Abschied küssen -
Vom Überall ins Nirgendwo, Geschichten enden nun mal so...
Danke Kevin, Stephan, Gonzo & Pe
"Männer sind wie Lego" [der große Cosmo]
#15
geschrieben 29. September 2005 - 17:03
1. scheints nur zu gehn wenn das im C:\Daten ordner is!
2. scheint der nur 1x nach der kategorie zu suchen! Denn von 293kb werden 3kb.. das is bissl wenig!
3. nach jeder kategorie eine trennzeile wäre nich schlecht ^^
hoffe du weisst was ich meine und kannst das verbessern