Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kada ne znam sifru artikla sta onda?

[es] :: Pascal / Delphi / Kylix :: Kada ne znam sifru artikla sta onda?

[ Pregleda: 3700 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sasha_rs
Brcko

Član broj: 2684
Poruke: 43
*.bc.pttrs.net.



Profil

icon Kada ne znam sifru artikla sta onda?16.01.2005. u 10:34 - pre 234 meseci
Stvar je jednostavna. Kada ne znam sifru nekoga artikla napamet zelio bih da pritisnem tipku F12 (ili bilo koju drugu) i da mi se otvori sifrarnik artikala tu da pocnem da kucam naziv artikla a da ga on odmah automatski selektuje u tabeli. nakon toga da pritisnem Enter da se taj prozor zatvori a da sifra tog artikla bude upisana tamo gdje treba.
- Sa kojom komponentom da to najlakse odradim?
- Postoji li gdje kakav dobar primjer kako je to najprakticnije odraditi?
Pocetnik sam pa mi je potrebno malo detaljnije objasnjenje vezano samo za pozivanje baze artikala i nakon selektovanog zeljenog artikla prebacivanje u tu drugu bazu.


p.s.
Baze su Paradox 7, komponente koje koristim DBTables, DataSource

Sale
 
Odgovor na temu

slavica2000
Slavica jovanovic
Uzice

Član broj: 31101
Poruke: 55
*.client.comcast.net.



+1 Profil

icon Re: Kada ne znam sifru artikla sta onda?17.01.2005. u 19:16 - pre 234 meseci
Meni je lakse bilo da dupli klik na to polje otvara novi program nego preko F12 (zaboravim tu caku). Novi program podrazumeva jednu komponentu TDBgrig u kojoj ce biti selektovana tabela ali sortirana po nazivu. Dupli klik na sifru izabranog naziva prebacis u prvi programa na mesto gde treba a ovaj prozor naravno zatvoris. Mislim da je ovo najlakse za pocetak. To da pocnes da kucas naziv artikla a da ga on odmah automatski selektuje u tabeli ja MALO teze.
vuka
 
Odgovor na temu

Almedin

Član broj: 5895
Poruke: 425
*.bih.net.ba.



+27 Profil

icon Re: Kada ne znam sifru artikla sta onda?17.01.2005. u 20:22 - pre 234 meseci
Sa FindNearest tražiš ono što je ukucano.
 
Odgovor na temu

_Super_Ellite_Bug_
Novi Sad, konacno!!!

Član broj: 41318
Poruke: 145
*.nat-pool.nsad.sbb.co.yu.

Sajt: www.searchlores.org


Profil

icon Re: Kada ne znam sifru artikla sta onda?18.01.2005. u 00:21 - pre 234 meseci
za prvo ti treba takozvani "incremental search"
Potrazi na Googlu.

Ovo je jedan od primera.
http://www.delphi3000.com/articles/article_1458.asp?SK=
da bi video sadrazaj moraces da se registrujes., free je.

za drugo je prosto kad odradis prvo, stavis u varijablu i "zelepis" gde treba :o)
ISO/IEC JTC1/SC22/WG14-ISO/IEC 9899:1999
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.verat.net.



+1 Profil

