Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Schule Adressbuch (https://www.delphipraxis.net/164960-schule-adressbuch.html)

DAVKO 7. Dez 2011 18:14

Schule Adressbuch
 
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?

haentschman 7. Dez 2011 18:22

AW: Schule Adressbuch
 
Erst mal herzlich Willkommen...:dp:
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.

:hi:

DAVKO 7. Dez 2011 18:31

AW: Schule Adressbuch
 
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...

Klaus01 7. Dez 2011 18:32

AW: Schule Adressbuch
 
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

himitsu 7. Dez 2011 19:05

AW: Schule Adressbuch
 
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. :zwinker:

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.

DAVKO 7. Dez 2011 20:55

AW: Schule Adressbuch
 
anders geragt ist das was oben steht bis dahin richtig?

himitsu 7. Dez 2011 21:09

AW: Schule Adressbuch
 
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. :gruebel:



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. :wall:
(also den Lehrern gehört auch auf die finger geklopft)

DAVKO 7. Dez 2011 21:29

AW: Schule Adressbuch
 
der lehrer ist nicht wirklich schuld das einzige was der sagt, ist das internet frei sei nun und im internet alles stehen wuerde.

aber ich merk selbst gerade selbst deine antwort ueberordert uns hier gerade. weiss auch nicht was bautechnik mit programmieren zu tun hat. komme leider nicht weiter...

Sir Rufo 7. Dez 2011 21:38

AW: Schule Adressbuch
 
Vor ein paar Tagen wurde hier als Beispiel-Projekt so ein AdressBuch (ContactManager) doch vorgestellt.

Die Quellen findest du hier

Wenn der Lehrer die Quellen sieht, dann geht der wahrscheinlich gleich nach Hause :mrgreen:

Bummi 7. Dez 2011 21:44

AW: Schule Adressbuch
 
<°)))))< ?

TiGü 8. Dez 2011 06:20

AW: Schule Adressbuch
 
Zitat:

Zitat von DAVKO (Beitrag 1140138)
Nun hat Sie ein abgabetermin fuer Morgen 12 Uhr bekommen.

Zitat:

Zitat von DAVKO (Beitrag 1140146)
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.

DAVKO 8. Dez 2011 18:36

AW: Schule Adressbuch
 
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.

Luckie 8. Dez 2011 18:45

AW: Schule Adressbuch
 
Seit wann kommt ausführbarer Code vor den Implementation-Abschnitt?

wicht 8. Dez 2011 18:47

AW: Schule Adressbuch
 
Ich habe es jetzt nicht getestet oder sonstwas, aber sehr auffällig ist, dass du Code (z.B. Prozeduren) überhalb des "implementation"-Schlüsselwortes benutzt. Pack mal folgendes

Delphi-Quellcode:
 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;
unter

Code:
implementation

Das könnte schon helfen. Weil hier scheinbar Eigeninitiative ergriffen wurde, ist das schon einmal ein Fortschritt :P ... "implementation" ist das, was ansagt, dass jetzt Code folgt. Und genau das sind die Teile, die du unter das "implementation" verschieben solltest.

Edit: Der Luckie war zu schnell... trotzdem poste ich!

DAVKO 8. Dez 2011 19:06

AW: Schule Adressbuch
 
Habe das nun gemacht und nun habe ich sehr viele Fehlermeldungen.
ich habe das ganze mal als rar datei gepackt.

Link: Download

Luckie 8. Dez 2011 19:09

AW: Schule Adressbuch
 
Sorry, aber der Download erfordert Javascript und das werde ich auf der Seite nicht aktivieren. Warum hängst du es nicht hier an deinem Beitrag an?

DAVKO 8. Dez 2011 19:12

AW: Schule Adressbuch
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier die datei als anhang. danke

wicht 8. Dez 2011 19:25

AW: Schule Adressbuch
 
Du benutzt Prozeduren (z.B. TForm1.FormCreate, TForm1.FormDestroy), die nicht in der Klassendefinition vorhanden sind. Erweitere deinen Kram im interface-Abschnitt.
Oben unter

Delphi-Quellcode:
{ ...}
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
musst du noch

Delphi-Quellcode:
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
schreiben.

Nach "procedure TForm1.Button7Click(Sender: TObject);" hast du am Ende zwei mal "end;" geschrieben - das gehört da aber nur einmal hin - jedes "begin" erfordert ein "end" - da ist eins zu viel.

Dann gibt es noch diese lustige Stelle:

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

procedure TForm1.Button5Click(Sender: TObject);
Das ist so nicht möglich. Mach mal das obere Zeug (alles über dem zweiten "procedure [...]" weg und tu das "const Buffersize = 32;" direkt unter das zweite Procedure, dass es so aussieht:

Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
const
  BufferSize = 32;
var
  Buffer: array[0..BufferSize - 1] of Adresse;
  i, p: integer;
begin
  Seek(datei,0);
  p:=0;
Weiter habe ich nicht probiert, bin ja nun selber schwer mit Delphi beschäftigt :-D

himitsu 8. Dez 2011 19:28

AW: Schule Adressbuch
 
Es kommt noch ein paar Mal sowas vor:
Delphi-Quellcode:
procedure TForm1.Button5Click(Sender: TObject);
begin
const
  BufferSize = 32;

procedure TForm1.Button5Click(Sender: TObject);
...
begin

...

end;
end;
Sieht jemand den Fehler?

Ihr habt doch D2010 ... drückt mal Strg+D im Codeeditor, bzw. im Kontextmenü "Quelltext formatieren".
Ordentlich formatiert fallen die Fehler eventuell noch besser auf.



Nja, Delphi gibt doch die Fehlerstellen ganz gut an?
Da muß man sich halt mal die erste Fehlermeldung vornehmen (Doppelklick auf die Fehlermeldung) und um diese Stelle drumrumgucken, was da los ist und was nicht stimmen könnte.

Quellcode kann man hier im Forum auch direkt anhängen. (die DPR, die PAS, die DFM und eventuell noch die EXE)
Bin heute zu langsam.

haentschman 8. Dez 2011 19:32

AW: Schule Adressbuch
 
Liste der Anhänge anzeigen (Anzahl: 1)
...ich war grad dabei. 8-)
Im Anhang mal eine korrigierte Unit. (incl. der oben beschriebenen Fehler). Ich habe einfach mal sortiert, begin/end eingefügt. Auch wenn es manchmal nicht notwendig wäre erhöht es durchaus die Übersichtlichkeit, da der Block (z.B. Schleife) besser zu sehen ist. Keine Prüfung der Logik ! Falls ich noch was übersehen habe... ist schon spät :wink:

DAVKO 8. Dez 2011 19:36

AW: Schule Adressbuch
 
Liste der Anhänge anzeigen (Anzahl: 1)
danke erstmal :)

jetzt sind es gleich weniger fehler, nun sagt er mir er kennt positionieren nicht und

CloseFile(datei);
Buffer[p+1].name:='';

closeile meldet er flasch und name

poste den code noch mal und mach einen anhang mit beta1.1

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);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(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;



implementation

 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;

{$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);
const
  BufferSize = 32;
var
  Buffer: array[0..BufferSize - 1] of Adresse;
  i, p: integer;
begin
  Seek(datei,0);
  p:=0;
  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.

wicht 8. Dez 2011 19:38

AW: Schule Adressbuch
 
"positionieren" muss in die Definition von TForm1.

Also:

Delphi-Quellcode:
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);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure positionieren(datensatz: integer); // HIER!!!
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

DAVKO 8. Dez 2011 19:42

AW: Schule Adressbuch
 
habe nur noch einen ehler

procedure TForm1.Button7Click(Sender: TObject);

da makiert er mir Button7Click

warum?

hier noch mal den ganzen code

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 FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure positionieren(datensatz: integer);
  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;



implementation

{$R *.dfm}

 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;

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);
const
  BufferSize = 32;
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);
  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
  begin
    write(datei, Buffer[i]);
  end;
  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;

procedure TForm1.Button6Click(Sender: TObject);
const
  BufferSize = 32;
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
    begin
      Read(Datei, Buffer[i]);
    end;
    Seek(Datei, StartRecord - 1);
    for i := 0 to Max - 1 do
    begin
      Write(Datei, Buffer[i]);
    end;
    inc(StartRecord);
  end;
  Truncate(Datei);
  Positionieren(StartRecord-1);
end;

end.
habe den code von haentschman als berichtigung uebernommen.

wicht 8. Dez 2011 19:44

AW: Schule Adressbuch
 
Du musst hier

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  [...]
ein "procedure Button7Click(Sender: TObject);" noch hinzufügen. Alles, was mit "TForm1." beginnt, gehört da rein! :stupid:

So, Besuch, ich bin raus...

DAVKO 8. Dez 2011 19:46

AW: Schule Adressbuch
 
danke wichtel dir noch einen schoenen abend.

wie genau fuege ich diesen ein?

edit: hab es danke, wandel das ganze nun mal ein wenig um und hofe mach keine fehler...

himitsu 8. Dez 2011 19:47

AW: Schule Adressbuch
 
Das Positionieren wurde ja schon gemacht, nun nochmal die Variable.

Delphi-Quellcode:
unit Unit1;

interface

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

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

  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 FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    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 }
    datei: file of Adresse;
    procedure positionieren(datensatz: integer);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
...

PS: Er meckerte doch Positionieren kenne er nicht.
Recht hat er,
denn schaut mal an der Stelle, wo das bemängelt hatte "hoch" ... ihr werdet dort nirgendwo eine Deklaration finden. (notfalls auch mal auf die Rechtschreibung schauen)
Und schwups, wäre der Fehler klar gewesen, denn was man "noch" nicht kennt, das kann man auch nicht finden.

himitsu 8. Dez 2011 19:55

AW: Schule Adressbuch
 
Tipp (wenn man sich seinen Quellcode komplett "zerschossen" hat):

* neue Form erstellen

* Folgendes dort rein:
Delphi-Quellcode:
type
  Adresse = record
    name: string[50];
    strasse: string[100];
    plz: integer;
    ort: string[50];
  end;

  TForm1 = class(TForm)
   
  private
    { Private-Deklarationen }
    datei: file of Adresse;
    procedure positionieren(datensatz: integer);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
* mit dem Cursor auf
Delphi-Quellcode:
positionieren
und Strg+Shift+C

* in die alte Form gehn

* alle Komponenten (im Fenster) makieren, kopieren und in der neuen Form einfügen

* ab jetzt das Projekt nicht speichern

* dann über den OI alle Events neu erzeugen
* * doppelt auf die Buttons klicken
* * über den OI OnCreate und OnDestroy anlegen

* aus dem alten Projekt die Prozedurinhalte in die neuen Prozeduren kopieren (Jede einzeln)

* nun kann man wieder speichern (habt ihr zwischendurch gespeichert, dann muß man die noch leeren Prozeduren erneut erstellen, da sie entfernt wurden, weil der Compiler dachte die braucht keiner ... oder man schreibt erstmal überall schnell ein
Delphi-Quellcode:
//
zwischen BEGIN und END )
Oder man erstellt nur die jeweilige Prozedur, für welche man grade den Code neu einfügen will.

DAVKO 8. Dez 2011 20:23

AW: Schule Adressbuch
 
Liste der Anhänge anzeigen (Anzahl: 1)
so mal die geaenderte version als anhang.

hab folgendes problem.

auch wenn er keine fehler anteigt, geht das programm nicht richtig. er speichert nix sondern zeigt nur eine ehlermeldung an. habt ihr da eine erklärung?
kann wer helfen?

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;
    Edit5: TEdit;
    Label5: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure positionieren(datensatz: integer);
    procedure Button7Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

type
  Adresse = record
    Vorname: string[50];
    Nachname: string[50];
    Wohnort: string[100];
    Alter: integer;
    Geburtstag: string[50];
  end;

var datei: file of Adresse;



implementation

{$R *.dfm}

 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.Vorname;
    edit2.text:=aktdatensatz.Wohnort;
    edit3.text:=IntToStr(aktdatensatz.Alter);
    edit4.text:=aktdatensatz.Geburtstag;
    edit5.text:=aktdatensatz.Nachname;
  end;
end;

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);
const
  BufferSize = 32;
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);
  end;
  CloseFile(datei);
  Buffer[p+1].Vorname:='';
  Buffer[p+1].Wohnort:='';
  Buffer[p+1].Alter:=0;
  Buffer[p+1].Geburtstag:='';
  Buffer[p+1].Nachname:='';
  ReWrite(datei);
  for i:=0 to p do
  begin
    write(datei, Buffer[i]);
  end;
  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.Vorname:=Edit1.Text;
  datensatz.Wohnort:=Edit2.Text;
  datensatz.Alter:=StrToIntDef(Edit3.Text, -1);
  datensatz.Geburtstag:=Edit4.Text;
  datensatz.Nachname:=Edit5.Text;
  write(datei,datensatz);
  positionieren(nr);
end;

procedure TForm1.Button6Click(Sender: TObject);
const
  BufferSize = 32;
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
    begin
      Read(Datei, Buffer[i]);
    end;
    Seek(Datei, StartRecord - 1);
    for i := 0 to Max - 1 do
    begin
      Write(Datei, Buffer[i]);
    end;
    inc(StartRecord);
  end;
  Truncate(Datei);
  Positionieren(StartRecord-1);
end;

end.

himitsu 8. Dez 2011 21:14

AW: Schule Adressbuch
 
Zitat:

auch wenn er keine fehler anteigt, geht das programm nicht richtig. er speichert nix sondern zeigt nur eine ehlermeldung an. habt ihr da eine erklärung?
Nein, da wir diesen Fehlertext nicht kennen. (irgendwer hat vergessen uns diesen zu nennen)

Tipp: Strg+C in dem Exceptionfenster machen und hier dann Strg+V.



Ansonsten: Debuggen !!!

Der Debugger zeigt doch bestimmt eine Fehlerstelle an?
Davor einen Haltepunkt (F5) machen
und das Programm neu starten (im Debugger).

Danach kann man schön mit F7 durch den Code steppen und kann sich nebenbei die Variablen ansehn (z.B. die Maus drüberhalten), ob sie die erwarteten Werte enthalten
und/oder sich oben mal das Menü "Start" genauer ansehn.

Bummi 8. Dez 2011 21:21

AW: Schule Adressbuch
 
Liste der Anhänge anzeigen (Anzahl: 1)
Evnets von FromCreate und Fromdestroy waren nicht angehängt.
Button7 (Speichern) war im Code implementiert, der Button selbst fehlt.
Keine Ahnung wie der Code zusammenkopiert wurde.
Von weiteren privaten Benachrichtigungen diesbezüglich bitte ich abzusehen.

DAVKO 8. Dez 2011 21:35

AW: Schule Adressbuch
 
Liste der Anhänge anzeigen (Anzahl: 1)
so hier mal version 2 immer noch gleiche ehler mit button 7 drin

code + anhang

fehlercode e/a103

habe leider keine F tasten geht es auch anders? lappi tastatur ist kaputt und schreibe mit der logitech mini gerade

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;
    Edit5: TEdit;
    Label5: TLabel;
    Button7: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure positionieren(datensatz: integer);
    procedure Button7Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

type
  Adresse = record
    Vorname: string[50];
    Nachname: string[50];
    Wohnort: string[100];
    Alter: integer;
    Geburtstag: string[50];
  end;

var datei: file of Adresse;



implementation

{$R *.dfm}

 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.Vorname;
    edit2.text:=aktdatensatz.Wohnort;
    edit3.text:=IntToStr(aktdatensatz.Alter);
    edit4.text:=aktdatensatz.Geburtstag;
    edit5.text:=aktdatensatz.Nachname;
  end;
end;

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);
const
  BufferSize = 32;
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);
  end;
  CloseFile(datei);
  Buffer[p+1].Vorname:='';
  Buffer[p+1].Wohnort:='';
  Buffer[p+1].Alter:=0;
  Buffer[p+1].Geburtstag:='';
  Buffer[p+1].Nachname:='';
  ReWrite(datei);
  for i:=0 to p do
  begin
    write(datei, Buffer[i]);
  end;
  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.Vorname:=Edit1.Text;
  datensatz.Wohnort:=Edit2.Text;
  datensatz.Alter:=StrToIntDef(Edit3.Text, -1);
  datensatz.Geburtstag:=Edit4.Text;
  datensatz.Nachname:=Edit5.Text;
  write(datei,datensatz);
  positionieren(nr);
end;

procedure TForm1.Button6Click(Sender: TObject);
const
  BufferSize = 32;
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
    begin
      Read(Datei, Buffer[i]);
    end;
    Seek(Datei, StartRecord - 1);
    for i := 0 to Max - 1 do
    begin
      Write(Datei, Buffer[i]);
    end;
    inc(StartRecord);
  end;
  Truncate(Datei);
  Positionieren(StartRecord-1);
end;

end.

Bummi 8. Dez 2011 21:42

AW: Schule Adressbuch
 
Warum schickst weiterhin kaputten Code wenn in meinem Anhang alles längst repariert war und zusätzlich noch den pas Code im Post ?

DAVKO 8. Dez 2011 21:56

AW: Schule Adressbuch
 
entschuldige hab den fehler trotzdem hervor gerufen wenn noch kein datensatz eingebunden ist aber es geht nun danke :)

himitsu 8. Dez 2011 22:00

AW: Schule Adressbuch
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Bummi (Beitrag 1140403)
Evnets von FromCreate und Fromdestroy waren nicht angehängt.
Button7 (Speichern) war im Code implementiert, der Button selbst fehlt.
Keine Ahnung wie der Code zusammenkopiert wurde.

Unter Anderem deswegen auch der Beitrag #27.


Zitat:

Zitat von DAVKO (Beitrag 1140405)
habe leider keine F tasten geht es auch anders? lappi tastatur ist kaputt und schreibe mit der logitech mini gerade

Es gibt auch ein Menü START, in welches du vorhin doch schon einmal reinsehn solltest!
Und wenn man sich das Menü genauer ansieht ...

DAVKO 8. Dez 2011 22:10

AW: Schule Adressbuch
 
himitsu entschuldige die kopschmerzen von mir weiss nun aber was du meinst. brummi dir auch noch mal danke uer deine hile die 2 links von dir, werde ich mir uebers we anschauen mit ihr zusammen. auch wenn ich das selbst nicht wirklich brauche hat es mich doch nun auch irgendwie gefesselt.

danke danke danke...

Bummi 8. Dez 2011 22:29

AW: Schule Adressbuch
 
Du solltest Dir mal eine Tastatur mit zuverlässig funktionierendem "F" zulegen ..:wink:

himitsu 8. Dez 2011 22:36

AW: Schule Adressbuch
 
So als kleiner Tipp: Man kann in Youtube *1 und Co. auch nach "Delphi Tutorial" suchen und findet so manches nettes Teil.

http://www.youtube.com/results?searc...elphi+Tutorial
www.google.de/search?q=Delphi+Tutorial
channel-e.embarcadero.com
edn.embarcadero.com/video



1) Muß man nicht so viel lesen und sieht auch was von der IDE. :angle2:
Für ein eigenes Delphi (auf Zeit) zum Testen > www.embarcadero.com/downloads

TiGü 9. Dez 2011 10:03

AW: Schule Adressbuch
 
Ähm, Leute, habt ihr noch alle Klötze am Beutel? :shock:

Erst wird groß der moralische Zeigefinger erhoben:
"WAAAS, für Geld deine Hausaufgaben machen, neeeiiin, nie!", und dann helft ihr ihm mit
einen OFFENTSICHTLICH schlecht kopierten und NICHT von ihm stammenden Quellcode?

Von den Quellcode in Beitrag 12 wurde doch keine Zeile von ihm oder seiner Freundin selbst geschrieben.

Ich hoffe der Verursacher / Klassenkamerad wurde dafür von dir oder deiner Freundin (Dienstleistung geht auch) entsprechend entlohnt!

p80286 9. Dez 2011 13:31

AW: Schule Adressbuch
 
Man könnte auch sagen, daß da einem armen Schwein geholfen wurde, dessen Delphi-Kenntnisse so minimal sind, daß er noch nicht einmal einfache Fehler erkennen und beheben konnte.
Aber, er hat sich hingesetzt und versucht sich durchzubeißen, und das ist mehr als man von dem einen oder anderen sagen kann.

Gruß
K-H

TiGü 9. Dez 2011 13:46

AW: Schule Adressbuch
 
Zitat:

Zitat von p80286 (Beitrag 1140551)
Aber, er hat sich hingesetzt und versucht sich durchzubeißen, und das ist mehr als man von dem einen oder anderen sagen kann.

Zeige mir die Eigenleistung oder dieses ominöse Durchbeißen.
Kopierter Quelltext und für jeden Fehler hier nachgefragt.
Am Ende haben wieder mehrere Leute die Sachen korrigiert und hier eingefügt.

Ganz großes Kino! 8-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz