| Autor |
Beitrag |
Black_Fox
      
Beiträge: 66
|
Verfasst: Mo 10.03.08 16:12
Hallo ich brauche dringend Hilfe, wir sollen als Schüler Projekt ein Adressbuch (mit Datenbank) erstellen. Leider hab ich keine Ahnung wie ich das machen soll und wollte fragen ob ihr mir helfen könnt.
Die Aufgabenstellung lautet:
Erstellen Sie ein Adressbuch.
Muss-Kriterien:
- Zufügen, Ändern, Löschen von Kontaktdaten
- Name, Vorname, Bild, E-Mail, Telefonnummer, Handy-Nummer, Adresse, Gebursdatum soll man eintragen können
- Suchmöglichkeit soll vorhaanden sein
- autmatisches sortiertes Abspeichern bzw. Anzeigen der gesammelten Daten soll möglich sein
- die gesamelten Daten sollen auch extra nochmal speicherbar sein
- Zugriff auf das Adressbuch soll passwortgeschützt sein
Kann-kriterien:
- Terminerinnerung bei Geburtstag
- Kontrolle der E-Mail ob es wirklich eine E-Mail ist
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mo 10.03.08 16:23
Und wo genau hängst?
Wir machen hier nicht die Hausaufgaben für dich - du musst schon was selber tun..
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Mo 10.03.08 17:32
Titel: Re
jo das verlang ich ja auch nicht hab halt bloß vorher noch nie mit delphi datenbankeinbindung gearbeitet und weiß jetzt gar nicht wie ich anfangen soll
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Mo 10.03.08 17:39
_________________ Gruß Aga
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Mo 10.03.08 17:41
Titel: re
danke werd das beispiel mal nach machen
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Fr 14.03.08 14:46
Titel: re
werd mich in den ferien mal damit besschäftigen hab zurzeit nicht viel freizeit bzw. zei für dieses projekt hab ja bis 30. mai zeit
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Di 25.03.08 23:22
Titel: re
huhu hab jetzt damit angefangen und wollte mal fragen wie ich das adressbuch mit einem pw schützen kann? diese pw soll der benutzer selbst ändern können, hab das zurzeit so das das passwort im quellcode enthalten ist heißt bei mir zurzeit 'admin' da aber der anwender keinen zugriff auf den quellcode hat weiß ich jetzt nicht wie ich das so hinbekomme das es es selber ändern kann? brauche dringend hilfe
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Di 25.03.08 23:45
Wie wärs das Passwort verschlüsselt in einer Datei zu speichern zb. Ini
_________________ Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Di 25.03.08 23:55
Titel: re
und wie müsste ich das machen? form1 (passworteingabe) erscheint ja beim programm start --> da gibts dann ein edit feld wo man das pw einträgt --> als standard pw hab ich admin erstmal drin so das wenn er admin eingegeben hat sich eine form2 (adressbuch) öffnet --> das ist dann sozusagen die main form und hat ein menü --> in dem menü soll man dann das pw ändern können also man hat da dann 2 editfelder --> 1. editfeld(passworteingeben) und 2. editfeld(pw wiederholen) wenn man dann auf speichern klickt soll man nur noch mit dem neuen pw reinkommen.
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Mi 26.03.08 00:15
Titel: re
ich hab kein plan wie das mit der ini datei geht -.-,
also muss ich sozusagen mein pw erst in ner ini datei speichern und der inhalt der ini datei wird dann bei der pw eingabe verglichen ob die übereinstimmen?
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Mi 26.03.08 00:43
genau, aber eigentlich könntest Du das PW auch in der Datenbank speichern.
Der Benutzer gibt seinen Benutzernamen und das PW ein, Dein Proggi holt sich Daten aus der Benutzertabelle.
Schau Dir dazu locate an. Ist der Benutzer gefunden, verleichst Du die beiden Passwörter, das aus dem edit und das aus der DB, erst wenn die übereinstimmen, werden die Tabellen der Adressdaten geöffnet.
_________________ Gruß Aga
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Mi 26.03.08 00:51
Titel: re
ah k endlich mal was was ich verstehe werd das mal probieren, ist ja dann so ähnlich wie beim suchen in der db
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Mi 26.03.08 13:15
Titel: re
@Agawain
Hab 2 Fragen: 1. Wie kann ich die Daten nun vergleichen? bzw. wie kann ich die Spalte Passwort aus meiner Tabelle ansprechen?
Geht das so: "if EPasswort.Text = FLogin.DBEPW then"?
2. Bekomm an der Stelle: "if FLogin.TLogin.Locate('Benutzer', EBenutzer.Text) then" immer die Fehlermeldung: "Nicht genügend wirkliche Parameter"?
Hab das so zurzeit:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TFPWEingabe.Button2Click(Sender: TObject); begin if FLogin.TLogin.Locate('Benutzer', EBenutzer.Text) then begin if EPasswort.Text = FLogin.DBEPW then FAdressbuch.show; FPWEingabe.Hide; else ShowMessage('Falsches Passwort'); end; end; |
Moderiert von Klabautermann: Delphi-Tags hinzugefügt.
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Mi 26.03.08 15:37
hi
ein Feld sprichst Du so an:
1. form1.dataset1.FieldByName('MeinFeldName').asString
oder so
2. form1.dataset1.fieldvalues['MeinFeldName']
bzw. so
3. form1.dataset1['MeinFeldName']
Welcher Methode Du den Vorzug geben willst, kannst Dir ja mal die Hilfe dazu angucken, hat Beides Vor- und Nachteile.
Form1 kannst Du natürlich weglassen, wenn sich die Datenquelle auf dem selben Formular befindet.
2. und 3. sind im Grunde identisch.
Beim Locate kommt die Fehlermeldung, weil Dir der letzte Parameter, die Suchptionen, fehlt.
Auch wenn Du da korrekterweise keine verwendest....Delphi erwartet dort eine leer geschlossene eckige Klammer, also
form1.Datset1.locate('MeinFeldName', SuchWert, [])
Noch so als Anmerkung, Du solltest noch sicher stellen, dass Benutzernamen nicht doppelt vor kommen können.
_________________ Gruß Aga
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Mi 26.03.08 17:12
Titel: re
Ok thx hab das jetzt so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TFPWEingabe.Button2Click(Sender: TObject); begin if FLogin.TLogin.Locate('Benutzer', EBenutzer.Text, []) then begin if EPasswort.Text = FLogin.TLogin['Passwort'] then FAdressbuch.show; FPWEingabe.Hide; end else ShowMessage('Falsches Passwort'); end; |
Aber irgendwas fehlt da jetzt? Bisher sucht er nur den eingegebenen Benutzer in der Tabelle, bringt eine MsgBox mit der Anzege Falsches Passwort.
Also muss er jetzt noch das Passwort in der Tabelle suchen oder?
Moderiert von Klabautermann: Delphi-Tags hinzugefügt.
|
|
Xentar
      
