Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

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 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:08 Uhr.
Seite 4 von 5   « Erste     234 5      

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