Wpis z mikrobloga

#programowanie

Mirki - mam takiego oto problema. Mam dane pole w bazie, które ma wielkość 6 znaków. Nie mogę tego zmienić i już, mogę tylko wartość 6 znakową tam wepchnąć bo na jej podstawie generuje się jakiś kod kreskowy i jak będzie 7 czy więcej pól to kod się r------e. Problem w tym, że muszę w tym polu zapisać liczby wielkości np. 281425059. Kombinuje od kilkunastu minut jak to 'przyciachać', ale jakiekolwiek pomysły kompresji takich liczb dają takie rezultaty, że otrzymuję -1 max -2 długość stringu. Macie jakiś pomysł? Próbowałem np. z literami, żeby dać np. F8888 i każda litera to jakiś mnożnik wartości, ale to nie do końca działa jakbym chciał. Może ktoś coś podobnego pisał, co?
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@singollo już pisałem - chodzi o kody kreskowe. Jest pole 6 znakowe odpowiedzialne za identyfikator. Ja muszę tam wepchnąć dane, które później w innej części systemu trafiają powrotnie do mnie (po czytaniu etykiety). Czytniki sobie radzą ze stringami, cyframi, etc. Nie ma żadnych restrykcji - sprawdziłem. Chodzi o to, żeby upchnąć liczbę np. 258025909 w 6 znaków tak, aby bez pomyłek ją powrotnie zdekodować.
  • Odpowiedz
@nadmuchane_jaja: doświadczenie mi mówi, że próby wciskania kwadratowego kołka w okręgły otwór prowadzą do tworzenia się naprężeń, które gdzieś później eksplodują. Jest parę kluczowych pytań tutaj, np: czy możesz wprowadzić dodatkowe pole do bazy; czy w bazie są jakieś dane; czy wszystkie elementy systemu będą świadome użytego kodowania; czy generowane kody są unikalne, czy jest wymagana unikalność i czy jesteś w stanie ją wymusić itp itd.

Możesz w tym polu
  • Odpowiedz
@singollo: kurcze, chodzi tylko o taki scenariusz:

Mam kod, który generuje program który sam pisałem. Ma on 4 pola, coś na zasadzie:

[DATA_PRODUKCJI] [IDENTYFIKATOR] [MAGAZYN] [INWENTARYZACJA], etc.

Potrzebuję, aby pod polem IDENTYFIKATOR, które ma 6 znaków max zmieścić liczbę np. 10 cyfrową, ale nie mogę zwiększyć tego pola bo kody drukują się na określonej etykiecie i nie mogą być 'szersze'. Chodzi mi tylko o metodę 'skrócenia' cyfry do jakiegoś identyfikatora
  • Odpowiedz