Registriert seit: 31. Jan 2006
Ort: Weimar
345 Beiträge
Delphi 10.4 Sydney
|
AW: Re: ISBN formatieren
13. Apr 2021, 00:42
Hallo,
dieser Beitrag ist zwar schon uralt, aber ich habe 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] = '1' then
begin
det := copy(Dummy_String, 2, 4);
if det < '5500' then
Insert('-', Result, 5)
else if det < '8698' then
Insert('-', Result, 7)
else if det < '9990' then
Insert('-', Result, 8)
else
Insert('-', Result, 9);
end
else
begin
det := copy(Dummy_String, 2, 2);
if det < '70' then
Insert('-', Result, 5)
else if det < '85' then
Insert('-', Result, 6)
else if det < '90' then
Insert('-', Result, 7)
else if det < '95' then
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
|
|
Zitat
|