![]() |
Textdatei mit einem String vergleichen
Hi Leute
Ich habe vor ein Programm zu schreiben in dan man sich einloggen kann. Dafür soll man in z.B. ein Edit das Passwort schreiben können . Wenn man dann auf einen Button klickt soll der Inhalt des Edits mit einer Textdatei verglichen werden. Später soll man dann auch das passwort ändern und dafür die Textdatei mit dem neuen Passwort überschreiben können. Ich habe mich schon seit einem Jahr nichr mehr mit dem Programmieren beschäftigt und weiß nur noch das es irgendwas mit Read, Write und ReWrite war, finde aber im Internet nur ewig lange Qelltexte von denen ich nichts verstehe. Also was ich noch von früher weiß sieht in etwa so aus: ... var x: TextFile; begin LoadFile(x); If y = read(x) then ... X := File.free; (irgendwie so in der Art) Im internet finde ich nur ewig lange Texte mit "TFileStream". Also Ich hoffe ihr wisst was ich mein und könnt mir weiterhelfen :) Außerdem soll man diese Textdatei nacher natürlich nicht mehr öffnen oder löschem können. Ich habe unter Windows XP die optionen die Datei zu verstecken (Ich find sie zumindest nicht mehr in dem ordner in dem ich sie gepackt habe :D) und scheibzuschützen. kann Delphi dann überhaupt noch darauf zugreifen? Vielen Dank schon mal im Voraus :) |
AW: Textdatei mit einem String vergleichen
Zitat:
Mit anderen Worten: Das Lernen bzw. das Wiedererlernen kann dir keiner abnehmen. Leute, die dafür zu faul sind, werden hier nicht gerne gesehen. |
AW: Textdatei mit einem String vergleichen
Es geht mir nicht darum das mir jemand den gesamten code hinklatscht, sondern ich finde einfach nichts in der hilfe von delphi oder im Internet finde.
mir würde schon ein link oder ähnliches genügen, zu einer seite wo ich eine ERKLÄRUNG (und nicht den gesamten code) zum arbeiten mit Textdateien finde. Versteh mich nicht falsch! Ich WILL es ja wieder lernen, weiß aber nicht wo! |
AW: Textdatei mit einem String vergleichen
function FileToString(const AFilename: string; StartPos: Integer=0; EndPos: Integer=0): string;
var * FileStream : TFileStream; * wlCount: Integer; begin * if FileExists(AFilename) then * begin * * if StartPos < 0 then * * * StartPos := 0; * * FileStream := TFileStream.Create(AFilename, fmOpenRead or fmShareDenyWrite); * * try * * * if (EndPos <= StartPos) or (EndPos > FileStream.Size) then * * * * EndPos := FileStream.Size; * * * wlCount := EndPos - StartPos; * * * if FileStream.Size > StartPos then * * * begin * * * * SetLength(Result, wlCount); * * * * FileStream.Seek(StartPos, soFromBeginning); * * * * FileStream.Read(Result[1], wlCount); * * * end; * * finally * * * FileStream.Free; * * end; * end * else * * Result := ''; end; Sowas zb finde ich bisher immer, ich denke allerdings nicht, dass ich das ganze zeugs benötige und vor einigen nocht verstehe. :D |
AW: Textdatei mit einem String vergleichen
Siehe
![]() |
AW: Textdatei mit einem String vergleichen
Erstens: Verwende die Code-Tags. Dazu den Quelltext markieren und auf das Delphi-Symbol klicken.
Delphi-Quellcode:
Zweitens: Die 20+ Zeilen verstehst Du nicht? WAS verstehst Du daran nicht? Schau Sie dir einfach in Ruhe an und lies die Hilfetexte zu jeder verwendeten Methode.
function FileToString(const AFilename: string; StartPos: Integer=0; EndPos: Integer=0): string;
var FileStream : TFileStream; wlCount: Integer; begin if FileExists(AFilename) then begin if StartPos < 0 then StartPos := 0; FileStream := TFileStream.Create(AFilename, fmOpenRead or fmShareDenyWrite); try if (EndPos <= StartPos) or (EndPos > FileStream.Size) then EndPos := FileStream.Size; wlCount := EndPos - StartPos; if FileStream.Size > StartPos then begin SetLength(Result, wlCount); FileStream.Seek(StartPos, soFromBeginning); FileStream.Read(Result[1], wlCount); end; finally FileStream.Free; end; end else Result := ''; end; |
AW: Textdatei mit einem String vergleichen
Zitat:
Ein Passwort wird in der Regel nicht als Klartext in einer (Text)Datei gespeichert. Aus dem Passwort kann ein eindeutiger Footprint/Hash [sha1, md5] erzeugt werden, diesen kannst Du dann in einer Datei speichern. Wird nun ein Passwort abgefragt, wird aus dem Inhalt des Edit1.Text wieder ein Hash erzeugt und mit dem abgespeicherten verglichen. Soll ein neues Passwort abgespeichert werden, wird wieder nur der Hash abgespeichert. Von der Vorgehensweise bezüglich speichern und laden ist es das gleiche wie beim Abspeichern des Passworts als Klartext. Das nur am Rande.. Grüße Klaus |
AW: Textdatei mit einem String vergleichen
Die einfachste und in den meisten Fällen ausreichende Methode an den Inhalt von Textdateien zu kommen ist die Benutzung von TStringlist.
Delphi-Quellcode:
die alte Methode funktioniert allerdings auch noch
var
myList : TStringlist; begin myList :=TStringlist.Create; myList.LoadfromFile([I]meineDatei[/I]); //mach was mit mylist mylist.SavetoFile([I]MeineandereDatei[/I]); myList.Free;
Delphi-Quellcode:
Gruß
assignfile(textdatei,meineDatei;
reset(textdatei); repeat readln(textdatei,satz); ... until eof(textdatei); closefile(textdatei); K-H Gruß |
AW: Textdatei mit einem String vergleichen
hat geklappt, vielen dank für die antworten :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz