AGB  ·  Datenschutz  ·  Impressum  







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

Auslesen aus Ini

Ein Thema von Dr4ke · begonnen am 5. Mär 2009 · letzter Beitrag vom 5. Mär 2009
Antwort Antwort
Seite 1 von 2  1 2      
Dr4ke

Registriert seit: 12. Mai 2007
39 Beiträge
 
#1

Auslesen aus Ini

  Alt 5. Mär 2009, 17:25
Guten Tag!
Ich bin dabei eine persönliche Adressbuch-Software zu erstellen, habe jedoch Probleme beim Auslesen.
Ich speichere die Eingaben wie Name, Nummer etc. in einer Ini-Datei, was soweit auch gut funktioniert.
Doch wenn ich sie wieder auslesen möchte, bekomme ich erstmal einen Fehler der mir sagt ich benutze den falschen Typ, was schonmal nicht stimmt und wenn ich den Typ dann umwandle bekomme ich nur eine "0" als Ausgabe.

Delphi-Quellcode:
procedure TForm1.btnSucheClick(Sender: TObject);
var
ini : TIniFile;
name, vorname : string;
begin

ini := TIniFile.Create('liste.ini');
try
  labelVorname.Caption := edtSucheVorname.Text;
  labelName.Caption := edtSucheNachname.Text;
  labelMSN.Caption := IntToStr(ini.ReadInteger(name+', '+vorname, 'MSN', 0));

finally
  ini.free;

end;
end;
Die Ini-Datei sieht folgendermaßen aus:

Delphi-Quellcode:
[Mustermann, Max]
Geburtstag=12.07.1980
Telefon=081555
Handy=081508150815
E-Mail=Mustermann@gmx.de
ICQ=0815
MSN=Mustermann@gmx.de
Das Label allerdings verwandelt sich nur in eine 0 .. Woran könnte das liegen
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#2

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 17:30
Hallo,

also der erste Fehler der mir auffällt ist die Variable "Name". Dieser Name ist schon von Delphi reserviert, Du kannst ihn also nich als Variable benutzen.

Zitat:
ini.ReadInteger(name+', '+vorname, 'MSN', 0)
Strings müssen in Apostrophe gesetzt werden Variablen nicht. Was du da genau vorhattest weiß ich nicht. Auch das + muss nich gesetzt werden.

mfg Whatever
  Mit Zitat antworten Zitat
Dr4ke

Registriert seit: 12. Mai 2007
39 Beiträge
 
#3

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 17:33
Das mit dem 'Name' wusste ich nicht, danke, kann allerdings hier nicht die Fehlerquelle sein.

Und ini.ReadInteger(name+', '+vorname, 'MSN', 0) in dieser Zeile ist schon alles ok, wenn du dir ma bitte die Section der Ini anschaust.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

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

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 17:41
Hallo,

dein MSN-Eintrag in der INI-Datei ist ein String - du versuchst aber einen Integer aus der INI-Datei zu lesen

So müsst es heissen:
labelMSN.Caption := ini.ReadString(name+', '+vorname, 'MSN', ''));
mfg
Helmi

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

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#5

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 17:44
Oh tut mir leid hab ich übersehn

Aber lieg ich richtig das Du mit der besagten Zeile das hier auslesen willst?
Zitat:
Mustermann@gmx.de
Wenn ja muss es natürlih heißen
labelMSN.Caption := IntToStr(ini.[u]ReadString[/u](name+', '+vorname, 'MSN', 0)); ReadString da Mustermann@gmx.de ein String und kein Integer ist. Damit hätte sich der Fehler mit dem falschen Typ geklärt.

mfg Whatever
  Mit Zitat antworten Zitat
Dr4ke

Registriert seit: 12. Mai 2007
39 Beiträge
 
#6

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 17:46
Wie schon im ersten Post erwähnt, erzeugt das seltsamerweise einen Fehler.

Mit der Zeile

labelMSN.Caption := ini.ReadString(nachname+', '+vorname, 'MSN', 0); erhalte ich

Zitat:
[Fehler] Unit1.pas(112): E2010 Inkompatible Typen: 'string' und 'Integer'


Edith sagt: jegliche variablen 'name' bereits in 'nachname' geändert.
  Mit Zitat antworten Zitat
Whatever

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#7

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 17:50
labelMSN.Caption := ini.ReadString(nachname+', '+vorname, 'MSN', ''); so sollte es klappen.... denk ich
  Mit Zitat antworten Zitat
Dr4ke

Registriert seit: 12. Mai 2007
39 Beiträge
 
#8

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 17:57
So erfolgt leider überhaupt keine Ausgabe mehr.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

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

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 18:03
Zitat von Dr4ke:
So erfolgt leider überhaupt keine Ausgabe mehr.

Dann prüf doch mal ob die Section, die zu mittels nachname + vorname zusammenbaust auch wirklich gibt,
denn der Code von Whatever funktioniert für dein Ini-Beispiel

[Edit]
Habs grad mal in meinem Projekt ausprobiert:

Auslesen aus der Ini-Datei:
Label1.Caption := ReadString('Mustermann, Max', 'MSN', 'geht nicht'); Ini-Datei:

[Mustermann, Max]
MSN=test

Und "test" wird im Label angezeigt
mfg
Helmi

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

Registriert seit: 7. Jan 2009
Ort: 127.0.0.1
102 Beiträge
 
#10

Re: Auslesen aus Ini

  Alt 5. Mär 2009, 18:05
Mach doch zum Testen mal
labelMSN.Caption := ini.ReadString('Mustermann, Max', 'MSN', ''); Das muss funktionieren
  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 05:39 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