Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi ISBN 10 / 13 Prüfen (https://www.delphipraxis.net/161079-isbn-10-13-pruefen.html)

GhostOne 15. Jun 2011 19:11


ISBN 10 / 13 Prüfen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag liebes Delphi Forum,

ich habe vor 3 Jahren mal Delphi und Turbo Pascal geschrieben...
das ist leider schon lange her und ich hab fast alles vergessen.

Ich bin nun in Berufsschule und muss ein Programm schreiben was:

1. ISBN 10 Prüfziffer berechnen ( erledigt )
2. ISBN 10 Auf gültigkeit prüfen ( in bearbeitung )
3. ISBN 13 Prüfziffer berechnen ( erledigt )
4. ISBN 14 Auf gültigkeit prüfen ( in bearbeitung )

Brauche nun Hilfe diese Aufgabe zu erledigen.


Im Anhang liegt mein bis jetz gemachtes Projekt.

Bitte Anhang downloaden (FORM) um mein Problem zu verstehen da ich mit mehreren Edit Feldern arbeite...danke

fkerber 15. Jun 2011 19:18

AW: ISBN 10 / 13 Prüfen
 
Hi,

ich sehe keinen Anhang ;)

zu 2.
Wann ist eine ISBN denn gültig?

zu 3.
Hast du schon die Berechnungsmethode mal auf nem Blatt Papier gemacht?

zu 4.
siehe 2 (unter der Annhame, dass du ISBN-13 meinst)


LG, Frederic

GhostOne 15. Jun 2011 19:23

AW: ISBN 10 / 13 Prüfen
 
anhang jetz drinne hat gedauert der upload sry.
Ich weiß wie alles geht hab mich damit schon gut beschäftigt,
nur weiß ich leider nicht wie ich den quell code einbinden / schreiben kann.
Es gibt ja schon Quell-Texte hier nur sind das function und keine proceduren.
Wie man was berechnet steht hier Perfekt drinne ( http://www.arndt-bruenner.de/mathe/scripts/pruefziffern ),
daraus habe ich ja Punkt 1 ISBN 10 Prüfziffer erledigt.

borncrush 15. Jun 2011 19:24

AW: ISBN 10 / 13 Prüfen
 
Prüfziffer testen
Auf "Berechnen starten" klicken, dann wird Dir der Rechenweg dargestellt

GhostOne 15. Jun 2011 19:29

AW: ISBN 10 / 13 Prüfen
 
Die ganzen Seiten kenne ich schon ( weiß ja wie man es berechnet ),
nur wie schreib ich dazu ein einfachen Quelltext.

Beispiel: Mein Quelltext zum Punkt 1 ISBN 10 Prüfziffer.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
X, zahl1, zahl2, zahl3, zahl4, zahl5,
zahl6, zahl7, zahl8, zahl9, zahl10, ergebnis, ziffer: Integer;
begin
zahl1 := StrToInt(Edit1.Text)*1;
zahl2 := StrToInt(Edit2.Text)*2;
zahl3 := StrToInt(Edit3.Text)*3;
zahl4 := StrToInt(Edit4.Text)*4;
zahl5 := StrToInt(Edit5.Text)*5;
zahl6 := StrToInt(Edit6.Text)*6;
zahl7 := StrToInt(Edit7.Text)*7;
zahl8 := StrToInt(Edit8.Text)*8;
zahl9 := StrToInt(Edit9.Text)*9;
ergebnis := zahl1 + zahl2 + zahl3 + zahl4+ zahl5 + zahl6 +
zahl7 + zahl8 + zahl9;
ziffer := ergebnis div 11;
zahl10 := ergebnis - ziffer * 11;
if zahl10 = 10 then zahl10:= X;
Edit14.Text := IntToStr(zahl10);
end;
dazu sollte man aber euch meine Form sehen um es zu verstehen, dass liegt alles oben im Anhang.

RWarnecke 15. Jun 2011 19:38

AW: ISBN 10 / 13 Prüfen
 
Für Punkt 2 ist das die gleiche Procedure wie Button1Click nur umgekehrt und eine Zeile mehr, wo Du den Rest berechnest.

Edit: Ein bisschen Suche hätte Dir diesen Link gebracht.

himitsu 15. Jun 2011 19:39

AW: ISBN 10 / 13 Prüfen
 
Wo hängt es jetzt ewigentlich genau?

Zitat:

1. ISBN 10 Prüfziffer berechnen ( erledigt )
2. ISBN 10 Auf gültigkeit prüfen
Die 2 sollte ja einfach sein.
Einfach die Prüfziffer versuchen zu berechnen und mit der vorhandenen vergleichen.

Tipp:
- ganz oben recht ist die Forensuche zu finden
- dort kann man "ISBN" + Enter eingeben
- in den funden verstecken sich passende Threads, ABER
- über dem ersten Suchergebnis gibt es ein kleines Kästchen, da steht "Code-Library (1)" ... eventuell hilft ja dieser Teil des Suchergebnisses :angle:

PS: Das
Delphi-Quellcode:
Ord(S[i]) - Ord('0')
entspricht quasi einem StrToInt für eine Ziffer.

Klaus01 15. Jun 2011 19:43

AW: ISBN 10 / 13 Prüfen
 
Hallo,

baue Dir doch verschieden Funktionen.

Eine zur Berechnung der Prüfsumme:
Function calcChecksum(ISBN: AnsiString): Byte;

Eine zu Überprüfung der Gültigkeit:
Function isCheckSumOK(ISBN: AnsiString): Boolean;

In isCheckSumOK kannst Du calcCheckSum aufrufen und den ermittelten Wert
mit dem der übergebenen ISBN vergleichen.

Die Berechnung ob 10 stellig oder 13 stellig kannst Du ja abhänging
von der Länge der übergebenen ISBN machen.

Grüße
Klaus

GhostOne 15. Jun 2011 19:56

AW: ISBN 10 / 13 Prüfen
 
Danke an alle aber guck bitte erst meine Form an ^^ und die Quelltexte wie schon oben erwähnt ( kenne ich )hab ja schon gegoogelt, sind alles function keine proceduren...

Punkt 2. ISBN gültig wenn 10 stellige zahl / um es kurz und simpel zu fassen.
Da schreibe ich grade den Quelltext ( aber etwas anders ).
Quelltext von mir:

Rechne Alle Ziffern zusammen,wenn Ergebnis kleiner als 10 dann schreib in
Edit14.Text....ISBN korrekt. Ist aber schwachsin.... Mein Quelltext.

himitsu 15. Jun 2011 20:02

AW: ISBN 10 / 13 Prüfen
 
Den Code einer funktion kann man auch in eine Prozedur packen.

Ob mn das Ergebnis nun als Result zurückgibt oder z.B. in ein Edit kopiert, ist vollkommen egal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 Uhr.
Seite 1 von 3  1 23      

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