Speicher und laden + pwd problem!!!

Grunge

Erfahrenes Mitglied
hi!

Kann mir jemand für folgende dinge am besten so schnell wie möglich ne lösung liefern!?

Also ich habe folgende probleme:

1. Ich hab es geschafft das man mit meinem programm speichern kann der speichert das auch alles und man kans auch öffnen. Problem 1: Wenn ich eine neue Datei speichern will zeigt er die bereits anderen gespeicherten dateien des gleichen typs nicht mit an wie man das sonst kennt!!! das gleiche ist beim öffnen....(die datei-typen sollen *.daf-dateien sein!) wie mach ich das nun???

2. ich will folgendes machen:
Eine passwort abfrage bevor jemand das programm starten kann.. wie das geht ist schon klar....nur soll der nutzer das pwd auch wieder ändern können!! Also muss ich das doch irgendwo speichern???Wie mach ich das?? Angenommen ich hab das Formular zur eingabe des pwds am anfang (frmPwdAbfrage - zum beispiel) mit einem Textfeld und 2 Buttons (OK und Abbrechen) Bei Klick auf ok wird geprüft ob das eingegebene Pwd mit dem gespeicherten übereinstimmt (nur wie!?)...

dann noch das form zum änbdern das pwds (frmPWdChange - wieder ein beispiel) mit 3 textfeldern (eins wo man das alte pwd eingibt und 2 für das neue - wenn das erste mit dem zuletzt gespeicherten übereinstimmt und die anderen beiden miteinander auch wird das pwd geändert! Ihr wisst schon was ich meine) und 3 buttons (OK - Abbrechen - Übernehmen)Bei Ok und Übernehmen werden die neuen enstelllungen übernommen!

Problem 2 ist erstmal das wichtigste- hoffe ihr könt mir schnell helfen!!!

THX!!!
 
Zum zweiten Problem:
Das Kennwort speicherst Du einfach da, wo Du normalerweise auch Daten hin speicherst - also Dateien, Datenbank oder Registrierung.
Dabei wär's aber nicht ganz unwichtig, das Kennwort auch zu verschlüsseln, weil da sonst ja schon fast jeder rankönnte. Verschlüsselungsmethoden findest Du sicher bei Google.
Zum Ändern des Kennworts musst Du einfach nur den alten Eintrag mit einem neuen Kennwort überschreiben, eigentlich ganz einfach. Um vorher noch eine Sicherheitsabfrage auf evtl. Tippfehler drüber laufen zu lassen, vergleichst Du einfach den Inhalt der beiden Textfelder.

Da hättest Du aber eigentlich auch selbst drauf kommen können...

Das erste Problem versteh ich nicht... :rolleyes:
 
Zum 1. Problem:
Wenn ich das richtig verstanden habe, dann nimmst du da ein CommonControl zum öffnen und speichern.
Das was du machen willst, geht mit der "Filter" Eigenschaft des Standarddialogs (CommonControl). Damit kannst du beim Öffnen oder Speichern einen vordefinierten Filter festlegen, um z.B. nur *.txt - Dateien anzuzeigen.
Mit der "DefaultEx"-Eigenschaft kannst du auch die Standarddateiendung festlegen. Damit braucht der Benutzer nur einen Dateinamen anzugeben und die Endung wird beim Speichern automatisch angehängt.
So ich hoffe das ich dein Problem auch richtig verstanden habe.

Gruss Homer
 
@Lirion das pwd ist ja nirgends gespeichert !!! das ist einfach in einer variablen festgelegt! Nun kann ich die dann ja wohl net ändern!!!! da beim neuen aufrufen des prgrammes wieder das alte aktiv ist,oder!?

Also wie mache ich das überhaupt in eine datei oder so???

@homer das habsch noch net verstanden..da steht immer irgendwas von:

... "*.*|*.*"

wenn ich das ändere funzt es trotzdem net!!
 
das pwd ist ja nirgends gespeichert !!! das ist einfach in einer variablen festgelegt! Nun kann ich die dann ja wohl net ändern!!!! da beim neuen aufrufen des prgrammes wieder das alte aktiv ist,oder!?
Das hast Du ganz richtig erkannt, deswegen musst Du das ja auch irgendwo ausserhalb der Anwendung speichern...
Wie man Text in einer Datei speichert, hatten wir hier schon oft genug geklärt, bitte einfach mal suchen.

das habsch noch net verstanden..da steht immer irgendwas von:

... "*.*|*.*"

wenn ich das ändere funzt es trotzdem net!!
Der String "*.*|*.*" ist das Muster, das für die gültigen Dateitypen im CommonDialog benutzt wird. Vorne steht die Beschreibung des Dateitypen, die angezeigt wird und hinten steht die eigentliche Dateinamenserweiterung. Also beispielsweise "Textdateien (*.txt)|*.txt".
 
und den gleich spaß auch bei der öffnen funktion eingeben!????

Und wie verschlüssel ich dan das pwd! Ich bitte dich auch,kannst du mir ein beispiel nennen wie ich bei eingabe überprüfe ob das pwd mit dem aus der datei übereinstimmt, und ich es überschreibe (bei pwd.wechsel) ??Habs noch nett verstanden!
 
Klar brauchst Du für einen Dialog zum Öffnen von Dateien ebenfalls das Muster für die Dateien, ist doch eigentlich logisch, oder? :rolleyes:

Für Verschlüsselungen von Kennwörtern oder Texten hatten wir auch schon mehrere Themen, bitte einfach nur mal suchen. Bitte, bitte, bitte, nehmt Euch nur mal 30 Sekunden von Eurer Zeit und sucht vorher... :rolleyes:

Zum Überprüfen des Kennwortes liest Du einfach das aus der Datei oder Datenbank in eine Variable ein (-> suchen) und vergleichst das dann mit der Eingabe in Deinem Formular - auch ganz logisch.

Zum Überschreiben löscht Du einfach das alte Kennwort und setzt an der Stelle ein neues ein. Das lässt sich relativ simpel mit einer Datenbank machen, weil Du dabei ein Recordset mit den Kennwörtern hast und dann ein bestimmtes daraus einfach ändern kannst.

Und ich versteh auch irgendwie nicht so ganz, warum jeder immer Code haben will - das bringt doch nichts. Stumpf abtippen kann jeder, aber wenn Du richtig programmieren willst, solltest Du auch mit der grob beschriebenen Vorgehensweise klarkommen. Im späteren Berufsleben kann man sich doch auch nicht alles vorkauen lassen... :rolleyes:

PS: Sorry, aber ich bin gerade etwas angefressen...
 
Einfachste Verschlüsselung geht über eine bitweise ODER-Operation mit einem Schlüssel.
Ist zwar net besonders sicher, aber für den Anfang reicht das.

Gruss Homer
 
toll...@lirion das mit der datenbank kann ich auch noch net.. bin doch noch ein (fast noch) anfänger...
 
Ist ja auch nicht schlimm, dass Du das nicht unbedingt weisst. Da sag ich auch gar nichts gegen. Aber trotzdem könntest Du wenigstens vorher mal suchen, das ist doch nicht zu viel verlangt, oder? :rolleyes:

Allgemeines zu Datenbanken: http://www.tutorials.de/tutorials5662.html
Zum Thema SQL:
http://www.tutorials.de/tutorials20703.html
http://www.tutorials.de/tutorials20704.html

Wenn Du Access hast, kannst Du damit ja schonmal Deine Datenbank aufbauen. Access reicht für den Anfang, später wirst Du selbst merken, dass es bessere Systeme gibt. ;)

Wie Du eine Verbindung zur Datenbank aufbaust, wurde hier auch schonmal beschrieben:
http://www.tutorials.de/tutorials77092.html
Über die Verbindung musst Du dann mit Recordset-Objekten (ADODB.Recordset) die Daten abfragen. Beispielsweise so:

Code:
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset

'öffnen der Verbindung wie in dem verlinkten Beitrag von oben...

Set rs = New ADODB.Recordset

rs.Open "SELECT * FROM deineTabelle WHERE benutzername = '" & Text1.Text & "'", adOpenStatic, adLockPessimistic, -1
Bis dahin hast Du erstmal (wenn Du keine Fehler gemacht hast) ein offenes Recordsetobjekt, über das Du auf Deine Datenbankinhalte zugreifen kannst.
Davon überprüfst Du als nächstes noch, ob überhaupt Daten im Recordset stehen:
Code:
If rs.RecordCount > 0 Then
Sind Daten drin, kannst Du diese dann auslesen. In meiner Beispielabfrage oben bin ich davon ausgegangen, dass man z.B. einen Benutzernamen eingibt und das zu diesem Namen gehörige Kennwort überprüfen will. Also einfach vergleichen:
Code:
rs.MoveFirst 'auf den ersten Datensatz springen
If rs.Fields("kennwort") = Text2.Text Then MsgBox "Kennwort stimmt" Else "Kennwort stimmt nicht"

'...

rs.Close
Set rs = Nothing
Ich geh auch davon aus, dass die Felder in der Tabelle jeweils die sprechenden Namen "benutzername" und "kennwort" haben, andernfalls wirst Du mit dem Code von mir Probleme haben. ;)

Text1 sollte den Benutzernamen enthalten und Text2 für das Kennwort benutzt werden.
Um das ganze z.B. in eine richtige Benutzeranmeldung umzufunktionieren, müsstest Du noch ein paar Feinheiten da mit einbauen, aber das hier sollte erstmal als Beispiel reichen. :)

PS: Hab gerade vielleicht etwas überreagiert, aber wenigstens ein paar Minuten Suchen ist doch nicht zu schwer, oder?
 

Neue Beiträge

Zurück