Konuyu görüntüle
IUCODERS FORUM > Programlama > .NET > String Parçalama Özel Durum
Yazar
mahmut716


avatar

Kayıt: 20.12.2006
30.05.2013-11:09 #78891
barboonia yazdi
 
normal şartlarda her parça için ayırıcı string koymaları gerekiyor standart olarak oyle. ama daha koyan görmedim. split etmeye tersten başlayıp 17 yi bul sonraki 6 ile tarih oluşursa tarihi buldub demektir. tarihten sonra 10 varsa buda lottur.

zaten baştarafı daha bait çünkü barcod kısmının boyutu belli diye hatırlıyorum. 01 + 0 + barkod uzunluğu + 21 + gerikalan.

ama eğerki bu değerler önceden oluşmamışsa yanı barkod okuyu tarafından geliyorsa anlık olarak büyük bir ihtimal barkod okuyucunun ayarlarında vardır ayrıcı karakter seçeneği.

tersten de okuması mümkün değil, çünkü 17 ile başlayan parçanın içinde de 17 olabilir, 10 ile başlayan parçanın içinde de olabilir
eğer seri numarası yazılan tarafa müdahale ediliyorsa şöyle bir çözüm olabilir, her parçanın belirli uzunlukta stringi olacak şekilde yazılır, mesela 21'den sonra 10 rakam gelecek, eksik gelse başına 0 yazarak tamamlansın, gibi olsa bu taraftada iş kolay olur smile





Java developer


Yazar
barboonia


avatar
cennet kösesi
Kayıt: 09.10.2009
30.05.2013-11:44 #78892
"17 yi bul sonraki 6 ile tarih oluşursa tarihi bulundu" diye yazmıştım :) tersten gitmek daha mantıklı bence





süphesiz ki Antalya dünyanin en güzel sehridir...
Yazar
mahmut716


avatar

Kayıt: 20.12.2006
30.05.2013-15:39 #78893
barboonia yazdi
 
"17 yi bul sonraki 6 ile tarih oluşursa tarihi bulundu" diye yazmıştım :) tersten gitmek daha mantıklı bence

şöyle olursa hangisi olduğunu bulamazsın
...1713021710110317130216

ilk 17 tarib belirteci, sonraki 17 günü gösteriyor, 3. 17 ise 10 belirtecinin içinde geçiyor, hangisi tarih,nasıl belirleyeceksin,hatta daha zorlaştırmak istersek, 21'le başlayan parçanın içine de 17 eklenebilir beat up

günü gösteren 17'den sonra gelen rakamlarla da tarih oluşuyor ...17101103... kısmı ile





Java developer


Yazar
blackzero


avatar

Kayıt: 27.11.2006
31.05.2013-09:12 #78895
hicbir sekilde ayirt edemeyecegin kombinasyonlar olusabilir bu verilerle.

bir ornek vereyim ;

01xx21 - 17140706 - 2117141130
01xx-211714070621-17141130

ayni sayi ama ayirt edemezsin.

edit: sonraki mesajlarda degistirmisin gereklilikleri ama verilerinde hala ayirt edemeyecegin durumlar olusabiliyor.

21xx-17090817-10121210xx
21xx170908-17101212-10xx

edit_2: karekodlarinida baktim biraz, 12-16 hane arasinda degisiyolar eger min 12 max 16 seklindeyse seri nolarının hane sayısı, tarih:2013 yili ve sonrasi icin tam dogru olarak bulunabiliyor.





Yazar
mahmut716


avatar

Kayıt: 20.12.2006
05.06.2013-12:27 #78906
mervenur yazdi
 
...


son durum nedir?





Java developer


1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb