В качестве средства разработки я выбрал "Turbo Pascal 7.0". Выбор столь "раритетной" среды обусловлен тем, что я не хочу заострять внимание на интерфейсе, а с помощью Турбо Паскаля это сделать проще всего. Безусловно, что при желании программу можно будет написать и на Си, Дельфи и т. д. Главное - понять принцип.
Начинаем работу. Запускаем Паскаль и пишем:
Program BarCode_EAH13;
Uses crt;
Var
i:integer;
s,z2,z3:string;
Мы назвали программу "BarCode_EAH13", подключили "crt" и объявили переменные. Идем дальше:
procedure vvod;
begin
write(Enter the bar-code: );
readln(s);
end;
Процедура "vvod" отвечает за интерфейс: предлагает ввести штрих-код и то, что введет пользователь, записывает в переменную.
Теперь самое главное:
procedure sravn;
begin
z2:=Copy(s,1,2);
z3:=Copy(s,1,3);
If z3=789 then
begin
writeln(Brazil);
end;
...
end;
В этой процедуре программа сравнивает первые две-три цифры с кодами стран. Переменная z2 записывает на себя первые две цифры, а z3 - первые три. Затем происходит сравнение. Например, если первые три цифры - 789, то программа пишет, что страна-производитель – Бразилия, Норвегия - 70, Израиль - 729, Швеция - 73, Мексика - 750, Швейцария - 76, Аргентина – 779. Я решил не вводить все страны, их слишком много. Если вам интересно, то вы легко сможете найти таблицу первых цифр штрих-кодов в Интернете и ввести в свою программу (вместо многоточия).
Пишем "тело":
Begin
clrscr;
vvod;
sravn;
readkey;
End.
Первая строка очищает экран, вторая строка запускает процедуру "vvod", третья - "sravn", а последняя ждет ввода любой клавиши для завершения работы. Вот и все! Можете добавить некоторый "удобства": например, было бы хорошо, если бы программа была зациклена, то есть определяла страну постоянно. Главное при этом - не забыть ввести код выхода. Ну, а если переведете код на визуальный язык, например, на дельфи, то получится уже качественный продукт, который не стыдно и продать.
Для считывания штрих кода используют специализированные устройства - сканеры штрих кода, а для печати этикеток со штрих кодом применяют принтеры этикеток.