AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ganzes INI-Segment in einem Memo? o.O
Thema durchsuchen
Ansicht
Themen-Optionen

Ganzes INI-Segment in einem Memo? o.O

Ein Thema von Master_RC · begonnen am 6. Jan 2006 · letzter Beitrag vom 12. Jan 2006
Antwort Antwort
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#1

Ganzes INI-Segment in einem Memo? o.O

  Alt 6. Jan 2006, 01:43
hi leutz!

Ich hab gerade vor, eine INI so auszulesen, dass bei der Auswahl in einem Memo das ganze Segment zu sehen ist.

Beispiel:
Wenn das INI-Segment so aussieht:

[Segment 1]
Bla=285
Bla2=uodishfs
Mann=giufhg

dann sollen auch all diese 4 Zeilen im Memo stehen, nur... wie mach ich das?

//EDIT:
Wäre schon, wenn auch Kommentare mit reingeschrieben würden, also:

[Segment 1]
//Kommentar
Bla=285
Bla2=uodishfs
Mann=giufhg

oder so
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Ganzes INI-Segment in einem Memo? o.O

  Alt 6. Jan 2006, 05:23
Zitat:
ReadSectionValues (Methode von TIniFile)
Delphi-Syntax:
procedure ReadSectionValues(const Section: String; Strings: TStrings); override; Beschreibung
ReadSectionValues liest die Schlüssel und die Werte aller Schlüssel eines Abschnitts der INI-Datei in eine String-Listenobjekt (TStrings-Nachkomme) ein. Die Schlüsselnamen und die Werte werden der String-Liste in der Form KeyName=ValueName hinzugefügt.
Der String Section bezeichnet den Abschnitt in der Datei, aus dem die Schlüsselwerte gelesen werden sollen.
Der Parameter Strings bezeichnet das String-Listenobjekt, in das die Werte eingelesen werden sollen. Der Parameter Strings
kann auf ein TStrings-Objekt zeigen oder auf eine Komponenteneigenschaft, wie z.B. Items für eine TListBox-Komponente, die wiederum ein TStrings-Objekt ist.
Was deine Kommentare angeht wirds wohl schwierig werden. Probiers einfach mal aus, ob der INI-Parser die Kommentare mitliefert. Wenn nicht kannst du ja immer noch einen Schlüssel namens "Comment" erfinden.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Ganzes INI-Segment in einem Memo? o.O

  Alt 6. Jan 2006, 05:32
Da Kommentare im Ini-Datei-Format nicht vorgesehen sind, glaube ich, nicht dass die In-Klasse selbige auslesen kann. Du müsstes also die Klasse selber entsprechend deinen Wünschen erweiteren. Das wäre für mich eine zu mindest eine saubere Lösing: Eine Neue Klasse TIniEx ableiten und entsprechend ergänzen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Ganzes INI-Segment in einem Memo? o.O

  Alt 11. Jan 2006, 19:38
Nun denn, dann kommen eben Kommentar enicht mit

Danke euch beiden, klappt einwandfrei!
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Ganzes INI-Segment in einem Memo? o.O

  Alt 11. Jan 2006, 20:27
Hi.

TMemIniFile lässt die Steuerdatei fast unverändert - Leerzeilen werden eliminiert, aber meine Kommentare bleiben erhalten:

Delphi-Quellcode:
unit DemoFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, IniFiles;

type
  TDemoForm = class(TForm)
    Memo: TMemo;
    ActionPanel: TPanel;
    Button: TButton;
    ComboBox: TComboBox;
    Edit: TEdit;
    procedure ButtonClick(Sender: TObject);
    procedure ComboBoxChange(Sender: TObject);
  private
    mif: TMemIniFile;
  end;

var
  DemoForm: TDemoForm;

implementation

{$R *.dfm}

procedure TDemoForm.ButtonClick(Sender: TObject);
begin
  if FileExists(Edit.Text) then
  begin
    FreeAndNil(mif);
    mif := TMemIniFile.Create(Edit.Text);
    mif.ReadSections(ComboBox.Items);
  end else ComboBox.Clear;
end;

procedure TDemoForm.ComboBoxChange(Sender: TObject);
begin
  mif.ReadSectionValues(ComboBox.Text, Memo.Lines);
end;

end.
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Ganzes INI-Segment in einem Memo? o.O

  Alt 12. Jan 2006, 14:02
Schau dir mal dort link TIniList an.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz