Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CD_Keyfunction ? (https://www.delphipraxis.net/59857-cd_keyfunction.html)

Vader 29. Dez 2005 17:18


CD_Keyfunction ?
 
hallo,

hab da eine function gelesen, wer kann die mir erklären ?

Delphi-Quellcode:
unction CDKey(Seed:String): String;const
Key1:Array[0..9] of Char = ('2','5','8','9','5','a','1','3','6','7');    
Key2: Array[0..9] of Char = ('8','3','4','0','1','7','x','9','3','9');
var i: integer;
begin result := Seed + '-';
for i:= 1 to length(Seed) do result := result + Key1[Ord(Seed[i])-48];
result := result + '-'; for i:= 1 to length(Seed) do result := result + Key2[Ord(Seed[i])-48];
end;
... if CDKey(Copy(Eingabe.Text,1,4)) = Eingabe.Text then Caption := 'Richtig' else Caption := 'falscher Key';
wird da ein key generiert wenn ja welcher ?

mfg vader

himitsu 29. Dez 2005 17:20

Re: CD_Keyfunction ?
 
Anscheined ja, aber Welcher, daß hängt von Seed ab.

Master_RC 29. Dez 2005 17:48

Re: CD_Keyfunction ?
 
Der Seed sollte 4 Zeichen lang sein, zumindest werden zur Überprüfung nur die ersten vier genommen ;)

himitsu 29. Dez 2005 18:07

Re: CD_Keyfunction ?
 
Zitat:

Zitat von Master_RC
Der Seed sollte 4 Zeichen lang sein, zumindest werden zur Überprüfung nur die ersten vier genommen ;)

Stimmt nich ganz, der Seed ist immer 2 bis 4 Zeichen lang (vermutllich ist er aber immer 4, da der CD-Kay wohl mehr als 4 Zeichen lang sein wird) und er besteht aus den ersten (bis zu) 4 Zeichen des CD-Keys.

Im Grunde wir mit dem obrigen Code geprüft, ob der CD-Key einem Bestimmten Muster entspricht (sprich Authentisch ist).

Vader 29. Dez 2005 18:12

Re: CD_Keyfunction ?
 
hallo,

ich verstehe nur bahnhof !
wird da jetzt eine zahlenkombination generiert oder überprüft diese function nur etwas, ist das nur ein
ausschnitt von einem fertigen code für einen cd_key ?


mfg vader

himitsu 29. Dez 2005 18:15

Re: CD_Keyfunction ?
 
Diese Funktion generiert etwas, aber in Verbindung mit der IF-Abfrage wird der CD-Key überprüft.

brechi 29. Dez 2005 18:15

Re: CD_Keyfunction ?
 
und mit

Delphi-Quellcode:

function CDKey(Seed:String): String;
const
  Key1:Array[0..9] of Char = ('2','5','8','9','5','a','1','3','6','7');
  Key2: Array[0..9] of Char = ('8','3','4','0','1','7','x','9','3','9');
var i: integer;
begin
  result := Seed + '-';
  for i:= 1 to length(Seed) do
    result := result + Key1[Ord(Seed[i])-48];
    result := result + '-';
  for i:= 1 to length(Seed) do
    result := result + Key2[Ord(Seed[i])-48];
end;

procedure TForm1.EingabeChange(Sender: TObject);
begin
   if CDKey(Copy(Eingabe.Text,1,4)) = Eingabe.Text then
     Caption := 'Richtig' else Caption := CDKey(Copy(Eingabe.Text,1,4));
end;
kannste dir anzeigen lassen wie der key aussehen muss
er wird aus den ersten 4 zeichen berechnet dann kommt ein - und dann wieder 4 zeichen und wieder - und wieder 4 zeichen
gültig sind alle 4er zahlenkombos

Vader 29. Dez 2005 18:35

Re: CD_Keyfunction ?
 
hallo,

das heißt jetzt die function giebt mir die zahl der eingabeedits vor und auch wieviel zahlen ich
in jedem edit eingeben muß,aber sie generiert mir keinen key wie zb: gf12-4ju2-d4f8-8tz1 !
ist das so richtig gedacht ?

mfg vader

brechi 29. Dez 2005 18:45

Re: CD_Keyfunction ?
 
die funktion generiert aus ein 4 zahlen als string ("0123") z.b. einen gültigen key

der wird mit dem key vergleichen den man eingegeben hat

Vader 29. Dez 2005 19:11

Re: CD_Keyfunction ?
 
hallo,
du sagst die function genriert aus 4 zahlen einen string, wie kann man den auslesen,möchte den generierten
string anschauen was da rausgekommen ist, wie muß man diese function dann aufrufen ?
mfg vader

brechi 29. Dez 2005 19:22

Re: CD_Keyfunction ?
 
das habe ich doch im posting davor geschrieben, legst nen edit an und dann im onchange rufste die funktion auf (siehe mein beispiel)

Vader 29. Dez 2005 20:39

Re: CD_Keyfunction ?
 
hallo,

fogendes, wenn ich im editchange zb: 5897 eingebe dann wird der generierte key in der fensterleiste
(caption) angezeigt , das funzt, aber wie geht das mit dem vergleichen

Zitat:

die funktion generiert aus ein 4 zahlen als string ("0123") z.b. einen gültigen key

der wird mit dem key vergleichen den man eingegeben hat
der edit.text ist ja die 4er zahlenkombination wie soll dann im caption richtig od.falsch kommen ?

mfg vader

brechi 29. Dez 2005 20:50

Re: CD_Keyfunction ?
 
die kommt nur wenn du den ganze key angibst also die 3*4 zeichne + das '-' zeichen

das ahttest du ja im ersten post geschrieben

Vader 29. Dez 2005 21:11

Re: CD_Keyfunction ?
 
hallo brechi,

ich danke dir aufrichtig für deine geduld, jetzt hab ichs verstanden !
mfg vader

mgubler 30. Dez 2005 07:48

Re: CD_Keyfunction ?
 
ich persönlich habs leider noch nicht verstanden.
vielleicht weil es noch etwas früh am morgen ist.

kann mir vielleicht nochmal jemand erklären, wie man jetzt die Eingabe vergleichen kann?
so vom grundsatz ist es ja einfach, aber wie gebe ich denn das z.B. aus, was der Endbenutzer eingeben muss?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr.

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