AGB  ·  Datenschutz  ·  Impressum  







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

Zeile aus INI-Datei lesen

Ein Thema von Tifoso · begonnen am 11. Okt 2003 · letzter Beitrag vom 15. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Tifoso

Registriert seit: 30. Aug 2003
16 Beiträge
 
#1

Zeile aus INI-Datei lesen

  Alt 11. Okt 2003, 11:14
ich habe folgendes Problem, möchte aus einer INI-Datei einegwisse Zeile lesen um z.B. ein Passwort zu überprüfen.
bin noch ein anfänger darum entschuldigt die Frage!

Das Einlesen klappt aber beim Auslesen aus dem INI wird immer der INI-Eintrag gelöscht.

Delphi-Quellcode:
procedure TPasswordDlg1.OKBtnClick(Sender: TObject);
var F: TextFile;
     S: string;
     PWString: String;
     PWlst:TStringList;
     ini: TIniFile;
begin
  AssignFile(F, 'login.ini');
// Datei auswählen

  Reset(F);
  Readln(F, S);
// Erste Zeile der Datei lesen

  CloseFile(F);

     PWString:=NeuesPassword1.Text;
     PWlst:=TStringList.Create;


  IF AltesPassword.Text <> S THEN
  ShowMessage('Sie haben das alte Passwort falsch eingegeben');
  AltesPassword.Text:='';

  IF NeuesPassword.Text <> NeuesPassword1.Text THEN
  ShowMessage('Sie haben das neue Passwort falsch eingegeben');

  begin
  IF NeuesPassword.Text = NeuesPassword1.Text THEN
  IF AltesPassword.Text = S THEN
  PWString:=NeuesPassword1.Text;
  PWlst:=TStringList.Create;

  PWlst.Add(PWString);
  PWlst.SaveToFile('login.ini');

     PWlst.Free;
  end;

end;

kann mir bitte jemand helfen???


mfg



P.S: Die Verschlüsselung des Passworts folgt später
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2

Re: Zeile aus INI-Datei lesen

  Alt 11. Okt 2003, 11:21
Wenn du schon die Unit Inifiles eingebunden hast, dann nutze dir doch auch einfach :gruebl:
Versuch mal:
Ini.Readstring('deine Section', 'dein Key', 'dein Std-Wert');
Alexander
  Mit Zitat antworten Zitat
Tifoso

Registriert seit: 30. Aug 2003
16 Beiträge
 
#3

Re: Zeile aus INI-Datei lesen

  Alt 12. Okt 2003, 10:13
danke schön aber ich habe es oben falsch geschrieben. das Auslesen klappt leider nicht richtig.

ok, das schreiben funktioniert gleich einfach mit:

Delphi-Quellcode:
  
 DelphiIni.WriteString(Section, Key, 'Ausgabe');
ich möchte jetzt aber die erste Zeile meines ini-Files auslesen, was muss nun also bei Section eingeben??
und was hat es mit dem Schlüssel so auf sich?
die Ausgabe ist klar!!

noch eine andere Frage darf ich diese Bedingung so schreiben oder hat jemand eine andere Variante? Das ini-files sollte nur beschrieben werden, wenn die bei den if richtig sind.

Delphi-Quellcode:
  begin
  IF NeuesPassword.Text = NeuesPassword1.Text THEN
  IF AltesPassword.Text = S THEN

  ini := TIniFile.Create('login.Ini');
  ini.WriteString(Selection,Key, NeuesPassword1.Text);
  ini.Free;

  end;
Danke für eure Hilfe.

MFG
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#4

Re: Zeile aus INI-Datei lesen

  Alt 12. Okt 2003, 10:21
Zitat von Tifoso:
ich möchte jetzt aber die erste Zeile meines ini-Files auslesen, was muss nun also bei Section eingeben??
Das was in der Ini in den [] steht.

[Section]
Name=Value
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#5

Re: Zeile aus INI-Datei lesen

  Alt 12. Okt 2003, 10:22


Vielleicht kann dir dieses Tutorial helfen.
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#6

Re: Zeile aus INI-Datei lesen

  Alt 12. Okt 2003, 10:26
