A newer version of this page is available. Switch to the current version.

MSI - Plessey

  • 2 minutes to read

Short Description

MSI was developed by the MSI Data Corporation, based on the original Plessey Code. MSI, also known as Modified Plessey, is used primarily to mark retail shelves for inventory control.

MSI is a continuous, non-self-checking symbology. While an MSI bar code can be of any length, a given application usually implements a fixed-length code.

Barcode - MSI Plessey

Bar Code Properties

The type of a bar code control’s Symbology property is CodeMSIGenerator.

The following property is specific to the MSI type.


The following code creates an MSI - Plessey bar code and specifies its main properties.

using System;
using System.Collections.Generic;
using System.Drawing.Printing;
using System.Windows.Forms;
using DevExpress.XtraPrinting.BarCode;
using DevExpress.XtraReports.UI;
// ...
public XRBarCode CreateCodeMSIBarCode(string BarCodeText) {
    // Create a bar code control.
    XRBarCode barCode = new XRBarCode();

    // Set the bar code's type to MSI.
    barCode.Symbology = new CodeMSIGenerator();

    // Adjust the bar code's main properties.
    barCode.Text = BarCodeText;
    barCode.Width = 400;
    barCode.Height = 100;

    // Adjust the properties specific to the bar code type.
    ((CodeMSIGenerator)barCode.Symbology).MSICheckSum = MSICheckSum.DoubleModulo10;

    return barCode;

To add the XRBarCode to a report band, handle the report’s XRControl.BeforePrint event.

using System.Drawing.Printing;
// ...

private void XtraReport1_BeforePrint(object sender, PrintEventArgs e) {