Delphi-PRAXiS

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.

mkinzler 15. Jun 2011 20:03

AW: ISBN 10 / 13 Prüfen
 
Sauberer wäre als Rückgabewert

BUG 15. Jun 2011 20:03

AW: ISBN 10 / 13 Prüfen
 
Zitat:

Zitat von himitsu (Beitrag 1106608)
Den Code einer funktion kann man auch in eine Prozedur packen.

Oder besser: man kann die Funktionen in einer Prozedur aufrufen :cyclops:

GhostOne 15. Jun 2011 20:08

AW: ISBN 10 / 13 Prüfen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja ich weiß das es bei euch komisch rüber kommt liegt wahrscheinlich an meine Form.
http://s1.directupload.net/images/11...p/2ckg3svz.jpg
durch meine einzelnen Edit Felder.

mkinzler 15. Jun 2011 20:11

AW: ISBN 10 / 13 Prüfen
 
Könntest du den Screenshot nochmal in einer Größe, in der man was erkennen kann, posten?

Klaus01 15. Jun 2011 20:13

AW: ISBN 10 / 13 Prüfen
 
.. ist es denn zwingend notwendig für jede einzelne Ziffer der ISBN
ein Edit zu nutzen?
Zur Not könnte da auch ein MaskEdit verwendet werden, dann hättest Du alle
Eingaben in einem bestimmten Format.

Grüße
Klaus

GhostOne 15. Jun 2011 20:22

AW: ISBN 10 / 13 Prüfen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nein nur weiß ich nicht wenn ich ein MaskEdit Feld nehme wie ich dann mein ersten Quelltext
einbaue den der ist ja auf mehreren Edit Feldern aufgebaut.
Wenn MaskEdit Feld könnte ich auch locker Punkt 2 und 4 machen denn dann:
code=MaskEdit
if lenght(code) <> 13 oder 10 dann schreibe in Edit14.text Nicht Korrekt .....
else if lenght(code)= 13 or 10 dann schreibe in Edit14.text ISBN Korrekt.

Weiß ich denke komisch ^^

Punkt 1 ( funktioniert ) aber der Ansatz mit dem ganzen einzelnen Edit Feldern ist Wahrscheinlich mein Problem.
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);

fkerber 15. Jun 2011 20:47

AW: ISBN 10 / 13 Prüfen
 
Hi,

Zitat:

Zitat von GhostOne (Beitrag 1106614)
Update: Biete 25 € für eine fertige Lösung wo die 4 Punkte eingebunden sind mit einer Form Maske.

dir ist schon klar, dass du hier öffentlich dazu aufrufst, dass dir jemand beim Betrügen (Erschleichen einer Prüfungsleistung) hilft und du auch noch Geld dafür bietest?


LG, Frederic

GhostOne 15. Jun 2011 20:49

AW: ISBN 10 / 13 Prüfen
 
....

fkerber 15. Jun 2011 20:52

AW: ISBN 10 / 13 Prüfen
 
Hi,

nur um das nachträgliche Editieren klarzustellen:
Zum Zeitpunkt meines Postings war mein Zitat vollständig - da fehlte der 2. Satz mit Teamviewer noch.

So oder so bin ich nicht der Meinung, dass dein Aufruf mit der Suche nach Nachhilfe vergleichbar ist, sondern du bietest Geld für das fertige Produkt.
Also eine gekaufte Prüfungsleistung.

LG, Frederic

GhostOne 15. Jun 2011 20:56

AW: ISBN 10 / 13 Prüfen
 
.....

GhostOne 15. Jun 2011 21:44

AW: ISBN 10 / 13 Prüfen
 
bitte um thread löschung danke

Sir Rufo 16. Jun 2011 01:09

AW: ISBN 10 / 13 Prüfen
 
Zitat:

Zitat von GhostOne (Beitrag 1106632)
bitte um thread löschung danke

Warum?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 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