Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#22

Re: Wie kommen Buchstaben in eine Seriennummer?

  Alt 28. Dez 2009, 12:48
Delphi-Quellcode:
uses ComObj;

type TSerial = TGUID;
  //TSerial = packed array[0..3] of LongWord;
  //TSerial = packed array[0..15] of Byte;
  //TSerial = packed record
  // W0: LongWord;
  // i1: LongInt;
  // W2: LongWord;
  // W3: LongWord;
  //end;
  //TSerial = packed record
  // D1: LongWord;
  // D2: Word;
  // D3: Word;
  // D4: array[0..7] of Byte;
  //end;

function SerialToStr(Serial: TSerial): String;
begin
  Result := Copy(GUIDToString(TGUID(Serial)), 2, 36);
end;

function StrToSerial(const S: String): TSerial;
begin
  try
    Result := TSerial(StringToGUID('{' + S + '}'));
  except
    ZeroMemory(@Result, SizeOf(TSerial));
  end;
end;
solange TSerial genau 16 Byte groß ist, kannst du es definieren, wie du willst

im Programm dann einfach StrToSerial aufrufen und danach dann einfach nur noch die "Integer" in der Serial irgendwie mathematisch verknüpfen.

Zitat von MichaelLinden:
- Versuche den Key wenn schon in Form von char(65) + char(66) + char(67); (ABC) zu schreiben
statt ABC:
wurde schon gesagt

Zitat von MichaelLinden:
- Umgehe Variablennamen wie: key, serial, seriennummer, generatedkey , usw
im Kompilat gibt es keine Variablennamen mehr ... also ist das vollkommen egal.

Klassennamen werden aber in der RTTI gespeichert, daher sollte man eine Serialprüf-/Verwaltungsklasse anders nennen
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat