AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim schreiben in eine ini Datei

Ein Thema von LoW_FloW · begonnen am 21. Dez 2003 · letzter Beitrag vom 22. Dez 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von LoW_FloW
LoW_FloW

Registriert seit: 29. Nov 2003
117 Beiträge
 
Delphi 7 Professional
 
#1

Problem beim schreiben in eine ini Datei

  Alt 21. Dez 2003, 18:58
Bei folgenden Sourcecode, den ich von Typer "ausgeliehen" habe [ big thx ], habe ich ein Problem.
Ich weiß nicht, welche Variable für ini stehen muss (String, Integer, usw.).
Delphi-Quellcode:
// PROZEDURE 1: SPEICHERN

// Nur dann, wenn die Edit-Felder überhaupt Text enthalten
if (Edit1.Text <>'') AND (Edit2.Text <> '') then begin

    // Zuerst die Value-List mit den Werten füllen, das True am Ende
    // steht für "Anhängen", hätte ich hier ein False, und würde der
    // Wert aus Edit1 schon existieren, würde der zugehörige Value
    // von Edit1 mit dem neuen Inhalt von Edit2 überschrieben werden
    ValueList.InsertRow(Edit1.Text,Edit2.Text, True);

    //Edit-Felder zurücksetzen
    Edit1.Text := '';
    Edit2.Text := '';

    //festlegen, in welche Datei wir schreiben
    [color=red][b]ini[/b][/color] := TIniFile.Create('.\connections.ini');

    // Schleife, um alle Werte der Value-List in die Ini zu schreiben
    // warum for i := 1? Bei Null würde auch der Tabellenkopf mit
    // mit gespeichert werden!
    for i := 1 to (ValueList.RowCount - 1) do begin
       // Zuerst den Key, logisch, und dann den dazugehörigen Wert,
       // den wir leider nicht über den Index sondern über den
       // Key direkt rausfinden!
       ini.WriteString('Sektion1', ValueList.Keys[i],
                        ValueList.Values[ValueList.Keys[i]]);
    end;
    ini.Free;
end;
// Fertig
==============================================
sry, aber ich bin noch ein n00b!
Bitte um Hilfe

[edit=Luckie] Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 19:01
Hi und willkommen in der DP

Schreib das dazu

Delphi-Quellcode:
uses Inifiles

...


var
  Ini : TIniFile;
Dann sollte es gehen


Edit: Achso schreib den Code in die Delphi-Tags [ delphi]*Code*[/delphi]. Danke
  Mit Zitat antworten Zitat
Benutzerbild von LoW_FloW
LoW_FloW

Registriert seit: 29. Nov 2003
117 Beiträge
 
Delphi 7 Professional
 
#3

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 19:12
danke @ Spider

du bist ja sau schnell..

funzt alles SUPER
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 19:14
Danke für die Blumen
  Mit Zitat antworten Zitat
Benutzerbild von LoW_FloW
LoW_FloW

Registriert seit: 29. Nov 2003
117 Beiträge
 
Delphi 7 Professional
 
#5

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 20:42
Hab ein neues Problem...Der Text wird zwar aus der ValueList gelöscht, aber nicht aus der Datei (daten.ini).
Ich nehme an, es hat etwas mit dem ini.DeleteKey('Daten', ValueList.Keys[ValueList.Row] ) zu tun

Delphi-Quellcode:
// Prozedure 3: Das Löschen

  // hier brauch man glaub ich nicht viel erklären, hier wird einfach
  // der Wert aus der Ini gelöscht, der im Moment in der ValueList
  // markiert ist
  ini := TIniFile.Create('.\daten.ini');
  ini.DeleteKey([color=red]'Daten'[/color] :gruebel:, ValueList.Keys[ValueList.Row] );
  ini.Free;
  
  // Und erst danach können wir den Wert selber auch aus der
  // Valuelist entfernen
  Connections.DeleteRow(Connections.Row);

// und fertich
====================================
Für Hilfe wäre ich sehr dankbar...

