0

数字と記号の行を読み取るプログラムを作成し、特定の数字のみを読み取りたいので、3つのケースを作成して、そこからの数字に応じてテキストボックスに出力することができます。そのために必要なコードを提供してくれませんか?(Windowsフォームアプリケーションで使用する予定です)

例:キーボード入力-> (01)04006544860533(10)L825308500を取得し、そこから04006544860533のみを保持したいので、ケース1に使用して、textbox4="...."を返します。

入力を変更することはできません。長い入力である必要があります。

編集

非常に速い答えをありがとう

ボタンで指定したコードを使用しましたが、テキストボックスに常にデフォルトの応答が表示されるので、xDが恋しいと思います。ケースに番号を入力すると機能します

(ギリシャ語heheのプログラムテキスト)

コード

private void button1_Click(object sender、EventArgs e){string input = BarcodeTextBox.Text; 文字列番号=input.Substring(5、14);

        switch (input) //tried switch (number) also
        {
            case ("4006544849033"):
            ProductTextBox.Text = "SLS ΛΕΥΚΗ ΖΑΧΑΡΗ ΑΠΟ ΖΑΧΑΡΟΚΑΛΑΜΟ 1kg";
            break;

            case ("4006544860533"):
            ProductTextBox.Text = "SLS ΑΚΑΤΕΡΓΑΣΤΗ ΖΑΧΑΡΗ 0,5kg";
            break;

            case ("4006544849637"):
            ProductTextBox.Text = "SLS ΑΧΝΗ ΖΑΧΑΡΗ 0,4kg";
            break;

            case ("4006544851630"):
            ProductTextBox.Text = "ΛΕΥΚΗ ΖΑΧΑΡΗ EU2-F 25κιλά ΖΑΧ/ΛΑΜΟ";
            break;

            case ("4006544901137"):
            ProductTextBox.Text = "ΚΡΤΣΤ. ZAX.GR 10X1kg AB";
            break;

            case ("4006544901335"):
            ProductTextBox.Text = "ΚΡΤΣΤ.GR 10X1 Κιλά LIDL ΕΛΛΑΣ";
            break;

            case ("5410256208115"):
            ProductTextBox.Text = "ΚΡΤΣΤ. ZAX.GR 10X1kg ΣΚΛΑΒΕΝΙΤΗΣ";
            break;

            case ("4006544901731"):
            ProductTextBox.Text = "ΚΡΤΣΤ.GR 10X1 Κιλά LIDL ΕΛΛΑΣ DHP";
            break;

            case ("4006544901830"):
            ProductTextBox.Text = "SLS ΑΧΝΗ ΖΑΧΑΡΗ 0,4kg Limited Edition";
            break;

            default:
            ProductTextBox.Text = "Λάθος Αριθμός Barcode, Ξαναπροσπαθήστε";
            break;
        } 
    }
4

2 に答える 2

1

入力テキストが常に同じ長さと形式である場合は、次のように部分文字関数を使用できます。

 string input = "(01)04006544860533(10)L825308500";
 string number = input.Substring(4, 14);
 // if you also need the first number in parenthesis
 int firstNumber = Int32.Parse(input.Substring(1,2));  // this will be equal to 1

文字列の長さが可変であるが、形式が常に同じである場合は、正規表現を使用して数値を取得できます。

 Regex rex = new Regex("^\\(\\d+\\)(\\d+)");
 Match m = rex.Match(input);
 if(m.Success && m.Groups[1].Success){
     string number = m.Group[1].Value;
 }
于 2013-03-26T13:56:09.387 に答える
0

正規表現を使用して、入力からの数値を検証できます。

\d{10}は10桁の数字と一致します。

このサイトでチュートリアルを実行し、それらについて詳しく知ることができます:http: //www.regular-expressions.info/

于 2013-03-26T13:56:29.620 に答える