Morgen,Morgen
ich möchte in einer Absolute Database eine Festplattennummer speichern.
Das geht wunderbar.Ich möchte aber nicht,dass einer den gesamten Ordner
auf einen anderen Rechner kopiert und somit eine weitere Lizenz hat.
(Habe eine Software von einer Firma,dort gehts aber)
Habe den gesamten Ordner auf einen anderen PC rübergenommen.Beim Start
wird mir auch die Seriennummer von dem vorherigen Rechner angezeigt und die vom Neuen-PC.
Mein Problem ist der Seriennummervergleich.
Im Edit sehe ich die Neue SN und im DBEdit die alte SN.
Kann bitte jemand helfen...Ich bin bald am verzweifeln
Hier der Code von Form Activate:
Delphi-Quellcode:
procedure TForm27.FormActivate(Sender: TObject);
begin
DBEdit1.DataSource.DataSet.Edit;
DBEdit2.DataSource.DataSet.Edit;
DBEdit3.DataSource.DataSet.Edit;
DBEdit4.DataSource.DataSet.Edit;
DBEdit2.Field.Value := DBEdit2.Field.AsFloat + DBEdit1.Field.AsFloat;
if DBEdit2.Text = '
30'
then DBEdit3.Text := '
30';
if DBEdit3.Text = '
30'
then Label3.Caption:='
Leider ist der Testzeitraum beendet!';
if DBEdit3.Text = '
30'
then ADvGlassButton1.Visible:=False;
if DBEdit3.Text = '
30'
then Edit1.Visible:=False;
if DBEdit3.Text = '
30'
then Label1.Visible:=False;
if DBEdit3.Text = '
30'
then DBText2.Visible:=False;
if DBEdit3.Text = '
30'
then AdvCircularProgress1.Visible:=False;
DBEdit2.DataSource.DataSet.Post;
//Abfrage ob DB existiert
if not FileExists(ExtractFilepath(ParamStr(0)) + '
serv.abs')
then
ShowMessage('
Sie haben versucht dieses Programm zu manipulieren!')
end;
Hier der Code von Form Create:
Delphi-Quellcode:
procedure TForm27.FormCreate(Sender: TObject);
const
screenwidthdev = 1280; // Einstellungen auf dem Entwicklungsrechner
screenheightdev = 720; // Einstellungen auf dem Entwicklungsrechner
var
x,y:integer;
volName, fsName: array[0..255] of char;
serNum, maxLen, Flags : Cardinal;
begin
scaled := true;
x:= Screen.width;
y:= Screen.Height;
if(y <> ScreenHeightDev) or (x <> ScreenwidthDev) then
begin
Form27.Height := (Form27.ClientHeight* y div ScreenHeightDev) +
Form27.Height- Form27.ClientHeight;
Form27.Width := (Form27.ClientWidth * x div ScreenWidthDev) +
Form27.Height - Form27.ClientHeight;
scaleBy(x,Screenwidthdev);
end;
//Seriennummer
FillChar(volName, SizeOf(volName), 0);
FillChar(fsName, SizeOf(fsName), 0);
if GetVolumeInformation(PChar('C:\\'), volName, SizeOf(volName), @serNum, maxLen, Flags, fsName, SizeOf(fsName))
then
begin
DBEdit4.Text:= IntToHex(serNum, 12);//erst waren es 8 Nummern
Edit2.Text:= IntToHex(serNum, 12);
//Ende Seriennummer auslesen
//SN vergleichen
if DBEdit4.Text = Edit2.Text then Form27.Show
else begin
if DBEdit4.Text <= Edit2.Text then ShowMessage('Das ist nicht der Installations-PC!Kaufen Sie sich eine Lizenz!')
else begin
if DBEdit4.Text >= Edit2.Text then ShowMessage('Das ist nicht der Installations-PC!Kaufen Sie sich eine Lizenz!')
else begin
if DBEdit4.Text <= Edit2.Text then Form27.Close
else begin
if DBEdit4.Text >= Edit2.Text then Form27.Close
end;
end;
end;
end;
end;
end;