Macro TestISBN13(X) Print(X) If IsISBN13(X) : PrintN(" good") : Else : PrintN(" bad") : EndIf EndMacro Procedure.b IsISBN13(ISBN13.s) ISBN13=Left(ISBN13,3)+Mid(ISBN13,5) If IsNAN(Val(ISBN13)) Or Len(ISBN13)<>13 : ProcedureReturn #False : EndIf Dim ISBN.s{1}(12) : PokeS(@ISBN(),ISBN13) For i=0 To 11 Step 2 : sum+Val(ISBN(i))+Val(ISBN(i+1))*3 : Next sum+Val(ISBN(12)) ProcedureReturn Bool(sum%10=0) EndProcedure If OpenConsole() TestISBN13("978-0596528126") TestISBN13("978-0596528120") TestISBN13("978-1788399081") TestISBN13("978-1788399083") Input() EndIf