![]() |
ISBN formatieren
Hallo,
ich möchte gerne in meinem Programm eingegebene ISBN-Nummern formatieren. Also zum Beispiel "3442458161" in "3-442-45816-1" umformatieren. Im Internet habe ich schon zwei PHP-Programme gefundern, die meinen Wunsche erfüllen - eines davon sogar mit Quelltext, den man wohl übersetzen könnte. Jedoch ist es denke ich die Frage wert, ob es möglicherweise eine fertige Delphi-Version gibt. :oops: Weblinks: - ![]() - ![]() Schon einmal Danke im Vorraus :wink: |
Re: ISBN formatieren
Hallo Dominik,
danke für die Links.
Delphi-Quellcode:
Grüße vom marabu
function PrettyISBN(isbn: String): String;
var det: String; begin Result := isbn; if (Length(isbn) <> 10) or (isbn[1] in ['7', '8', '9']) then Exit; if isbn[2] in ['0', '1'] then Insert('-', Result, 4) else if isbn[1] = '1' then begin det := Copy(isbn, 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(isbn, 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); end; |
Re: ISBN formatieren
Hallo marabu,
danke für den Code :wink: ! Funktioniert! Wen es interressiert: ![]() |
AW: Re: ISBN formatieren
Hallo,
dieser Beitrag ist zwar schon uralt, aber ich habe Zitat:
Delphi-Quellcode:
Es können ISBN-10 oder ISBN-13 formatiert werden.
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; LG Mathias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz