• Здраво и добредојдовте на форумот на IT.mk.

    Доколку сеуште не сте дел од најголемата заедница на ИТ професионалци и ентузијасти во Македонија, можете бесплатно да се - процесот нема да ви одземе повеќе од 2-3 минути, а за полесна регистрација овозможивме и регистрирање со Facebook и Steam.

Најдобар одговор Како да се подели баркод во C#

Статус
Оваа тема е решена! Одете до решението…
  • Ја почнал/а темата
  • #1

ile113

Intern
1 мај 2016
5
2
Како да се подели баркод EAN13 на делови пример

Цел баркод 2024587002583

Шифра на артикалот 2024587
Тежина 002583

Мојот пример е

if (textBox1.Text.Length >= 8)
textBox2.Focus();
textBox2.Text = textBox2.Text;

ама не ми работи како што треба.
Дали има некој што може да ми понуди некое добро решение.
 
Оваа тема е решена! Одете до решението…

pecko95

Gaining Experience
5 април 2018
168
151
Ако шифрата на артиклот е секогаш 7 карактери, тогаш, претпоставувам би можел:
- да го претвориш баркодот во string
- да му направиш split("") што ке ти даде array од секој карактер поединечно
- за textBox-от кај што сакаш да ти иде шифрата на артиклот ке ставиш вредноста да биде делот од претходно добиениот array од 0 до 7 index, и после тоа ке му направиш join("") на новодобиениот array, за да добиеш цел стринг, што ке можеш да го претвориш во бројка ако ти е потребно.
- за textBox-от кај што сакаш да иде тежината, ке го направиш истото само од index 7 до array.length - 1

Горе во примеров имаш textBox2.Text = textBox2.Text - ако не се лажам ти уствари пробуваш на textBox2 полето, да му го ставиш текстот што го има во моментот како вредност, а од каде му е вредноста?

Можда сум утка, и сигурно има и подобар начин. Инаку немам чепкано C#, така да еве најпрост начин прво што ми текна во JS за да го поделиш текстот на два дела доколку секогаш знаеш дека шифрата на артиклот се првите 7 карактери, а тежината ја претставуваат останатите карактери, па ваљда ке ти биде колку-толку од корист:
1610192602778.png
 

bxxxn

Practice makes perfect
11 март 2011
1,230
1,298
Додади уште едно поле textBox3

if (textBox1.Text.Length >= 13){
textBox2.Text = left(textBox1.Text,7);
textBox3.Text = right(textBox1.Text,6);
}


Или доколу left и right беа за vb

if (textBox1.Text.length >= 13){
textBox2.Text = textBox1.Text.substring(0,7);
textBox3.Text = textBox1.Text.substring( textBox1.Text.length -6 ,6);
}
 
Последна промена:
  • Ја почнал/а темата
  • #4

ile113

Intern
1 мај 2016
5
2
Ако шифрата на артиклот е секогаш 7 карактери, тогаш, претпоставувам би можел:
- да го претвориш баркодот во string
- да му направиш split("") што ке ти даде array од секој карактер поединечно
- за textBox-от кај што сакаш да ти иде шифрата на артиклот ке ставиш вредноста да биде делот од претходно добиениот array од 0 до 7 index, и после тоа ке му направиш join("") на новодобиениот array, за да добиеш цел стринг, што ке можеш да го претвориш во бројка ако ти е потребно.
- за textBox-от кај што сакаш да иде тежината, ке го направиш истото само од index 7 до array.length - 1

Горе во примеров имаш textBox2.Text = textBox2.Text - ако не се лажам ти уствари пробуваш на textBox2 полето, да му го ставиш текстот што го има во моментот како вредност, а од каде му е вредноста?

Можда сум утка, и сигурно има и подобар начин. Инаку немам чепкано C#, така да еве најпрост начин прво што ми текна во JS за да го поделиш текстот на два дела доколку секогаш знаеш дека шифрата на артиклот се првите 7 карактери, а тежината ја претставуваат останатите карактери, па ваљда ке ти биде колку-толку од корист:
Погледнете го атачментот 95871
Благодарам за времето. Инаку textBox2.Text добива вредност после 7миот карактер.
 

bxxxn

Practice makes perfect
11 март 2011
1,230
1,298
Како да се подели баркод EAN13 на делови пример

Цел баркод 2024587002583

Шифра на артикалот 2024587
Тежина 002583

Мојот пример е

if (textBox1.Text.Length >= 8)
textBox2.Focus();
textBox2.Text = textBox2.Text;

ама не ми работи како што треба.
Дали има некој што може да ми понуди некое добро решение.
Текст бокс 2 не добива текст после 7 карактер, туку ја копира вредноста сам од себе, која веројатно е празна, освен ако кодот не си мислел да го напишеш вака

if (textBox1.Text.Length >= 8)
{
textBox2.Text = textBox1.Text;
}

или можеш да го расчлениш вака на пример

if (textBox1.Text.length = 7)
{
textBox2.Text = textBox1.Text.substring(0,7);
}
else if (textBox1.Text.length = 13)
{
textBox3.Text = textBox1.Text.substring( textBox1.Text.length -6 ,6);
}
 

marv

Unstoppable
5 октомври 2007
3,083
2,470
Како да се подели баркод EAN13 на делови пример

Цел баркод 2024587002583

Шифра на артикалот 2024587
Тежина 002583

Мојот пример е

if (textBox1.Text.Length >= 8)
textBox2.Focus();
textBox2.Text = textBox2.Text;

ама не ми работи како што треба.
Дали има некој што може да ми понуди некое добро решение.
Само да напоменам дека последната бројка е само чек диџит и не би требало да ја зимаш за никаков релевантен податок во кодирањето на производите. Прво ја проверуваш дали е ОК, т.е. дали отчитувањето на целиот баркод е ОК, после ја тргаш и тераш даље.

Sent from Телефон using Tapatalk
 
  • Ја почнал/а темата
  • #7

ile113

Intern
1 мај 2016
5
2
Текст бокс 2 не добива текст после 7 карактер, туку ја копира вредноста сам од себе, која веројатно е празна, освен ако кодот не си мислел да го напишеш вака

if (textBox1.Text.Length >= 8)
{
textBox2.Text = textBox1.Text;
}

или можеш да го расчлениш вака на пример

if (textBox1.Text.length = 7)
{
textBox2.Text = textBox1.Text.substring(0,7);
}
else if (textBox1.Text.length = 13)
{
textBox3.Text = textBox1.Text.substring( textBox1.Text.length -6 ,6);
}
ми успеа со овој код.

if (textBox1.Text.Length == 7)
{
textBox2.Text = textBox1.Text.Substring(0, 7);
}
else if (textBox1.Text.Length == 13)
{
textBox3.Text = textBox1.Text.Substring(textBox1.Text.Length - 6, 5).Replace("00", "0,");
}

2021-01-09 (2).png
 
  • Ја почнал/а темата
  • #8

ile113

Intern
1 мај 2016
5
2
Еве го целиот код можеби на него ќе му се најде и ке му послужи.

string a = "", a1 = "";
if (textBox1.Text.Length == 7)
{
textBox2.Text = textBox1.Text.Substring(0, 7);
}
else if (textBox1.Text.Length == 13)
{
a = textBox1.Text.Substring(textBox1.Text.Length - 6, 2);
a1 = textBox1.Text.Substring(textBox1.Text.Length - 5,1);

if (int.Parse(a) >= 10)
{
textBox3.Text = textBox1.Text.Substring(textBox1.Text.Length - 6, 5).Replace(a , a + ",");
}
else if (int.Parse(a) < 10)
{
textBox3.Text = textBox1.Text.Substring(textBox1.Text.Length - 6, 5).Replace(a, a1 + ",");
}
}
 
  • Ја почнал/а темата
  • #9

ile113

Intern
1 мај 2016
5
2
Текст бокс 2 не добива текст после 7 карактер, туку ја копира вредноста сам од себе, која веројатно е празна, освен ако кодот не си мислел да го напишеш вака

if (textBox1.Text.Length >= 8)
{
textBox2.Text = textBox1.Text;
}

или можеш да го расчлениш вака на пример

if (textBox1.Text.length = 7)
{
textBox2.Text = textBox1.Text.substring(0,7);
}
else if (textBox1.Text.length = 13)
{
textBox3.Text = textBox1.Text.substring( textBox1.Text.length -6 ,6);
}
Ти благодарам за твоето мислење. Ми помогна.
 
Статус
Оваа тема е решена! Одете до решението…

Нови мислења

Последни Теми

Статистика

Теми
42,655
Мислења
829,830
Членови
28,661
Најнов член
Zokibebrat
На врв Дно