AGB  ·  Datenschutz  ·  Impressum  







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

IniFiles - ReadString

Ein Thema von -homer- · begonnen am 26. Mär 2004 · letzter Beitrag vom 21. Apr 2004
Antwort Antwort
Seite 1 von 2  1 2      
-homer-

Registriert seit: 1. Aug 2003
Ort: Düsseldorf
339 Beiträge
 
Delphi 7 Personal
 
#1

IniFiles - ReadString

  Alt 26. Mär 2004, 18:22
hi,

wie lade ich strings aus inis???? Ich dachte, dass das so gehen würde:
Delphi-Quellcode:
begin
  user_name := ini.readstring('userinformationen', 'username', '')
end;
aber dann ist mein user_name immer leer. Was habe ich da für ein fehler gemacht??




-homer-
Aaron B.
www.fainds-production.de.vu wir schreiben deine Programme, entwickeln Cs Movies... Suchen Member

Melden bei ISOF "ISOFAIND"... ICQ: 318117464
#FAINDs
  Mit Zitat antworten Zitat
Markus K.

Registriert seit: 26. Jan 2004
Ort: Halle
346 Beiträge
 
Delphi 2005 Personal
 
#2

Re: IniFiles - ReadString

  Alt 26. Mär 2004, 18:25
Hallo -homer-,
so müsste es eigentlich gehen. Hast du die ini-Datei auch geladen bzw erstellt?

Tschüß Markus
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#3

Re: IniFiles - ReadString

  Alt 26. Mär 2004, 18:26
Hi,

an sich ist da alles richtig an deinem Code,
daher vermute ich, der Wert steht einfach nicht in der Ini drin, und in diesem Falle gibt ReadString den dritten Parameter, in deinem Falle also einen leeren String, zurück.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

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

Re: IniFiles - ReadString

  Alt 26. Mär 2004, 18:26
Existieren in der INI-Datei die Sektion "userinformationen" und der wert "username"? Falls einer dieser beiden nicht existiert, so wird der Default-Wert zurückgegeben, welcher der dritte Parameter ist.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
ronbrand

Registriert seit: 17. Mär 2004
28 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: IniFiles - ReadString

  Alt 21. Apr 2004, 13:29
exakt an der gleichen Stelle ärgere ich mich soeben grün, blau und schwarz. Das darf doch alles nicht mehr wahr sein, ich zitiere mal OH von Delphi 7 Enterprise.

Zitat:
Default is the string value to return if the:

Section does not exist.
key does not exist.
Data value for the key is not assigned.
Der 3. Fall trifft in meinem Prog. zu, ich möchte einen Default-Wert "localhost" definieren.
ich wundere mich und suche wie blöd an meinem QuellText weil das Program abschmiert und stelle dann fest, dass die Default Sektion sauber einen Leerstring zurückgibt, wenn die Definition in der Ini-file nicht zugewiesen wurde. (Für alle Besserwisser und solche die es werden wollen, mit einem vorhandenen String klappts)
Wozu hab ich dann diese Default Sektion ?!?!?!?!

einer von vielen Katastrohen-Bugs in Delphi

jetzt muss ich doch tatsächlich so schreiben

Code:
if myIni.Hostname=''then ....
Dieser Tag ist für mich gelaufen.
Ron
computer and aircon have something in common:they stop working properly if you open windows
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#6

Re: IniFiles - ReadString

  Alt 21. Apr 2004, 13:53
nun mal langsam....

ich nehme mal an, deine INI-Datei sieht so aus:

[userinformationen]
username=

und dann bekommst du einen Leerstring zurück mit
  user_name := ini.readstring('userinformationen', 'username', ''); 2 Fragen:
a) Was erwartest du anderes ?
b) was soll daran ein Bug sein ?

wenn du einen Default-string "LocalHost" willst, dann schreib doch einfach
  user_name := ini.readstring('userinformationen', 'username', 'LocalHost');
Roderich
  Mit Zitat antworten Zitat
ronbrand

Registriert seit: 17. Mär 2004
28 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: IniFiles - ReadString

  Alt 21. Apr 2004, 15:46
  user_name := ini.readstring('userinformationen', 'username', 'LocalHost'); bei aller Liebe, aber genau DAS tue ich doch, hier Auszug meiner Ini Datei.

Code:
[settings]
Port1=4711
ServerHost=192.168.1.2
Port2=4712
mySQLHost=
mySQLPort=
dazu passender Code zum Einlesen des Eintrags "mySQLHost"

Code:
meinHost:=myIni.ReadString('settings','mySQLHost','localHost');
Erwartungsgemäss müsste/sollte nun in der String-Variable meinHost der Eintrag 'localHost' zu finden sein, soweit korrekt? Dies ist aber nicht der Fall. Stattdessen enthält die Variable meinHost nämlich nix ---> '' <---- und DAS ist ja wohl der tollste Bug seitdem ich Delphi kenne. Wenn ich beispielsweise mySQLPort als
Code:
myini.readInteger
einlesen will und definiere als default 6969 klappts doch auch!
P.S. selbstverständlich wird anschliessend auch korrekt
Code:
myIni.free;
aufgerufen.
computer and aircon have something in common:they stop working properly if you open windows
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8

Re: IniFiles - ReadString

  Alt 21. Apr 2004, 16:02
jo scheint wirklich n bug zu sein, wirst du wohl nicht um eine if anweisung drumrumkommen
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#9

Re: IniFiles - ReadString

  Alt 21. Apr 2004, 16:35
Das es ein Bug ist würd ich nicht sagen,
es kann doch sein, dass jemand auch mal für einen Schlüssel nichts speichern will
und dann beim wieder-einlesen nicht den Default-Wert haben will ?

solange der Wert in der Ini existiert, hat er auch den Wert, der hinter dem = steht
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#10

Re: IniFiles - ReadString

  Alt 21. Apr 2004, 16:51
moin,

Delphi macht exakt das was es soll! Die Variable "mySQLHost" existiert schließlich in der ini-Datei ... nur ist ihr Wert halt ''. und genau das gibt Delphi ja auch zurück! Der Default-Parameter kommt nur zum Einsatz, wenn die Variable, auf die zugegriffen werden soll nicht existiert!.

EDIT: Zugegeben, die OH ist da nicht ganz korrekt ...
Peter Enenkel
blubb
  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 01:07 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