AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit ReadString, Immer Def

Ein Thema von Fussel9 · begonnen am 17. Jun 2010 · letzter Beitrag vom 17. Jun 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 15:42
Delphi-Version: 2006
Hi, aus ihrgendeinem Grund greift immer der else Handler

Delphi-Quellcode:
procedure TFEnterPW.CheckPasswort;
var Load: TInifile;
    passwort:String;
begin
  Load:=TInifile.Create(ExtractFilePath(ParamStr(0))+'settings.lem');
  ShowMessage(ExtractFilePath(ParamStr(0))+'settings.lem');
  passwort:=Load.ReadString('MPW','PW','AGAbugudalo91634187621986201245237156');
    if not (passwort='AGAbugudalo91634187621986201245237156') then
      begin
        if not (passwort=EPasswort.Text) then
          begin
            MessageDLG('Falsches Passwort!',mtWarning,[mbCancel],0);
            self.Close;
          end
        else
          begin
            MessageDLG('Passwort stimmt mit dem Masterpasswort überein.',mtInformation,[mbOK],0);
            Application.ShowMainForm:=True;
          end;
      end
    else
      begin
        MessageDLG('Ladefehler!',mtError,[mbOK],0);
      end;
  Load.Free;
end;
Ist da ein fehler im Quelltext...?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 15:51
Welcher else-Handler? Ich seh da 2. Bist Du einmal mit F8 durchgesteppt und hast Dir den Inhalt der Variablen angeschaut?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 15:56
Dieser Else-Handler:

else
begin
MessageDLG('Ladefehler!',mtError,[mbOK],0);

und es handelt sich demnach um den Def Wert.

Es wird also jedes mal die Fehlermeldung: Ladefehler! ausgelöst....

// Die Ini-Datei existiert und der Eintrag darin ist auch vorhanden... hier mal was in der ini steht:
[Settings]
Autoload=1
Path=23_0_0.lem
Invisible=1
[PW]
MPW=Test

die datei settings.lem liegt im selben ordner wie die .exe

Geändert von Fussel9 (17. Jun 2010 um 15:59 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 15:58
Dann debugge das Ganze doch einmal. Übrigens, wieso nimmst Du so einen langen Defaultwert und benutzt dann keine Konstanten? Da sind Fehler doch bereits vorprogrammiert.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 16:02
Zitat:
Load.ReadString('MPW','PW',
(Sektion, Value) und nicht andersrum/falschrum
Load.ReadString('PW','MPW',
PS: Das Passwort im Klartext in einer Textdatei?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 16:02
Wieso denn das? Der Defaultwert ist so lang da es etwas sein soll das nie jemand als passwort nehmen wird...
Und wo soll ich denn hier Konstanten benutzen?
Ps: Was soll ich den beim Debuggen finden?
Ich sehe das er in den elehandler spring und der Wert der Def Wert ist...?:
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 16:04
Zitat:
Load.ReadString('MPW','PW',
(Sektion, Value) und nicht andersrum/falschrum
Load.ReadString('PW','MPW',
xD OMG und ich such das schon seit gestern

THX
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#8

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 16:46
du wirst trotzdem in den Else-Bereich deiner Abfrage landen, denn
MPW=Test
und die Abfrage lautet:
- wenn Passwort, das aus der Ini-Datei gelesen wird, <> 'AGAbuguda...' dann
mache jenes
- ansonsten (ELSE BEREICH)
gebe nachricht aus: Ladefehler
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 16:56
Wieso denn das? Der Defaultwert ist so lang da es etwas sein soll das nie jemand als passwort nehmen wird...[...]
Sag niemals nie!

Stattdessen hätte ich das irgendwie anders gemacht. Keine Ahnung ob man fragen kann, ob der Wert existiert. Aber das wäre dann wesentlich besser und sicherer.

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Problem mit ReadString, Immer Def

  Alt 17. Jun 2010, 17:06
Und meine Frage, wieso hier keine Konstanten verwendet werden, ist auch noch nicht beantwortet. Nach dem DRY-Prinzip ist das zwingend erforderlich IMHO.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 14:20 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