سؤال

أنا أكتب بعض البرامج لتحديد أرقام التتبع (بنفس طريقة جوجل يحدد فيديكس أو يو بي إس الأرقام عند البحث عنها).معظم سعاة استخدام نظام مثل "المتوسط المرجح وزارة الدفاع نظام" والتي يمكن استخدامها لتحديد إذا كان عدد صحيح عدد تتبع.لا أحد يعرف إذا كان TNT شحنة أرقام استخدام مثل هذا النظام ، إذا كان الأمر كذلك ، ما هي ؟ طلبت تي ان تي ، rep قال لي لا...ولكن أود أن doublecheck.

هل كانت مفيدة؟

المحلول

حسنا ، إذا مرت ثلاثة أشهر منذ أن طلبت ولكن أنا تعثرت عبر هذا أنا أكتب قطعة مماثلة من البرامج.بقدر ما نعلم TNT يستخدم S10 عدد تتبع النظام.وهو ما يعني أن الأرقام ستكون من نوع AA#########AA.مع آخر حرفين المقابلة ISO/IATA رمز البلد.وقد قلت ذلك TNT يستخدم WW التي نعتقد أنها يجب أن نقف في جميع أنحاء العالم.هذا ليس جوابا على الأقل ليس عن اختبارية أو الخوارزميات ، ولكن قد تكون مفيدة ؟ على أمل أن يساعد

الصفصاف

نصائح أخرى

بقدر ما أستطيع أن أقول لا يوجد أحد.آسف.

أعتقد أنك تحاول التحقق من صحة رقم تتبع دخلت للتأكد من أنه تم إدخالها بشكل صحيح ؟

-- كيفن فيرتشايلد

أعتقد أن هناك تحقق أرقام / الاختباري أرقام ، ربما مشتق من MOD10 ولكن ليس لدى أي فكرة ما الخوارزمية هو يشار إلى 9 أرقام من مادة تي أن تي.سيكون من الجميل أن تعرف ؟ ؟ ؟

كل ما أعرفه أنه 12345678 الاختيار رقم 5 و 22345678 الاختيار رقم 8.

هو في الواقع وزارة الدفاع 11 VB.net لقد كتبت كما يلي:

  Dim number As String = TextBox1.Text
    Dim A As Integer
    Dim B As Integer
    Dim C As Integer
    Dim check_digit As Integer

    A = (CInt(Mid(number, 1, 1)) * 8) + (CInt(Mid(number, 2, 1)) * 6) + (CInt(Mid(number, 3, 1)) * 4) + (CInt(Mid(number, 4, 1)) * 2) + (CInt(Mid(number, 5, 1)) * 3) + (CInt(Mid(number, 6, 1)) * 5) + (CInt(Mid(number, 7, 1)) * 9) + (CInt(Mid(number, 8, 1)) * 7)
    B = ((A \ 11) * 11)
    C = A - B

    If C = 0 Then
        check_digit = 5
    End If

    If C = 1 Then
        check_digit = 0
    End If

    If C <> 0 And C <> 1 Then
        check_digit = 11 - C
    End If

    MsgBox(number & check_digit)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top