icon Re: Kada ne znam sifru artikla sta onda?19.01.2005. u 01:32 - pre 234 meseci
Hmmm...
Imao sam isti problem i na srecu uspesno sam ga resio, napravio sam pomocni prozor koji se otvara kad se kod unosa fakture u pritisne edit button (ono dugme sa [...] na sebi, ButtonStyle property za Column Sifra i Column Naziv mora da bude cbsEllipsis da bi se dugme prikazivalo u DBGrid-u.

Prilozena je arhiva sa FormPrArtikal.dfm i FormPrArtikal.pas fajlovima. Koristi se tako sto se dodeli event za DBgrid-TDbGrid.OnEditButtonClick i onda ide sledeci kod

Code:

procedure TFormFaktura.DbgEditButtonClick(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to DBG.ControlCount - 1 do
    if DBG.Controls[I].ClassName = 'TDBGridInplaceEdit' then
    begin
      FormPrArtikal.Top := Dbg.ClientOrigin.Y + DBG.Controls[I].Top;
      FormPrArtikal.Left := Dbg.ClientOrigin.X;
      FormPrArtikal.EdSifra.Clear;
      FormPrArtikal.EdNaziv.Clear;
      if FormPrArtikal.Lst.Items.Count > 0 then
        FormPrArtikal.Lst.ItemIndex := 0;
      FormPrArtikal.ShowModal;
      if FormPrArtikal.EdSifra.Text <> '' then
      begin
        Artikli.Active := True;
        Artikli.Locate('Sifra', FormPrArtikal.EdSifra.Text, []);

        Dok.Edit;
        DokSifra.AsString := D.ArtikliSifra.AsString;
        DokNaziv.AsString := D.ArtikliNaziv.AsString;
        Dok.Post;

        Artikli.Active := False;
      end;
    end;
end;

Vodi racuna da se kod mene forma zove FormFaktura, DBgrid se zove Dbg, a Dok i Artikli su tabele sa stavkama fakture(Dok) i siframa i nazivima artikala (Artikli).

I u OnShow event forme treba dodati sledeci kod (sluzi za punjenje liste u FormPrArtikal sa podacima o siframa i nazivima artikala)
Code:

procedure TFormFaktura.FormShow(Sender: TObject);
var
  TmpLstItem: TListItem;
begin
  //Pripremi listu artikala
  FormPrArtikal.Lst.Clear;
  Artikli.Active := True;
  while not Artikli.Eof do
  begin
    TmpLstItem := FormPrArtikal.Lst.Items.Add;
    TmpLstItem.Caption := ArtikliSifra.AsString;
    TmpLstItem.SubItems.Add(ArtikliNaziv.AsString);
    Artikli.Next;
  end;
  Artikli.Active := False;
end;


I to je to.
Prikačeni fajlovi
 
Odgovor na temu

sasha_rs
Brcko

Član broj: 2684
Poruke: 43
*.bc.pttrs.net.



Profil

icon Re: Kada ne znam sifru artikla sta onda?21.01.2005. u 08:17 - pre 234 meseci
Hvala momci. Pokusacu i jedan i drugi nacin pa cu vidijeti koji mi vise odgovara. Cudi me kako nema neka gotova komponenta u Delphiju da uz manja podesavanja to sama odradi jer je to dosta cest slucaj i kod rada sa bazama cesto se koristi. Jednostavno za bilo koju sifru je potrebna (kupci, artikli, dobavljaci ...). ???
Sale
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Kada ne znam sifru artikla sta onda?21.01.2005. u 08:27 - pre 234 meseci
Tako nesto ne mozes ocekivati od golog Delphija. Stvar je dosta komplikovana i u velikoj meri zavisi od modela baze, nacina pisanja aplikacije i potreba sta taj mehanizam sve moze da uradi.

Ako pravis ozbiljnu aplikaciju treba da napravis naslednike svig TField klasa i koristis njih umesto izornih Delfijevih. U nove komponente ces moci da ugradis i taj mehanizam ali i mnoge druge koji ce ti raditi automatski na svakoj tabeli a ne samo u nekoj formi gde to isprogramiras.

Sifarnik artikala nije mali pa je neprakticno ali za male sifanike je zgodno koristiti lookup komponente (ima i gridova u kojima postoji ugradjena podrska za lookup).
 
Odgovor na temu

matory
Blazin Srdjan

Član broj: 44660
Poruke: 43
*.stcable.co.yu.



Profil

icon Re: Kada ne znam sifru artikla sta onda?21.01.2005. u 22:39 - pre 234 meseci
Ako bas hoces sa F10 moze i ovako:

procedure TForm.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
Begin
If Key=vk_F10 then
Begin
Table.Filter:=('NAZIVPOLJA KOJE PRERAZUJES'+ QuotedStr(Edit.text+'*'));
End;



DBGrid vezes za tablu i kada ukucas pocetna slova robe u gridu ce ti ostati samo roba sa tim pocetnim slovima. Sto vise slova manja lista.

Kada pritisnes F10 dobices samo zeljeni filter. Posle pustis masti na volju kako ces to da ubacis u drugu tablu ako zelis.

Ja bi pre sve ovo vezao za dogadjaj Edit.change. pa u njega stavio ovaj filter. Dok kucas ili brises slova u Edit polju tabla se filtrtira i posle samo dblclick na zeljenu sifru i ona lookup u drugu bazu.

 
Odgovor na temu

matory
Blazin Srdjan

Član broj: 44660
Poruke: 43
*.stcable.co.yu.



Profil

icon Re: Kada ne znam sifru artikla sta onda?21.01.2005. u 23:08 - pre 234 meseci
Da, primetio sam da sa ENTER hoces da zatvoris formu.

procedure TForm.FormKeyPress(Sender:TObject; var Key:Char);
begin
if Key=#13 then Form.close;
end;

A ako hoces da sa Enetrom prelazis iz komponente u komponentu onda mozda nesto ovako

procedure TForm2.FormKeyPress(Sender:TObject; var Key:Char);
begin
if Key=#13 then {ovo je ENTER}
begin
key:=#0 ;{ovo treba da bude "tab"}
SelectNext(ActiveControl, true,true); {a ovo ce preci na drugu komponentu
recimo iz tvog edit polja gde si trazio naziv artikla u DBGrid gde ces strelicama odabrati bas odredjeni artikal od par preostalih filtriranjem baze}
end;
If Key=#27 then Form2.Close; {ovo je ESC koji ce ti zatvoriti formu}
end;

Znam da ce neko da se pita zasto sve ovu kada postoji TAB ali ja sam imao slucaj gde su praistorijske knjgovodje koje su do kraja 20 veka radile na ljutim 286-icama pod dosom trazile da bas ENTEROM prelaze sa polja na (kosovo)polje. Nije to ni tako lose s obzirom da rade numerickom tastaturom i da im je levi enter uvek na mali prst desne ruke. Naravno nezele da imaju nikakvih dodira sa "MISEM" koji im oduzima (dah) dragoceno vreme tako da nema govora o dblclick-u i kojekakvim djakonijama moderne informatike np. kao sto su ikonice.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Kada ne znam sifru artikla sta onda?

[ Pregleda: 3700 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.