unit HauptprogrammUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, ComCtrls, Const_DatUnit, StreamUnit, ExtCtrls;
type
TForm1 =
class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
DatSatzSpeichernButton: TButton;
TabSheet2: TTabSheet;
StringGrid1: TStringGrid;
Button2: TButton;
TabSheet3: TTabSheet;
Label6: TLabel;
Button3: TButton;
MaschinenNr_Suchen_Edit6: TEdit;
Panel1: TPanel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Button4: TButton;
StatusBar1: TStatusBar;
Label7: TLabel;
Edit12: TEdit;
Label14: TLabel;
Edit13: TEdit;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Edit6: TEdit;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure DatSatzSpeichernButtonClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
MW1: TMW_Stream_Rec;
intDatSatz: integer;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
var
f: TFileStream;
intDatensatzNr: integer;
intDatensatzAnzahl: integer;
begin
// Alle Datensatz anzeigen
// FileStream öffnen
if not Stream_oeffnen (f, Dateiname)
then
begin
ShowMessage('
Die Datei '+ DateiName + '
ist neu angelegt worden!');
end;
// Anzahl Datensätz ermittlen
intDatensatzAnzahl:= Stream_MW_Rec_DatenSatzAnzahl (f, MW1);
intDatensatzNr:= 0;
for intDatenSatzNr := 0
to intDatensatzAnzahl - 1
do
begin
Stream_MW_Rec_Lesen (f, MW1, intDatensatzNr);
with StringGrid1
do
begin
Cells[0,1+intDatensatzNr]:= inttostr(intDatensatzNr+1);
Cells[1,1+intDatensatzNr]:= MW1.stfMaNr;
Cells[2,1+intDatensatzNr]:= MW1.stfMs;
Cells[3,1+intDatensatzNr]:= floattostr(MW1.dblMw);
Cells[4,1+intDatensatzNr]:= DateTimetostr(MW1.dtDatumUhrzeit);
end;
end;
Stream_Schliessen (f);
end;
procedure TForm1.Button3Click(Sender: TObject);
var
f: TFileStream;
intDatensatzNr: integer;
intDatensatzAnzahl: integer;
strMaschinenNr:
string;
// Gesuchte Maschinen-Nr.
begin
if not Stream_oeffnen (f, Dateiname)
then
begin
ShowMessage('
Die Datei '+ DateiName + '
ist neu angelegt worden!');
end;
// Anzahl Datensätz ermittlen
intDatensatzAnzahl:= Stream_MW_Rec_DatenSatzAnzahl (f, MW1);
// Gesuchte Maschinen-Nr eingeben
strMaschinenNr:= MaschinenNr_Suchen_Edit6.Text;
intDatensatzNr:= 0;
// DatensatzNr auf 0 setzen.
// Es werden die Datensätz solange durchlaufen bis eine Übereinstimmung
// gefunden worden ist.
for intDatenSatzNr := 0
to intDatensatzAnzahl - 1
do
begin
Stream_MW_Rec_Lesen (f, MW1, intDatensatzNr);
if MW1.stfMaNr = strMaschinenNr
then
begin
with StringGrid1
do
begin
Label15.Caption:= inttostr(intDatensatzNr+1);
intDatSatz:= intDatensatzNr;
// Merken welcher Datensatz
Edit7.Text := MW1.stfMaNr;
Edit8.Text := MW1.stfMs;
Edit9.Text := floattostr(MW1.dblMw);
Edit6.Text := dateTimetostr(MW1.dtDatumUhrzeit);
Edit10.Text := booltostr(MW1.blnMWGelesen);
Edit11.Text := booltostr(MW1.blnMWFlag);
break;
// Datensatz ist gefunden die Schleife wird abgebrochen
end;
end;
end;
Stream_Schliessen (f);
end;
procedure TForm1.Button4Click(Sender: TObject);
var
f: TFileStream;
intDatensatzNr: integer;
intDatensatzAnzahl: integer;
begin
// Nur die Maschinen-Nr. und die Meßstelle können geändert werden.
// Die anderen Daten im Datensatz sind natürlich auch möglich.
MW1.stfMaNr:= Edit7.Text;
MW1.stfMs:= Edit8.Text;
if not Stream_oeffnen (f, Dateiname)
then
begin
ShowMessage('
Die Datei '+ DateiName + '
ist neu angelegt worden!');
end;
// Anzahl Datensätz ermittlen
intDatensatzAnzahl:= Stream_MW_Rec_DatenSatzAnzahl (f, MW1);
// Gesuchte Maschinen-Nr eingeben
Stream_MW_Rec_Aendern (f, MW1, intDatSatz);
Stream_Schliessen (f);
end;
procedure TForm1.DatSatzSpeichernButtonClick(Sender: TObject);
var
f: TFilestream;
begin
// Datensatz Eingeben
MW1.stfMaNr:= Edit1.Text;
MW1.stfMs:= Edit2.Text;
MW1.dblMw:= strtofloat(Edit3.text);
MW1.dtDatumUhrzeit:= now();
Edit4.Text:= dateTimetostr (MW1.dtDatumUhrzeit);
MW1.blnMWGelesen:= FALSE;
MW1.blnMWFlag:= FALSE;
Edit12.Text := booltostr(MW1.blnMWGelesen);
Edit13.Text := booltostr(MW1.blnMWFlag);
// FileStream öffnen
if not Stream_oeffnen (f, Dateiname)
then
begin
ShowMessage('
Die Datei '+ DateiName + '
ist neu angelegt worden!');
end;
// Datensatz - Record an die Datei anhängen
Stream_MW_Rec_Anhaengen (f, MW1);
Stream_Schliessen (f);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
{* Prüfen ob der Ordner: c;\StreamDatenOrdner vorhanden ist, wenn nicht wird }
{* er auf dem c:\ laufwerk angelegt. }
Ordner_Anlegen(ORDNER_PFAD);
DateiName:= STREAM_PFAD;
end;
end.