Entwickler-Ecke
Sonstiges (Delphi) - Kleine Datenbank (Feld, Datei und Menge)
MKzero - So 14.01.07 18:47
Titel: Kleine Datenbank (Feld, Datei und Menge)
Benötige für die Schule ein kleines Beispielprogramm in Delphi.
Habe jetzt hin und her probiert und komme einfach nicht weiter:
Habe mir gedacht ein klitze-kleines Adressbuch zu nehmen. Nur mit Vorname, Nachname und Telefonnummer.
Meine Aufgabe:
Zeigen Sie am Beispiel einer kleinen Datenbank(Programm in Delphi) die Deklaration und die Verwendung der Datentypen „Feld“, „Verbund“, „Datei“ und „Menge“.
Kann mir jemand weiterhelfen, wie ich Datei und Menge da einbauen kann? Was bringt mir das Feld in diesem Fall? Wie kann ich die Ausgabe sinnvoll darstellen?
Quelltext:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44:
| ...
type TGeburtsdatum=record Tag:1..31; Monat:1..12; Jahr:1900..2007; end;
type TPerson=record Vorname:string[25]; Nachname:string[20]; Telefon:integer; Geburtsdatum:TGeburtsdatum; end;
type Adressliste=array[1..3] of TPerson;
var Form1: TForm1; Person:Adressliste; x:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin
for x:=1 to 3 do with Person[x] do begin Nachname:=Edit1.Text; Vorname:=Edit2.Text; with Geburtsdatum do begin Tag:=StrToInt(Edit3.Text); Monat:=StrToInt(Edit4.Text); Jahr:=StrToInt(Edit5.Text); end; end;
... |
Moderiert von
Christian S.: Delphi-Tags hinzugefügt
Moderiert von
Christian S.: Titel geändert. (Hilfe will hier jeder ;-))
jaenicke - So 14.01.07 19:42
Erstmal :welcome: hier im Forum!
Ist die Aufgabe nun etwas mit einer (echten) Datenbank zu machen oder sowas, was du gemacht hast? :gruebel:
MKzero hat folgendes geschrieben: |
Meine Aufgabe:
Zeigen Sie am Beispiel einer kleinen Datenbank(Programm in Delphi) die Deklaration und die Verwendung der Datentypen "Feld", "Verbund", "Datei" und "Menge". |
Ein Feld, also ein Array hast du ja schon. Was soll Verbund sein? Ein Record? :lol:
Datei?
http://www.dsdt.info/tutorials/typdateien/
Menge?
Delphi-Quelltext
1: 2: 3:
| type TKleidungsstueck = (klsHut, klsJacke, klsHose, klsSchuhe); TKleidung = set of TKleidungsstueck; |
MKzero - So 14.01.07 20:05
Naja, ist im Info Unterricht der 13. Klasse! Habe mir gedacht das es mit ner Tabelle(StringGrid) als Ausgabe ist.
Mit der Menge verstehe ich noch nicht! Heißt das, das Vorname, Nachname und z.B. Telefonnummer eine Menge von Person ist? Ist also so ähnlich wie Verbungd(Record)? Was bringt mir dann eine Menge in meinem Beispiel?
Das Feld habe ich schon drin, weiß aber nicht was es mir in diesem Fall bringt!
Und dann noch das Problem mit Datei(File)! Gibt es dafür ein Beispiel? Kann mal eine ganze Tabelle(StringGrid) speichern? Wenn ja, wäre ein kleines Beispiel ganz nett!
Als Anhang seht ihr mein momentanes Programm!
oldmax - Mo 15.01.07 07:52
Hi
Ich glaube, was du suchst habe ich schon einmal ziemlich ausführlich beschrieben. Geh einfach in die Suche und gebe unter Autoren "Oldmax" ein. Dort findest du unter Datenbank für Adressbuch gesucht einen ausführlichen Beitrag. Ist aber schon gut 4 monate her.
Viel Spaß damit
Gruß Oldmax
jaenicke - Mo 15.01.07 09:30
MKzero hat folgendes geschrieben: |
| Mit der Menge verstehe ich noch nicht! Heißt das, das Vorname, Nachname und z.B. Telefonnummer eine Menge von Person ist? Ist also so ähnlich wie Verbungd(Record)? Was bringt mir dann eine Menge in meinem Beispiel? |
Eine Menge enthält einen oder mehrere Elemente. In meinem Beispiel dachte ich, würde das klar werden. In einer Variable vom Typ Kleidung können ein oder mehrere Elemente aus TKleidungsstueck enthalten sein. Zum Beispiel nur klsJacke und klsHose...
Ob ein Element enhalten ist, kannst du mit
Delphi-Quelltext
1: 2: 3: 4: 5:
| var test: TKleidung; begin test := [klsHut, klsHose]; CheckBox1.Checked := klsHut in test; |
feststellen, so wie hier kannst du ja mehrere CheckBoxen verwenden.
MKzero hat folgendes geschrieben: |
| Das Feld habe ich schon drin, weiß aber nicht was es mir in diesem Fall bringt! |
Ich hätte statt
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| type Adressliste=array[1..3] of TPerson;
var Form1: TForm1; Person:Adressliste; |
lieber
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var Form1: TForm1; Person: array of TPerson;
SetLength(Person, Length(Person) + 1);
SetLength(Person, Length(Person) - 1); |
genommen, weil sonst ist die Anzahl der Personen ja fest. Komisches Adressbuch... ;-)
MKzero hat folgendes geschrieben: |
| Und dann noch das Problem mit Datei(File)! Gibt es dafür ein Beispiel? Kann mal eine ganze Tabelle(StringGrid) speichern? Wenn ja, wäre ein kleines Beispiel ganz nett! |
Du solltest lieber die Daten selbst speichern statt dem Inhalt des StringGrids... Das Tutorial wie sowas geht, habe ich doch verlinkt...
MKzero - Mi 17.01.07 17:46
Danke für die vielen Tipps! Bekomme das Tutorial nicht auch mein Projekt übertragen!
Mit der Menge ist jetzt schon deutlicher geworden, habe es mit Bundesländern gemacht! Was ist wenn ich überprüfen möchte, ob in einem Edit-Feld ein Element der Menge steht? Das funktionmiert nicht wie ich es mir denke!
Die Deklaration:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| type TBundesland=(Berlin,Brandenburg,Sachsen); Ort=set of TBundesland;
type TPerson=record Vorname:string[25]; Nachname:string[25]; Telefon:integer; Geburtsdatum:TGeburtsdatum; Ort:string[25]; end; type Adressliste=array[1..4] of TPerson; |
In Programm:
Delphi-Quelltext
1: 2:
| Bundesland:=(Edit1.Text); if Bundesland in Ort then Edit2.Text:="ja"; |
Aber so funktioniert das nicht! Kann mir jemand helfen?
Moderiert von
raziel: Delphi-Tags hinzugefügt
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!