Autor Beitrag
MKzero
Hält's aus hier
Beiträge: 4



BeitragVerfasst: So 14.01.07 18:47 
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:


ausblenden volle Höhe 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..3of 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 user profile iconChristian S.: Delphi-Tags hinzugefügt
Moderiert von user profile iconChristian S.: Titel geändert. (Hilfe will hier jeder ;-))
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19343
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
user profile iconMKzero 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? www.dsdt.info/tutorials/typdateien/
Menge?
ausblenden Delphi-Quelltext
1:
2:
3:
type
TKleidungsstueck = (klsHut, klsJacke, klsHose, klsSchuhe);
TKleidung = set of TKleidungsstueck;
MKzero Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: 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!
Einloggen, um Attachments anzusehen!
oldmax
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 380


D3 Prof, D4 Prof
BeitragVerfasst: 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

_________________
Zier dich nich so, ich krieg dich schon....
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19343
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 15.01.07 09:30 
user profile iconMKzero 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
ausblenden 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.
user profile iconMKzero hat folgendes geschrieben:
Das Feld habe ich schon drin, weiß aber nicht was es mir in diesem Fall bringt!
Ich hätte statt
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
     type Adressliste=array[1..3of TPerson; 


var 
  Form1: TForm1; 
  Person:Adressliste;
lieber
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
var 
  Form1: TForm1; 
  Person: array of TPerson;

// eine Person mehr:
SetLength(Person, Length(Person) + 1);

// eine Person weniger:
SetLength(Person, Length(Person) - 1);
genommen, weil sonst ist die Anzahl der Personen ja fest. Komisches Adressbuch... ;-)
user profile iconMKzero 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 Threadstarter
Hält's aus hier
Beiträge: 4



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

ausblenden 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..4of TPerson;


In Programm:

ausblenden 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 user profile iconraziel: Delphi-Tags hinzugefügt