Ich weiß jetzt nicht mehr ganz was du meinst, aber kuck dir auch mal ReadSections an, damit kannst du alle Section-Namen auslesen...
Alexander
  Mit Zitat antworten Zitat
Tifoso

Registriert seit: 30. Aug 2003
16 Beiträge
 
#7

Re: Zeile aus INI-Datei lesen

  Alt 13. Okt 2003, 20:37
Also, ich erkläre noch einmal mein Problem.

Mit dem Befehl

Delphi-Quellcode:
ini.WriteString('Passwort-Abfrage','Benutzer','1234');
ini.WriteString('Passwort-Abfrage','Administrator','DELPHI');
schreibe ich ja in das ini-file aber wo ich nicht so ganz schlau werde ist bein auslesen des ini-files.
ich möchte jetzt zum Beispiel das Passwort des Benutzer wissen,
was muss ich im Ausgabefeld eingeben damit er mir den String-Wert ausliest??????

P:=ini.ReadString('Passwort-Abfrage','Benutzer',****************); Danke für eure Hilfe
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#8

Re: Zeile aus INI-Datei lesen

  Alt 13. Okt 2003, 20:56
Zitat von Tifoso:
P:=ini.ReadString('Passwort-Abfrage','Benutzer',****************);
Das war ja schonmal nicht schlecht, als dritten Parameter musst Du nur nen Standardwert angeben, der übergeben wird, falls das auslesen misslingt.
P:=ini.ReadString('Passwort-Abfrage', 'Benutzer', ''); Wenn das Auslesen nicht klappt, dann wird halt das zurückgeliefert was in den '' steht, in dem Fall also ein Leerstring.
Und falls das auslesen klappt, dann steht in P der gewünschter Wert...
  Mit Zitat antworten Zitat
kongreddgrass

Registriert seit: 13. Okt 2003
Ort: Lenggries
10 Beiträge
 
Delphi 6 Personal
 
#9

Re: Zeile aus INI-Datei lesen

  Alt 13. Okt 2003, 21:31
Hi,
ich glaube das was du meinst wäre das...

Delphi-Quellcode:
var
res: String;
Ini: TIniFile;
i: integer;
begin
ini:=TIniFile.Create('C:MyIni.ini');
try
  res:=ini.ReadString('Section_1', 'Section_2', res);
  if Edit1.Text = res then {Vergleicht den Wert in der Ini-Datei mit dem Edit1-String...wenn stimmts, dann...} 
begin
  Form2.Show;
else {Wenns nicht stimmts, dann...}
ShowMessage('Passwort ist falsch!');
finally
ini.free;
Hoffentlich stimmts

Gruß Mike

Was heißt SPD? Schröder pinkelt daneben!
  Mit Zitat antworten Zitat
Tifoso

Registriert seit: 30. Aug 2003
16 Beiträge
 
#10

Re: Zeile aus INI-Datei lesen

  Alt 13. Okt 2003, 23:01
ok, danke an alle. das mit dem ini hat geklappt.

habe aber trotzdem noch eine Frage und zwar hab ich ein bisschen ein durcheinander mit if und else, wenn z.B. eine var meherere bedingungen einhalten muss wie in meinem Beispiel, dass der Fall ist.
wie löst ihr profis das am besten??

Delphi-Quellcode:
procedure TPasswordDlg1.OKBtnClick(Sender: TObject);
var ini: TIniFile;
     P: string;
begin
    ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+
    'test.ini');

    P:=ini.ReadString('Benutzer','Passwort',P);
    
    IF AltesPassword.Text <> P THEN
    IF AltesPassword.Text <> 'AdministratorTHEN
    ShowMessage('Sie haben das alte Passwort falsch eingegeben');
    AltesPassword.Text:='';


    IF NeuesPassword.Text <> NeuesPassword1.Text THEN
    ShowMessage('Sie haben das neue Passwort falsch eingegeben');

    begin
         IF NeuesPassword.Text = NeuesPassword1.Text THEN
         IF AltesPassword.Text = P THEN
         IF AltesPassword.Text = 'AdministratorTHEN

         ini.WriteString('Benutzer','Passwort',NeuesPassword.Text);
    end;

    ini.free;

end;
kann mir da vielleicht auch noch jemand auf die Sprünge helfen??

mit freundlichen Grüssen
silvan
  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 18:58 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