Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TINIFile, mehrere gleiche Sections? (https://www.delphipraxis.net/147929-tinifile-mehrere-gleiche-sections.html)

schwa226 19. Feb 2010 10:57

Re: TINIFile, mehrere gleiche Sections?
 
Danke!

Jedoch geht von Haus das mit den Doppelten INI-Sections bei FastIniFiles 3.3a bei mir nicht.

Wenn ich die Überprüfung ob die Section schon in der Liste ist dekativiere geht es:
Delphi-Quellcode:
                  // Sektionsnamen kopieren
                  Buf := Trim(Copy(Buf, 2, RBrPos - 2));
//                  if SectionIndex(Buf) = -1 then
//                  begin
                    // Sektion hinzufügen
                    SetLength(Entries, Length(Entries) + 1);
                    Entries[High(Entries)] := TFIniSection.Create(Buf);
                    CurrentSection := High(Entries);
                    // Ggf. Kommentar speichern
                    if CBuf <> '' then
                      (Entries[High(Entries)] as TFIniSection).Comment := CBuf;
                    // Ansonsten Fehler (Eintrag mehrfach definiert)
//                  end
//                  else
//                    isFileValid := False
                      // Syntaxfehler, wenn Sektionsname leer ist
Nun werden alle Sections in die Liste aufgenommen. Mit EnterSection wird dann auch die richtige ausgewählt.

Danke!

himitsu 19. Feb 2010 11:53

Re: TINIFile, mehrere gleiche Sections?
 
Komisch, ich dachte das geht automatisch/immer ... kann mich nicht erinner, daß TDS mal erwähnt hat, daß er für diese Funktion extra was umbauen muß. :gruebel:

probier mal diese Version:
http://www.delphipraxis.net/internal...131614#1131614

schwa226 19. Feb 2010 13:01

Re: TINIFile, mehrere gleiche Sections?
 
Danke!

Die 3.3b geht!

Habe das noch hinzugefügt:
Delphi-Quellcode:
function TFIniFile.AddSection(const nName: string = ''): Integer;
var
  Buf : String;
begin
  if (nName = '') then
  begin
    raise EArgumentException.Create('AddSection braucht einen Namen!');
    Result := -1;
  end
  else begin
    SetLength(Entries, Length(Entries) + 1);
    Entries[High(Entries)] := TFIniSection.Create(nName);
    Result := High(Entries);
  end;
end;
Wenn mehrere gleiche Sections vorhanden sind konnte ich keine neue, mit gleichen Section Namen erzeugen.
Mit AddSection wird die neue Section mit gleichem Namen auf jeden Fall angelegt.
Result ist der Index der neuen Section.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:38 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz