AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schule Adressbuch

Ein Thema von DAVKO · begonnen am 7. Dez 2011 · letzter Beitrag vom 9. Dez 2011
Antwort Antwort
Seite 1 von 2  1 2      
DAVKO

Registriert seit: 7. Dez 2011
14 Beiträge
 
#1

Schule Adressbuch

  Alt 7. Dez 2011, 19:14
Hallo ihr lieben. ich habe ein kleines Problem oder eher gesagt meine Freundin.

Sie soll fuer die Schule eine Art Adressbuch schreiben.

Sie hat zwar Delphi 2010 auf ihren Rechner von der Schule, jeddoch 0 Ahnung davon. Nun hat Sie ein abgabetermin fuer Morgen 12 Uhr bekommen. Wir beide haben jetzt hier und da was gelesen, doch kommen wir zu keiner Lösung.

Kann uns jemand helfen dieses Adressbuch zu erstellen?

folgende Sachen sollten drin sein:

vorname
nachname
wohnort
alter
geburtsdatum


dann da drunter

< daneben aendern buttuon dannn >

dann da drunter neuer eintrag button.

kann bitte wer helfen?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#2

AW: Schule Adressbuch

  Alt 7. Dez 2011, 19:22
Erst mal herzlich Willkommen...
Zitat:
Nun hat Sie ein abgabetermin fuer Morgen 12 Uhr bekommen
Ich bezweifle, daß das erst seit heute bekannt ist. In der kürze der Zeit ist eine Lösung für Euch so gut wie unmöglich, da hier keiner C&P Code zur Verfügung stellen wird.

  Mit Zitat antworten Zitat
DAVKO

Registriert seit: 7. Dez 2011
14 Beiträge
 
#3

AW: Schule Adressbuch

  Alt 7. Dez 2011, 19:31
der termin ist seid mo bekannt, sie hat auch angweangen aber bis auf:

Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  NV:array[1..5,1..50] of string;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
NV[1,1]:='Julian';
NV[2,1]:='Manske';
NV[3,1]:='Stockelsdorf';
NV[4,1]:='17';
NV[5,1]:='14.01.1994';
Edit1.Text:= NV[1,1];
Edit2.Text:= NV[2,1];
Edit3.Text:= NV[3,1];
Edit4.Text:= NV[4,1];
Edit5.Text:= NV[5,1];

end;

end.
steht da nix. waehre auch bereit was zu zahlen. wichtig ist nur, das sie nicht wieder eine 6 da tehen hat...
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Schule Adressbuch

  Alt 7. Dez 2011, 19:32
Hallo,

vielleicht ist diese Seite für Euch interessant?

Ansonsten, wenn ihr im Forum nach Adressbuch sucht, solltet ihr einige Ansätze finden.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.336 Beiträge
 
Delphi 12 Athens
 
#5

AW: Schule Adressbuch

  Alt 7. Dez 2011, 20:05
Eigentlich wurde ja schon alles gesagt, aber


Wenn ihr bei einzelnen Teilen Probleme habt, dann könnt ihr gerne im Forum suchen und notfalls eine entsprechende Frage stellen.

Und wie schon erwähnt, gibt es hier im Forum genug zu diesem Thema zu finden ... man muß nur danach suchen.

Ansonsten:

Zitat:
vorname
nachname
wohnort
alter
geburtsdatum
Delphi-Quellcode:
vorname: string;
nachname: string;
wohnort: string;
alter: Integer;
geburtsdatum: TDateTime;
Und jetzt kann man das Ganze in einem RECORD verpacken oder in einem Daten-Objekt (ich weiß jetzt nicht, was sie schon alles gelernt hat und was genutzt werden kann).

Diese einzelnen Daten-Packete dann in eine passende Liste
- die Daten-Objekte in eine TObjectList
- die Records in ein Array oder ebenfalls in eine TList


PS: Das Alter würde ich garnicht mit speichern und auch vorher nicht eingeben.
Dieses kann man, nur zum Anzeigen, ja direkt aus dem Geburtsdarum errechnen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Dez 2011 um 20:45 Uhr)
  Mit Zitat antworten Zitat
DAVKO

Registriert seit: 7. Dez 2011
14 Beiträge
 
#6

AW: Schule Adressbuch

  Alt 7. Dez 2011, 21:55
anders geragt ist das was oben steht bis dahin richtig?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.336 Beiträge
 
Delphi 12 Athens
 
#7

AW: Schule Adressbuch

  Alt 7. Dez 2011, 22:09
Im Prinzip könnte man es so machen.


Außer daß ich die Arrays eben ändern würde.
Delphi-Quellcode:
// 5 Eigenschaften mit je 50 Personen ... kling nicht wirklich "logisch"
BenutzerListe: array[1..5,1..50] of string;

// 50 Personen mit je 5 Eigenschaften
BenutzerListe: array[1..50,1..5] of string;

// 50 Personen mit mehreren namentlich genannten Eigenschaften
BenutzerListe: array[1..50] of TBenuterRecord; // wie oben genannt

BenutzerListe[Benutzerindex].Eigenschaftsname


Dann ist NV kein wirklich guter Name ... der sagt ja nicht wirklich "sprechend" was er nun macht und wofür er da ist.
Ich wüßte jetzt nichmal wofür NV überhaupt stehen soll.



Globale Variablen, also das NV ... dafür sollte man euch ein paar hinter die Ohren geben.
Sowas gehört hier in das Private der Form, denn in den Methoden der Form soll es ja verwendet werden.

ratet mal, warum das dort so schön genannt wurde?
Delphi-Quellcode:
private
  { Private-Deklarationen }
Aber OK, an diesem Verhalten sind ja meißt die Lehrer schuld, da es oftmals so gelehrt wird.
(also den Lehrern gehört auch auf die finger geklopft)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Schule Adressbuch

  Alt 8. Dez 2011, 07:20
Nun hat Sie ein abgabetermin fuer Morgen 12 Uhr bekommen.
der termin ist seid mo bekannt, sie hat auch angweangen aber bis auf:
Code:
...schlimmes Geschrubbel...
steht da nix. waehre auch bereit was zu zahlen. wichtig ist nur, das sie nicht wieder eine 6 da tehen hat...
Ganz ehrlich?

Ich denke - und mit der Meinung stehe ich gewiss nicht alleine da - das diese Aufgabe nicht erst seit dem 5.12 anstand.

Wahrscheinlich hatte sie zwei bis sechs Wochen dafür Zeit, oder?

Wenn ihr erst fünf Minuten vor der Angst anfangt und nicht mehr hinkriegt als die sichtbaren Komponenten auf das Formular zu ziehen, dann ist das ein eindeutiges Zeichen, dass ihr eure Prioritäten und eurer Zeitmanagement besser in den Griff kriegen solltet.

Wenn wirklich eine sechs daraus wird, dann ist es zumindest eine wertvolle Lektion.
Das nächste Projekt - egal in welchen Fach oder späteren Beruf/Studium - wird vielleicht dann nicht so verschlampt.

Tut mir leid, wenn das ein bisschen hart klingt, aber wir haben hier andauerend Anfragen von Schülern, denen alles andere wichtiger im Leben ist und einen Tag vorher (nach mehreren Wochen Zeit) einfällt, dass sie ja noch ein kleine Programm zu programmieren haben.
  Mit Zitat antworten Zitat
DAVKO

Registriert seit: 7. Dez 2011
14 Beiträge
 
#9

AW: Schule Adressbuch

  Alt 8. Dez 2011, 19:36
Also erstmal entschuldige. Die Angst macht ein oft verzweifelt. haben nun Zeit bis heute Abend und habe ein tutorial durchgearbeitet. das ergebnis hat noch ehler und damit wuerde ich mich gern an euch wenden, wenn das okay ist. hier erstmal der code, den ich wenn er läuft noch etwas umschreiben wollte.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

type Adresse = record
       name: string[50];
       strasse: string[100];
       plz: integer;
       ort: string[50];
     end;

var datei: file of Adresse;

 procedure TForm1.FormCreate(Sender: TObject);
var path: String;
begin
  path := ExtractFilePath(ParamStr(0));
  AssignFile(datei, path+'adressen.dat');
  if FileExists(path+'adressen.dat') then ReSet(datei)
  else ReWrite(datei);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  CloseFile(datei);
end;

procedure TForm1.positionieren(datensatz: integer);
var aktdatensatz: Adresse;
begin
  if (datensatz<0) or (datensatz>=FileSize(datei)) then exit
  else begin
    seek(datei, datensatz);
    read(datei, aktdatensatz);
    edit1.text:=aktdatensatz.name;
    edit2.text:=aktdatensatz.strasse;
    edit3.text:=IntToStr(aktdatensatz.plz);
    edit4.text:=aktdatensatz.ort;
  end;
end;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  positionieren(0);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
positionieren(FilePos(datei)-2);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  positionieren(FilePos(datei));
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
 positionieren(FileSize(datei)-1);
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
const
  BufferSize = 32;

procedure TForm1.Button5Click(Sender: TObject);
var
  Buffer: array[0..BufferSize - 1] of Adresse;
  i, p: integer;
begin
  Seek(datei,0);
  p:=0;
  while not eof(datei) do begin
    Read(datei, Buffer[p]);
    inc(p); //entspr. p:=p+1
  end;
  CloseFile(datei);
  Buffer[p+1].name:='';
  Buffer[p+1].strasse:='';
  Buffer[p+1].plz:=0;
  Buffer[p+1].ort:='';
  ReWrite(datei);
  for i:=0 to p do write(datei, Buffer[i]);
  positionieren(FileSize(datei)-1);
end;

procedure TForm1.Button7Click(Sender: TObject);
var datensatz: Adresse;
    nr: integer;
begin
  Seek(Datei,FilePos(Datei)-1);
  nr:=FilePos(datei);
  datensatz.name:=Edit1.Text;
  datensatz.strasse:=Edit2.Text;

  datensatz.plz:=StrToIntDef(Edit3.Text, -1);

  datensatz.ort:=Edit4.Text;
  write(datei,datensatz);
  positionieren(nr);
end;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
const
  BufferSize = 32;

procedure TForm1.Button6Click(Sender: TObject);
var
  Buffer: array[0..BufferSize - 1] of Adresse;
  i, p: Integer;
  StartRecord, EndRecord: Integer;
  Max: Integer;
begin
  Seek(Datei, FilePos(Datei)-1);
  StartRecord := FilePos(Datei) + 1;
  EndRecord := FileSize(Datei);

  while StartRecord < EndRecord do begin

    Max := BufferSize;
    if Max > EndRecord - StartRecord then
      Max := EndRecord - StartRecord;
    Seek(Datei, StartRecord);
    for i := 0 to Max - 1 do
      Read(Datei, Buffer[i]);

    Seek(Datei, StartRecord - 1);
    for i := 0 to Max - 1 do
      Write(Datei, Buffer[i]);
    inc(StartRecord);
  end;

  Truncate(Datei);
  Positionieren(StartRecord-1);
end;
end;

end.
1. Fehler: Erwartet;, aber. erhalten in Zeile 49 (49:18)
2. Fehler: Bezeichner neu deklariert ´TForm1´ im Zeile 49 (49:12)
3. Fehler: Erwartet: IMPLEMENTATION, aber BEGIN erhalten in Zeile 51 (51:1)
4. Fehler: Erwartet: ., aber ; erhalten in Zeile 56 (56:4)
5. Fehler: Erwartet: das Ende der Datei, aber Bezeichner ´FormDestroy´ erhalten in Zeile 58 (58:18)

ich wuerde mich freuen, wenn ihr mir bei den Fehler helfen könntet.

Lieben Dank

PS: Muss mich noch mal an alle entschuldigen, ihr habt mit euren Aussagen recht und das tut mir leid, das ich dies gestern in der verzweiflung nicht gesehen habe.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Schule Adressbuch

  Alt 8. Dez 2011, 19:45
Seit wann kommt ausführbarer Code vor den Implementation-Abschnitt?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz