Thema: Delphi Bibliotheksverwaltung

Einzelnen Beitrag anzeigen

funkuchn

Registriert seit: 20. Sep 2009
Ort: Boblitz
81 Beiträge
 
Delphi 6 Professional
 
#3

Re: Bibliotheksverwaltung

  Alt 10. Jan 2010, 15:39
okay, dann ist hier der Quelltext...
Delphi-Quellcode:
nit Unit1;

interface

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

  const max=100;
  type
  Bibo=record
   Buchtitel:string[20];
   ISBN:byte;
   Autor:string[20];
   Name:string[20];
   Vorname:string[20];
   Klasse:string[20];
   ausgeliehen:boolean;
  end;
  f=array[1..max] of Bibo;
  TBibliothekshilfe = class(TForm)
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Speichern1: TMenuItem;
    Laden1: TMenuItem;
    Lschen1: TMenuItem;
    Beenden1: TMenuItem;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Label11: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    ListBox1: TListBox;
    Eintragndern1: TMenuItem;
    Button4: TButton;
    procedure Button4Click(Sender: TObject);
    procedure Eintragndern1Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Beenden1Click(Sender: TObject);
    procedure Speichern1Click(Sender: TObject);
    procedure Laden1Click(Sender: TObject);
    procedure Lschen1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Bibliothekshilfe: TBibliothekshilfe;

implementation
var Feld:f;
    i:integer;
{$R *.dfm}

procedure TBibliothekshilfe.Beenden1Click(Sender: TObject);
begin
 close;
end;

procedure Speichern(sp:f);
 var x:integer;
  datei:file of Bibo;
 begin
 assignfile(datei,'C:\Bibo.txt');
 rewrite(datei);
  For x:=1 to i do
   write(datei,Feld[x]);
   closefile(datei);
 end;
 
procedure TBibliothekshilfe.Speichern1Click(Sender: TObject);
var x:integer; astring:string;
begin
 i:=i+1;
 Feld[i].Buchtitel:=edit1.Text;
 Feld[i].ISBN:=StrToInt(edit2.Text);
 Feld[i].Autor:=edit3.Text;
 Feld[i].Name:=edit4.Text;
 Feld[i].Vorname:=edit5.Text;
 Feld[i].Klasse:=edit6.Text;
 Feld[i].ausgeliehen:=radiobutton1.Checked;

 Speichern(Feld);
 Listbox1.Items.clear;

 for x:=1 to i do
   begin
    astring:='Buch "'+Feld[x].Buchtitel+'" (ISBN: '+inttostr(Feld[x].ISBN)+') ist ';
     if Feld[x].ausgeliehen then
       astring:=astring+'ausgeliehen an '+Feld[x].vorname+' '+Feld[x].name+'.'
     else
       astring:= astring+' nicht ausgeliehen.';
    listbox1.Items.add(astring);
  end;
end;

procedure Laden(var la:f);
var datei:file of Bibo;
 begin
 i:=0;
 assignfile(datei,'C:\Bibo.txt');
 reset(datei);
 WHILE not EOF(datei) DO
  begin
  i:=i+1;
  read(datei,la[i]);
  end;
 closefile(datei);
 end;


procedure TBibliothekshilfe.Laden1Click(Sender: TObject);
var x:integer;astring:string;
begin
 Laden(Feld);

 listbox1.Items.Clear;

 For x:=1 to i DO
 begin
  astring:='Buch "'+Feld[x].Buchtitel+'" (ISBN: '+inttostr(Feld[x].ISBN)+') ist ';
  if Feld[x].ausgeliehen then
     astring:=astring+'ausgeliehen an '+Feld[x].vorname+' '+Feld[x].name+'.'
   else
     astring:= astring+' nicht ausgeliehen.';
  listbox1.Items.add(astring);
 end;
end;

procedure TBibliothekshilfe.Lschen1Click(Sender: TObject);
begin
 edit1.Clear;
 edit2.Clear;
 edit3.Clear;
 edit4.Clear;
 edit5.Clear;
 edit6.Clear;
 listbox1.items.clear;
end;

procedure TBibliothekshilfe.FormActivate(Sender: TObject);
begin
 edit1.Clear;
 edit2.Clear;
 edit3.Clear;
 edit4.Clear;
 edit5.Clear;
 edit6.Clear;
 listbox1.Items.clear;
end;

procedure TBibliothekshilfe.FormCreate(Sender: TObject);
begin
 i:=0;
end;

procedure TBibliothekshilfe.Button1Click(Sender: TObject);
var x:integer;
begin

for x:=1 to length(feld) do
   if uppercase(Feld[x].Buchtitel)=uppercase(edit7.text) then
     begin
       showmessage('Das Buch mit dem Titel '+Feld[x].Buchtitel+' wurde gefunden!');
       if Feld[x].ausgeliehen then
         showmessage('Es ist momentan an den Schüler '+Feld[x].Vorname+' '+feld[x].name+ ' ausgeliehen.')
       else
         showmessage('Es ist momentan nicht ausgeliehen!');
     end;


end;

procedure TBibliothekshilfe.Button2Click(Sender: TObject);
var x:integer;
begin

for x:=1 to length(feld) do
   if (Feld[x].ISBN)=strtoint(edit8.text) then
     begin
       showmessage('Das Buch mit dem Titel '+Feld[x].Buchtitel+' und der ISBN '+ inttostr(Feld[x].isbn)+' wurde gefunden!');
       if Feld[x].ausgeliehen then
         showmessage('Es ist momentan an den Schüler '+Feld[x].Vorname+' '+feld[x].name+ ' ausgeliehen.')
       else
         showmessage('Es ist momentan nicht ausgeliehen!');
     end;


end;

procedure TBibliothekshilfe.Button3Click(Sender: TObject);
var x:integer;
begin

for x:=1 to length(feld) do
   if uppercase(Feld[x].autor)=uppercase(edit9.text) then
     begin
       showmessage('Das Buch mit dem Autor '+Feld[x].autor+' und der ISBN '+ inttostr(Feld[x].isbn)+' wurde gefunden!');
       if Feld[x].ausgeliehen then
         showmessage('Es ist momentan an den Schüler '+Feld[x].Vorname+' '+feld[x].name+ ' ausgeliehen.')
       else
         showmessage('Es ist momentan nicht ausgeliehen!');
     end;

end;

procedure TBibliothekshilfe.ListBox1Click(Sender: TObject);
begin
edit1.Text:=Feld[Listbox1.itemindex+1].Buchtitel;
edit2.Text:=inttostr(Feld[Listbox1.itemindex+1].ISBN);
edit3.text:=Feld[Listbox1.itemindex+1].Autor;
edit4.text:=Feld[Listbox1.itemindex+1].name;
edit5.text:=Feld[Listbox1.itemindex+1].vorname;
edit6.text:=Feld[Listbox1.itemindex+1].klasse;

Radiobutton1.Checked:=Feld[Listbox1.itemindex+1].ausgeliehen;
Radiobutton2.Checked:=not Radiobutton1.Checked;

end;

procedure TBibliothekshilfe.Eintragndern1Click(Sender: TObject);
var x:integer; astring:string;
begin
if listbox1.itemindex<0 then exit;

if messagedlg('Der in der Listbox angeklickte Eintrag wird mit den neu eingegebenen Daten überschrieben. Soll ich fortfahren?',mtconfirmation,[mbyes,mbno],0)=mryes then
begin
Feld[Listbox1.itemindex+1].Buchtitel:=edit1.text;
Feld[Listbox1.itemindex+1].ISBN:=strtoint(edit2.text);
Feld[Listbox1.itemindex+1].Autor:=edit3.text;
Feld[Listbox1.ItemIndex+1].name:=edit4.text;
Feld[Listbox1.itemindex+1].vorname:=edit5.text;
Feld[Listbox1.itemindex+1].klasse:=edit6.text;
Feld[listbox1.itemindex+1].ausgeliehen:=radiobutton1.checked;

Speichern(Feld);
 Listbox1.Items.clear;

 for x:=1 to i do
   begin
    astring:='Buch "'+Feld[x].Buchtitel+'" (ISBN: '+inttostr(Feld[x].ISBN)+') ist ';
     if Feld[x].ausgeliehen then
       astring:=astring+'ausgeliehen an '+Feld[x].vorname+' '+Feld[x].name+'.'
     else
       astring:= astring+' nicht ausgeliehen.';
    listbox1.Items.add(astring);
  end;



end;



end;

procedure TBibliothekshilfe.Button4Click(Sender: TObject);
var x,y,z:integer; max:byte; dummy:bibo;
   astring:string;
begin

max:=0;


for x:= 1 to i do
begin
  z:=0;
  max:=0;
  for y:=x to i do
    if max<Feld[y].isbn then
      begin
        max:=Feld[y].isbn;
        z:=y;
      end;
 if z>0 then
  begin
   dummy:=Feld[x];
   Feld[x]:=Feld[z];
   Feld[z]:=dummy;
  end;
end;

 Listbox1.Items.clear;

 for x:=1 to i do
   begin
    astring:='Buch "'+Feld[x].Buchtitel+'" (ISBN: '+inttostr(Feld[x].ISBN)+') ist ';
     if Feld[x].ausgeliehen then
       astring:=astring+'ausgeliehen an '+Feld[x].vorname+' '+Feld[x].name+'.'
     else
       astring:= astring+' nicht ausgeliehen.';
    listbox1.Items.add(astring);
  end;


end;

end.
  Mit Zitat antworten Zitat