AGB  ·  Datenschutz  ·  Impressum  







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

Kurze Frage zur Config.ini

Ein Thema von LittleTee · begonnen am 26. Aug 2011 · letzter Beitrag vom 26. Aug 2011
Antwort Antwort
LittleTee

Registriert seit: 26. Aug 2011
6 Beiträge
 
Delphi 2007 Architect
 
#1

Kurze Frage zur Config.ini

  Alt 26. Aug 2011, 18:29
Hallo liebe Delphi-Community!

Ich habe erst vor kurzem mit der schönen Sprache Delphi begonnen und war sofort fasziniert
Nun da ich aber noch ein Anfänger bin kam ich nicht zur Lösung meines kleinen Problems

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  Ini: TIniFile;
begin
  Ini:=TIniFile.Create('C:\Users\Name\Projekt\Patienten.ini');
    try
    Ini.WriteString('Patient', 'Name',Edit1.Text);
    Ini.WriteString('Patient', 'Vorname',Edit2.Text);
    Ini.WriteString('Patient', 'Geb.Datum',Edit3.Text);
    Ini.WriteString('Patient', 'Krankenkasse',Edit4.Text);
    Ini.WriteString('Patient', 'Blutgruppe',Edit5.Text);
    Ini.WriteString('Patient', 'Strasse',Edit6.Text);
    Ini.WriteString('Patient', 'PLZ',Edit7.Text);
    Ini.WriteString('Patient', 'Ort',Edit8.Text);
    Ini.WriteString('Patient', 'Tel',Edit9.Text);
    Ini.WriteBool('Patient','Männlich',RadioButton1.Checked);
    Ini.WriteBool('Patient','Weiblich',RadioButton2.Checked);
    Panel1.Font.Size:=18;
    Panel1.Caption:='Gespeichert';
  finally
    Ini.Free;
  end;
  end;
Nun hier speichert er mir die Daten immer in der Spalte '[Patienten]'. Nun will ich aber, dass bei jedem Klick [Button1Click] die Patientenanzahl um 1 erhöht, dass der Patient davor nicht verloren geht. Ich hatte mir da irgendwie sowas gedacht: Ini.WriteString('Patient'+1, 'Name',Edit1.Text); Aber scheint nicht so ganz zu funktionieren wie ich es wollte


Könnt ihr mir bei meinem Problem helfen


MfG Little~
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Kurze Frage zur Config.ini

  Alt 26. Aug 2011, 18:34
Delphi ist recht strikt was Datentypen angeht. Die Write-Methoden von TIniFile erwarten nunmal für den Namen des Abschnitts einen String und keine Zahl. Du musst die daher die aktuelle Anzahl an Patienten in einer Integer-Variablen merken und diese bei Bedarf um 1 erhöhen. Außerdem musst du den Integer für den Aufruf der WriteMethoden in einen String konvertieren - das erledigt die Funktion IntToStr(...) Das ganze sieht dann in etwa so aus:

Delphi-Quellcode:
// irgendwo deine Variable mit der Patientenzahl
var
 Patientenzahl: Integer

{ ... }

// an einer geeigneten Stelle die Zahl erhöhren
 Patientenzahl := Patientenzahl + 1;

{ ... }

// WriteString würde man dann etwa so aufrufen (auch wieder an der passenden Stelle natürlich)
Ini.WriteString('Patient' + IntToStr(Patientenzahl), 'Name',Edit1.Text);
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#3

AW: Kurze Frage zur Config.ini

  Alt 26. Aug 2011, 18:41
Besser ist es noch, wenn du deinen Sectionwert davor festlegst und dann nur noch die Variable nutzt. Beispiel:
Delphi-Quellcode:
Patientenzahl := Patientenzahl + 1;
sectionname := 'Patient' + IntToStr(Patientenzahl);

ini.WriteString(sectionname,'Name',Edit1.Text);
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#4

AW: Kurze Frage zur Config.ini

  Alt 26. Aug 2011, 20:46
Aber scheint nicht so ganz zu funktionieren wie ich es wollte
Aber das ist keine verständliche Fehlerbeschreibung und der Thread-Titel sagt auch nichts über dein Problem aus.

Zitat:
[DCC Fehler] Unit2.pas(177): E2010 Inkompatible Typen: 'string' und 'Integer'
Wobei das hier ja eigentlich das Problem erklärt.

Integer paßt nicht zum String, also macht man sich einfach aus dem Integer einen String.

Und Codewalker hat den Grund ja schon gesagt.
Typen müssen immer genau übereinstimmen.
Aber für viele Stringtypen gibt es untereinander automatische Konvertierungen, so wie auch vor viele ordinale Typen,
aber zwischen Ordinal und String gibt es keine automatische konvertierung.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (26. Aug 2011 um 20:51 Uhr)
  Mit Zitat antworten Zitat
LittleTee

Registriert seit: 26. Aug 2011
6 Beiträge
 
Delphi 2007 Architect
 
#5

AW: Kurze Frage zur Config.ini

  Alt 26. Aug 2011, 21:44
Danke für die vielen Antworten :3
Mein Problem ist jetzt auch gelöst!

PS: Nächstes mal werde ich auf einen geeigneten Thread Titel und eine Fehlerbeschreibung achten
Aber wie gesagt, ich bin noch ein recht kleines Küken in der Delphi Branche
  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 07:31 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