Thema: Delphi ISBN formatieren

Einzelnen Beitrag anzeigen

Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
327 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Re: ISBN formatieren

  Alt 12. Apr 2021, 23:42
Hallo,

dieser Beitrag ist zwar schon uralt, aber ich habe
Grüße vom marabu
die Funktion für ISBN-13 erweitert:


Delphi-Quellcode:
function PrettyISBN(sISBN: String): String;
var
  Dummy_String: String;
  Dummy_String_ISBN13: String;
  det: String;
begin

  Result := sISBN;
  Dummy_String := sISBN;

  if sISBN.Length > 10 then
  begin
    Dummy_String_ISBN13 := copy(sISBN, 1, 3);
    Dummy_String := copy(sISBN, 4, sISBN.Length);
    Result := Dummy_String;
  end;

  if Dummy_String[2] in ['0', '1'] then
    Insert('-', Result, 4)
  else if Dummy_String[1] = '1then
  begin
    det := copy(Dummy_String, 2, 4);
    if det < '5500then
      Insert('-', Result, 5)
    else if det < '8698then
      Insert('-', Result, 7)
    else if det < '9990then
      Insert('-', Result, 8)
    else
      Insert('-', Result, 9);
  end
  else
  begin
    det := copy(Dummy_String, 2, 2);
    if det < '70then
      Insert('-', Result, 5)
    else if det < '85then
      Insert('-', Result, 6)
    else if det < '90then
      Insert('-', Result, 7)
    else if det < '95then
      Insert('-', Result, 8)
    else
      Insert('-', Result, 9);
  end;
  Insert('-', Result, 2);
  Insert('-', Result, 12);

  if sISBN.Length > 10 then
    Result := Dummy_String_ISBN13 + '-' + Result;
end;
Es können ISBN-10 oder ISBN-13 formatiert werden.

LG Mathias
Mathias
  Mit Zitat antworten Zitat