Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DBEdit und Edit vergleichen (https://www.delphipraxis.net/169289-dbedit-und-edit-vergleichen.html)

blondervolker 10. Jul 2012 06:25

Datenbank: Abs • Version: 7 • Zugriff über: Delphi

DBEdit und Edit vergleichen
 
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):cyclops:

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 :oops:

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;

Furtbichler 10. Jul 2012 06:28

AW: DBEdit und Edit vergleichen
 
Gib deinen Komponenten erst einmal aussagekräftige Bezeichner.
Dann verwende begin..end an allen sinnvollen Stellen und...
... formatiere deinen Code.

Bummi 10. Jul 2012 06:32

AW: DBEdit und Edit vergleichen
 
:cyclops:
sorry, aber das ist unterirdisch ...

blondervolker 10. Jul 2012 06:36

AW: DBEdit und Edit vergleichen
 
das mag sein.Meine Frage war nur DBEdit und Edit vergleichen.

Bin kein Profi.:oops:

mkinzler 10. Jul 2012 06:43

AW: DBEdit und Edit vergleichen
 
Was ist genau dein Problem?

blondervolker 10. Jul 2012 06:49

AW: DBEdit und Edit vergleichen
 
Ich möchte nur,wenn im DBEdit4 die alte gespeicherte SN-Nr. vom PC1 und im Edit2 die SN-Nr. vom PC2 die ja neu abgefragt wird vergleichen.
Wenn diese nicht stimmt,Form Close etc.

(Ich komm nicht klar mit der Abfrage größer,kleiner usw.:oops:

Delphi-Quellcode:
//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;

mkinzler 10. Jul 2012 06:56

AW: DBEdit und Edit vergleichen
 
Es gibt doch eigentlich nur 2 Fälle Gleichheit oder nicht.
Delphi-Quellcode:
if DBEdit4.Text = Edit2.Text then
begin
     Form27.Show;
end
else
begin
    ShowMessage('Das ist nicht der Installations-PC!Kaufen Sie sich eine Lizenz!');
    Form27.Close;
end;

spaxxn 10. Jul 2012 07:00

AW: DBEdit und Edit vergleichen
 
mkinzler hat recht. Anmerken könnte man noch, dass SameText einen Vergleich ermöglicht, der Case-Insensitive ist...

DeddyH 10. Jul 2012 07:02

AW: DBEdit und Edit vergleichen
 
Und anstatt auf irgendwelche Controls zuzugreifen sollte man besser die dahinterliegenden Daten vergleichen.

blondervolker 10. Jul 2012 07:16

AW: DBEdit und Edit vergleichen
 
Danke!!!

Hab's probiert.Aber es funktioniert noch nicht.Es passiert garnichts.:oops:
Muss ich vielleicht noch die ADOTabl1 in den Edit Modus versetzen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr.
Seite 1 von 2  1 2      

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