Stworzenie programu do sczytywania kodów kreskowych

0

Witam,
muszę stworzyć prosty program do sczytywania kodów kreskowych przy użyciu czytników kodów kreskowych w Delphi. Jestem nowy na forum i dopiero zaczynam swoją przygodę z programowaniem. Proszę o pomoc, informację jak się za to zabrać, na co powinienem zwrócić uwagę ??

Pozdrawiam i oczekuje na jakaś podpowiedź.

0

Zazwyczaj czytnik działa jak klawiatura, więc nie wiem co chcesz pisać?

0

Generalnie chodzi o to, że muszę kupić czytnik kodów kreskowych (działający na USB) i stworzyć do niego program. Przykładowo - biorę czytnik i szczytuje dany kod kreskowy a program wyświetla mi określone informacje (np. Nazwa produktu, producent, dostępność itd.). Nie wiem kompletnie jak się za to zabrać, od czego zacząć.

0

Wydaje mi się że taki czytnik działa na podobnej zasadzie jak klawiatura numeryczna. Tj. po sczytaniu kodu 'wstukuje' cyfry z kodu na wejście. Czyli musiałbyś zaprojektować program w bardzo podobny sposób do tego gdyby kod przepisywała żywa osoba z tym że czasem przydałby się autofokus.

0

a w jaki sposób w ogóle "zgrać" taki prosty program z czytnikiem kodów kreskowych?

1

Musisz mieć po prostu bazę danych indeksowaną odpowiednimi numerami zapisanymi w kodach kreskowych.

1

Może na początek połóż sobie na formatce kontrolki TEdit i TWebBrowser. Dla Edit-a wygeneruj zdarzenie OnKeyDown i wpisz kod:

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
 var 
  Barkod: String;
begin
  if key=13 then
  begin
    Barkod:=Edit1.Text;//'4014500506562'; //mój ulubiony deser
    WebBrowser1.Navigate('www.google.pl/search?q='+Barkod);
  end;
end;
 

Uruchom program i ustaw kursor w Edicie i zeskanuj jakiś produkt. Powinno to spowodować wczytanie Google do WebBrowser-a i wyszukanie stron z info o podanym barkodzie.

0

Mam problem,

chodzi o to, że chciałbym aby w mojej "wyszukiwarce" po wprowadzeniu np. kodu e7215260664210 program otworzył rekord z ID=1 ( 1 = e7215260664210)

oto moj kod programu:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Mask, DB, ExtCtrls, DBTables;

type
  TForm1 = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;
    Table1ID: TSmallintField;
    Table1RAMA: TStringField;
    Table1KIEROWNICA: TStringField;
    Table1KOLA: TStringField;
    Table1UKLAD_NAPE: TStringField;
    Table1AMORTYZATO: TStringField;
    Table1SIODELKO: TStringField;
    Table1HAMULCE: TStringField;
    Table1OPIS: TMemoField;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    DBEdit4: TDBEdit;
    Label5: TLabel;
    DBEdit5: TDBEdit;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    Label7: TLabel;
    DBEdit7: TDBEdit;
    Label8: TLabel;
    DBEdit8: TDBEdit;
    Label9: TLabel;
    DBMemo1: TDBMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
   id:string;
begin
   id := InputBox('WYSZUKIWANIE','Podaj ID','');
   Table1.SetKey;
   Table1.Fields[0].AsString := id;
   if not Table1.GoToKey then
   ShowMessage('Nie można znaleźć ID ');
end;

end.

dodanie znacznika <code class="delphi"> - @furious programming

0
procedure TForm1.Button1Click(Sender: TObject);
var
   id:string;
begin
  id := InputBox('WYSZUKIWANIE','Podaj ID','');
  if id='' then
  begin
    ShowMessage('Wczytaj prawidłowy kod');
    exit;
  end;
  if not Table1.Locate('ID', id, [loCaseInsensitive]) then
  ShowMessage('Nie można znaleźć ID ');
end;
0

W jaki sposób to miało mi pomoc, bo nie bardzo mogę do tego dojść :/

0

Zabierasz się do problemu od końca . Twoim problemem nie jest odczyt kodów kreskowych, tylko zbudowanie bazy produktów i wyszukiwanie w niej wg określonego klucza np. wg kodu kreskowego . Zacznij od bazy produktów. @kaczus podał Ci link do opisu jak używać prostych baz plikowych typu DBase, Paradox czy FoxPro a @PAWEŁ Dmitruk w jaki sposób szukać w takiej bazie . Bazy plikowe to dość przestarzała technologia ale dla początkujących w jest prosta w zastosowaniu i nie wymaga znajomości języka SQL. Gdybym miał coś doradzić, i jeśli chcesz na poważnie zająć się bazami danych to odpuść sobie DBase czy FoxPro tylko zajmij się bazami SQL , jest ich sporo , również darmowych

0

Moim zadaniem jest utworzenie prostej bazy danych i programu do niej, który będzie na podstawie kodu kreskowego odnajdował dany produkt. Jest to tylko część wstępna do mojej pracy inżynierskiej, można powiedzieć, że taki program pokazowy. Niestety nie studiuje informatyki/programowania czy podobnego kierunku i ciężko jest mi zrobić coś takiego. Generalnie w mojej pracy rozchodzi się głownie o kod kreskowy zasadę działania itd. Wybrałem już klucz i jest nim ID i teraz chcę tylko zrobić coś na zasadzie, 1="jakiś tam kod kreskowy", 2="jakiś tam kod kreskowy" i tak dla 10 produktów.

0

"Moim zadaniem jest utworzenie prostej bazy danych "
Więc na początek musisz zbudować taką bazę danych i zapakować do niej jakiś zestaw danych , od tego musisz zacząć bo inaczej się nie da .
Napisz na priv'a to postaram się pomóc .

0
pwabno napisał(a):

Moim zadaniem jest utworzenie prostej bazy danych i programu do niej, który będzie na podstawie kodu kreskowego odnajdował dany produkt. Jest to tylko część wstępna do mojej pracy inżynierskiej, można powiedzieć, że taki program pokazowy. Niestety nie studiuje informatyki/programowania czy podobnego kierunku i ciężko jest mi zrobić coś takiego. Generalnie w mojej pracy rozchodzi się głownie o kod kreskowy zasadę działania itd. Wybrałem już klucz i jest nim ID i teraz chcę tylko zrobić coś na zasadzie, 1="jakiś tam kod kreskowy", 2="jakiś tam kod kreskowy" i tak dla 10 produktów.

Jeśli chcesz wyszukiwać w bazie jakiś produkt używając do tego skanera kodów kreskowych to nie potrzebujesz przerabiać samego programu. Skanery podłączone na USB działają zazwyczaj jak klawiatura. Czyli to co zeskanują wrzucają do bufora klawiatury.

TIP:
Twoje pole edycyjne czeka na naciśnięcie klawisza enter czyli #13 i wtedy zaczyna wyszukiwać wpisany kod produktu w bazie. W samym skanerze trzeba ustawić aby po zeskanowaniu kodu przesłał do bufora klawiatury również znak <enter> czyli naciśnięcie klawisza enter. Do skanera jest dołączona zazwyczaj krótka instrukcja albo ściąga się ją z internetu jak włączyć w nim opcję wysyłania znaku <enter>. Robi się to za pomocą kodów kreskowych sterujących. Za ich pomocą możesz ustawić w skanerze różne inne parametry jak np. wysokość tonu bipu, długość pibu, głośność bipu itd.

1 użytkowników online, w tym zalogowanych: 0, gości: 1