Beiträge: 2077
Erhaltene Danke: 2
Win XP
Delphi 5 Ent., Delphi 2007 Prof
|
Verfasst: Mi 26.03.08 17:18
Gewöhn dir doch bitte an, Delphi TAGs hier im Forum zu verwenden, sowie den Quellcode korrekt einzurücken.
Wenn man dies macht, sieht man den Fehler recht schnell:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TFPWEingabe.Button2Click(Sender: TObject); begin if FLogin.TLogin.Locate('Benutzer', EBenutzer.Text, []) then begin if EPasswort.Text = FLogin.TLogin['Passwort'] then FAdressbuch.show; FPWEingabe.Hide; end else ShowMessage('Falsches Passwort'); end; |
Das Else gehört also im Moment zu dem Locate. Also findet er deinen Benutzernamen nicht (Groß- / Kleinschreibung beachten!)
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Mi 26.03.08 17:23
Titel: re
@Xentar
Ok es klappt erstmal nur jetzt hab ich folgendes Problem: hab jetzt 2 Benutzer: admin mit dem pw admin und test mit dem pw test. Aber wenn ich jetzt als Benutzer admin und als pw test eingebe kommt kine MsgBox "Falsches Passwort!" sondern die PWEingabe Form verschwindet was eigentlich nicht passieren dürfte, was kann ich dagegen tun?
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Mi 26.03.08 17:41
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TFPWEingabe.Button2Click(Sender: TObject); begin if FLogin.TLogin.Locate('Benutzer', EBenutzer.Text, []) then begin if EPasswort.Text = FLogin.TLogin['Passwort'] then begin FAdressbuch.show; FPWEingabe.Hide; end else ShowMessage('Falsches Passwort'); end else ShowMessage('Benutzer nicht vorhanden'); end; |
_________________ Gruß Aga
|
|
Black_Fox 
      
Beiträge: 66
|
Verfasst: Mi 26.03.08 17:45
Titel: re
@Agawain
Danke jetzt gehts! Und jetzt muss ich noch in dem Formular wo ich die Benutzer und das PW anlege verhindern da es doppelte Datensätze gibt?
|
|
Agawain
      
Beiträge: 460
win xp
D5, MySQL, devxpress
|
Verfasst: Mi 26.03.08 17:48
ja
mehrere Benutzer unter demselben Namen gibbet niergendwo
Locate findet sowieso nur den ersten.
Und mit Locate kannst du dann auch abfragen, obs den schon gibt.
_________________ Gruß Aga
|
|