[edit=Luckie]Warum packst du den Code immer in Quote-Tags? Wir haben extra Delphi-Tags für Delphi-Code. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 20:48
wo liegt jetzt das problem?? geht deletekey nicht?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 20:50
Ist der Key auch nach dem Schließen der Connection noch in der Datei? Es könnte sein dass Änderungen erst beim Schließen der Verbindung zur ini-Datei geschrieben werden, aber ich will nicht zuviel sagen, ich kenn mich nicht wirklich aus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von LoW_FloW
LoW_FloW

Registriert seit: 29. Nov 2003
117 Beiträge
 
Delphi 7 Professional
 
#8

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 20:56
Zitat von alcaeus:
...Es könnte sein dass Änderungen erst beim Schließen der Verbindung zur ini-Datei geschrieben werden, aber ich will nicht zuviel sagen, ich kenn mich nicht wirklich aus
Genau das trifft zu, nur wie kann man das ändern, dass die während des laufen des Programms die ini-Datei gändert wird?
Aber erst mal vielen Dank an alcaeus für die Antwort
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#9

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 20:58
Poste mal einen Link zum gesamten Source, dann kann ich das ganze mal durchchecken und schauen was möglich ist..
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von LoW_FloW
LoW_FloW

Registriert seit: 29. Nov 2003
117 Beiträge
 
Delphi 7 Professional
 
#10

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 21:37
Das wird einfach nicht aus der INI gelöscht...nur aus der ValueList!
Hier der volle Source:
Code:
unit uDatenbank;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ValEdit, ExtCtrls, StdCtrls, Inifiles;

type
  TForm1 = class(TForm)
    cbSperren: TCheckBox;
    lblSperren: TLabel;
    Panel1: TPanel;
    Label2: TLabel;
    ValueList: TValueListEditor;
    Edit1: TEdit;
    btnListe: TButton;
    Button2: TButton;
    Edit2: TEdit;
    Button3: TButton;
    Panel2: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    procedure btnListeClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Ini : TIniFile;
  Sections: TStringlist;
implementation

{$R *.dfm}

procedure TForm1.btnListeClick(Sender: TObject);
var
i : integer ;
begin

if (Edit1.Text <>'') AND (Edit2.Text <> '') then begin
    ValueList.InsertRow(Edit1.Text,Edit2.Text, True);
    Edit1.Text := '';
    Edit2.Text := '';
    ini := TIniFile.Create('.\daten.ini');
    // Schleife, um alle Werte der Value-List in die Ini zu schreiben
    // warum for i := 1? Bei Null würde auch der Tabellenkopf mit
    // mit gespeichert werden!
    for i := 1 to (ValueList.RowCount - 1) do begin
       // Zuerst den Key, logisch, und dann den dazugehörigen Wert,
       // den wir leider nicht über den Index sondern über den
       // Key direkt rausfinden! 
       ini.WriteString('Sektion1', ValueList.Keys[i],
                        ValueList.Values[ValueList.Keys[i]]);
    end;
    ini.Free;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i : integer ;
// j, help : integer ;
begin
//    for j := 0 to (ValueList.RowCount - 1) do
//     ValueList.DeleteRow(i);
  Sections := TStringList.Create;
  ini := TIniFile.Create('.\daten.ini');
  ini.ReadSection('Sektion1', Sections);
  ini.ReadSectionValues('Sektion1', Sections);
  for i := 0 to Sections.Count - 1 do
     ValueList.InsertRow(Sections.Names[i],Sections.Values
               [Sections.Names[i]],True);
  ini.Free;
  Sections.Free;
end;

[b]procedure TForm1.Button3Click(Sender: TObject);
begin
  // hier brauch man glaub ich nicht viel erklären, hier wird einfach
  // der Wert aus der Ini gelöscht, der im Moment in der ValueList
  // markiert ist
  ini := TIniFile.Create('.\daten.ini');
  ini.DeleteKey('Daten', ValueList.Keys[ValueList.Row] );
  ini.Free;

  // Und erst danach können wir den Wert selber auch aus der
  // Valuelist entfernen
  ValueList.DeleteRow(ValueList.Row);

end;[/b]

end.
Für Hilfe wäre ich dankbar
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:05 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