Autor Beitrag
Black_Fox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: Mo 10.03.08 17:39 

_________________
Gruß Aga
Black_Fox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: Mo 10.03.08 17:41 
Titel: re
danke werd das beispiel mal nach machen
Black_Fox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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:

ausblenden 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  //In der Tabelle TLogin von der Form FLogin wird ein Benutzer gesucht der in das Edit Feld EBenutzer eingegeben wurde
 begin
  if EPasswort.Text = FLogin.DBEPW then  //Werte werden verglichen
     FAdressbuch.show; //Hauptform
     FPWEingabe.Hide; //Form wo man Passwort eingeben muss erscheint beim Programmstart
 else
  ShowMessage('Falsches Passwort'); //MessageBox mit dem Inhalt "Falsches Passort!" erscheint
 end;
end;


Moderiert von user profile iconKlabautermann: Delphi-Tags hinzugefügt.
Agawain
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: Mi 26.03.08 17:12 
Titel: re
Ok thx hab das jetzt so:

ausblenden 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 user profile iconKlabautermann: Delphi-Tags hinzugefügt.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: 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:

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: Mi 26.03.08 17:41 
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 66



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 460

win xp
D5, MySQL, devxpress
BeitragVerfasst: Mi 26.03.08 17:48 
ja

mehrere Benutzer unter demselben Namen gibbet niergendwo :lol:


Locate findet sowieso nur den ersten.
Und mit Locate kannst du dann auch abfragen, obs den schon gibt.

_________________
Gruß Aga
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.