AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ISBN formatieren

Ein Thema von Kinimod8 · begonnen am 25. Feb 2006 · letzter Beitrag vom 12. Apr 2021
Antwort Antwort
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#1

ISBN formatieren

  Alt 25. Feb 2006, 13:20
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.

Weblinks:
- http://www-user.tu-chemnitz.de/~poenisch/isbn/index.php
- http://www.nicohaase.de/isbn.php (mit Quellcode)

Schon einmal Danke im Vorraus
Dominik Peters
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: ISBN formatieren

  Alt 25. Feb 2006, 13:43
Hallo Dominik,

danke für die Links.

Delphi-Quellcode:
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] = '1then
  begin
    det := Copy(isbn, 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(isbn, 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);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Kinimod8

Registriert seit: 9. Jan 2004
Ort: Barsbüttel
317 Beiträge
 
Delphi 6 Personal
 
#3

Re: ISBN formatieren

  Alt 25. Feb 2006, 13:51
Hallo marabu,

danke für den Code ! Funktioniert!

Wen es interressiert: http://hsb.ph-karlsruhe.de/isbn.htm - dort gibt es eine Javascript-Version.
Dominik Peters
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
325 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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 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