Registriert seit: 20. Sep 2009
Ort: Boblitz
81 Beiträge
Delphi 6 Professional
|
Re: Bibliotheksverwaltung
10. Jan 2010, 16: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.
|
|
Zitat
|