Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 19 odgovora
  • 4.860 pregleda

Najnovija ↓

Stampanje iz TListView komponente 24.09.2007. u 00:06 · pre 232 meseca
izmenjeno 1 put, poslednji put X Files 24.09.2007. u 19:30
  1. X Files24.09.2007. u 19:30zapis iz teksta poruke
#1
Da li je moguce da se stampa neki sadrzaj iz TListView komponenete i kako trba mi radi izvjestaja nekog racuna POS ?
Hvala puno !!!

Edit (naslova i poruke) : TListView1 > TListView
Re: Stampanje iz TListView komponente 24.09.2007. u 09:05 · pre 232 meseca #2
Citat:
medixsa: Da li je moguce da se stampa neki sadrzaj iz TListView1 komponenete i kako trba mi radi izvjestaja nekog racuna POS ?



naravno da je moguće
možda kad bi bio malo jasniji šta hoćeš
Re: Stampanje iz TListView komponente 24.09.2007. u 18:43 · pre 232 meseca #3
Pozdrav !!!
recimo,zelim da u komponenetu TListView1 smjestim kompletan "racun POS", odnosno "stavke artikla- racuna " pa zatim
da stampam na POS printer,kako sto sam radio iz Memo1 ili ListBox1 komponente
Re: Stampanje iz TListView komponente 24.09.2007. u 19:14 · pre 232 meseca #4
prikaz
pregledaj po Internetu, googluj, imaš takvih primera ama baš koliko hoćeš

štampa
nemoj da štampaš iz TListView-a nego iz tog sourca odakle puniš TListView
dakle, ako je iz tabele, onda štampaj iz tabele
jednostavnije ti je
Re: Stampanje iz TListView komponente 24.09.2007. u 19:25 · pre 232 meseca #5
Kako si štampao iz TMemo i TListBox? Zapravo, u čemu je fora kod POS printera (nisam u toku)?

Za svoje potrebe sam jednom napravio instant kod koji štampa iz TListView-a. Kod je na C++ Builderu, ali je uglavnom čist VCL, pa ako te ne mrzi konvertuj ga u Delphi ili barem pogledaj ideju. Pošto ti se niko ne javlja, evo koda:

Code:

void TLanMsgMainForm::PrintItems( bool Selected )
{
   ListView->Enabled = false;
   try
   {
      int margin_pixels = 30;
      Printer()->BeginDoc();
      if ( Selected )
        Printer()->Title = "Selektovane...";
      else
         Printer()->Title = "Sve...";
      Printer()->Canvas->Font->Name    = "Terminal";
      Printer()->Canvas->Font->Size    = 9;
      Printer()->Canvas->Font->Charset = EASTEUROPE_CHARSET;
      Printer()->Canvas->Font->Pitch   = fpFixed;
      int line = 0;
      int real_line = 0;
      for ( int i=0; i<ListView->Items->Count; i++ )
      {
         if ( Selected && !ListView->Items->Item[i]->Selected )
            continue;
         ++line;
         ++real_line;
         AnsiString LineToPrint =
            Format( "%4s.%4s%10s%12s%11s%10s%25s%30s",
            ARRAYOFCONST(( (IntToStr(real_line)),
                           (ListView->Items->Item[i]->SubItems->Strings[0]),
                           (ListView->Items->Item[i]->SubItems->Strings[1]),
                           (ListView->Items->Item[i]->SubItems->Strings[2]),
                           (ListView->Items->Item[i]->SubItems->Strings[3]),
                           (ListView->Items->Item[i]->SubItems->Strings[4]),
                           (ListView->Items->Item[i]->SubItems->Strings[5]),
                           (ListView->Items->Item[i]->SubItems->Strings[6]) )) );

         int TH = Printer()->Canvas->TextHeight( LineToPrint );
         int top = margin_pixels + ( line * TH );
         if ( ( top + 2*margin_pixels + TH )  >=  Printer()->PageHeight )
         {
            Printer()->NewPage();
            line = 1;
            top = margin_pixels + ( line * TH );
         }
         Printer()->Canvas->TextOut( margin_pixels, top, LineToPrint );
      }
      Printer()->NewPage();
      Printer()->EndDoc();
   }
   __finally
   {
      ListView->Enabled = true;
   }
}


A ovo što ti je rekao priki ima smisao. Bilo bi najbolje da ti je dizajn koda takav da ListView služi samo za PRIKAZ podataka, a da izvor ipak bude neki drugi kontejner, čak je i neki privremeni fajl dobar. Tada će ti i kod koji već kažeš da imaš za Memo i ListBox biti od koristi.
Re: Stampanje iz TListView komponente 24.09.2007. u 19:55 · pre 232 meseca #6
Citava ova zbrka oko TListView1 ,je u tome sto zelim da iz Table1 pokupim sve stavke recimo u neku komponentu
kao sto je ListBox1 , i da mi budu stavke artikala jedna ispod druge , Naziv artikla , Kolicina,Cijena,Iznos da sve stavke budu ispod navedenih zaglavlja- hedera ili futera

Hvala puno ,
interesuje me da li ima bas lagaana komponenta za to ...
Re: Stampanje iz TListView komponente 24.09.2007. u 20:05 · pre 232 meseca #7
ne treba ti nikakva komponenta
rad sa TListView-om je jednostavan da jednostavniji ne
može biti.

Ponavljam, potraži malo po Internetu, ima toga koliko hoćeš

Pitanje je samo odakle dolaze te stavke i kako to povezati sa TListView-om
Re: Stampanje iz TListView komponente 24.09.2007. u 20:41 · pre 232 meseca
izmenjeno 1 put, poslednji put savkic 24.09.2007. u 21:02
  1. savkic24.09.2007. u 21:02zapis iz teksta poruke
#8
> Citava ova zbrka oko TListView1 ,je u tome sto zelim da iz Table1 pokupim sve stavke recimo u neku komponentu
> Naziv artikla , Kolicina,Cijena,Iznos da sve stavke budu ispod navedenih zaglavlja- hedera ili futera

A zašto ne TDBGrid komponenta ili slični data aware gridovi?
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Stampanje iz TListView komponente 25.09.2007. u 18:43 · pre 232 meseca #9
Samo da vidim da li sam te dobro razumeo... TListView koristis jedino zato sto su podaci poredjani po kontrolama i mislis da mozes nekako da pozoves ListView.Print pa da to sto izadje isto bude poredjano po kolonama kao u ListView, a ne u jednoj liniji ili nekako drugacije, nego bas u kolonama kao sto je u ListView?
Potpis
Play Store
Re: Stampanje iz TListView komponente 25.09.2007. u 20:00 · pre 232 meseca #10
Citat:

Samo da vidim da li sam te dobro razumeo... TListView koristis jedino zato sto su podaci
poredjani po kontrolama i mislis da mozes nekako da pozoves ListView.Print pa da to sto
izadje isto bude poredjano po kolonama kao u ListView, a ne u jednoj liniji ili nekako
drugacije, nego bas u kolonama kao sto je u ListView?


al' si ga objasnio,
svaka ti dala :)

čovek ga je samo malo zakomlikovao
treba samo da vidi da ima, na neki način, paralelnu kontrolu
ništa više
Re: Stampanje iz TListView komponente 25.09.2007. u 20:30 · pre 232 meseca #11
Umem ja tako da shvatim stvari... ali je bar to moje jasno... nije li? :)

Tek sad mi nista nije jasno... pitanje je Stampanje iz TListView komponente sto znaci da covek ume da je napuni cim vec hoce da stampa iz nje. Ti si mu rekao da ne cita podatke iz ListView nego direktno iz izvora iz kojeg puni taj ListView... znaci da sad vec i zna kako da dodje do podataka. Ostalo je jos samo da ih odstampa (to isto zna jer je stampao vec iz Memo i ListBox), a covek i dalje trazi neku laganu kontrolu... za sta? :)
Potpis
Play Store
Re: Stampanje iz TListView komponente 25.09.2007. u 20:37 · pre 232 meseca #12
i ja se pitam kakva kontrola je u pitanju, za šta :)

samo ako si primetio, čovek je jako loše objasnio problem
ja samo nagadjam šta radi,
inače taj POS račun mora imati neku formu.....
Re: Stampanje iz TListView komponente 26.09.2007. u 09:21 · pre 232 meseca #13
Interesantan primer koji bi, možda, mogao pomoći se nalazi ovde...
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: Stampanje iz TListView komponente 26.09.2007. u 14:45 · pre 232 meseca #14
Drug nikako da shavtimo problem...
Hiljadu ste puta VIDJELI u trgovinama , kada radnica pritisne na dugme da izbaci racun na papir ,prije toga se pojavi
prozor na kome se lijepo vidi ,dizajniran izgled racuna ,sve slozeno kako treba i dalje se salje na printer.Mene interesuje ,
komponenta kao recimo Memo i ListBox1 ( ranije sam morao kroz kogd ,da mi sam program oduzima i dodaje prazan prostor,kako bi tekst bio jedan ispo drugog),meni treba komponenta u kojoj se moze napraviti dovoljno toliko kolona
da se moze upisati zaglavlje i naravno stavke koje dolaze jedna spod druge..
Hvala

Re: Stampanje iz TListView komponente 26.09.2007. u 15:10 · pre 232 meseca #15
> komponenta kao recimo Memo i ListBox1 ( ranije sam morao kroz kogd ,da mi sam program oduzima i dodaje prazan prostor,kako bi tekst
> bio jedan ispo drugog),meni treba komponenta u kojoj se moze napraviti dovoljno toliko kolona
> da se moze upisati zaglavlje i naravno stavke koje dolaze jedna spod druge..

Nisi odgovorio na pitanja koja će nam pomoći da ti bolje odgovorimo, dakle odakle dolaze ti podaci koje prikazuješ da li su u nekom datasetu (TTable, TQuery...), ako nisu u datasetu mogu li biti? Na osnovu pruženih informacija već si dobio odgovor, multicolumn ListBox može i preko TListBox ali mora se malo ići u WinApi (što tebi kao početniku verovatno ne leži), drugi predlog ti je TListView koji ti je OK za prikaz, neke druge mogućnosti su TStringGrid, TVirtualStringTree itd.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Stampanje iz TListView komponente 26.09.2007. u 15:16 · pre 232 meseca #16
Savkić ti je rekao da koristiš TDBGrid, te preporučujem da štampu vršiš na osnovu nekog Report Engine.
Tako ćeš štampati podatke iz TDBGrid -a, odnosno dataseta.
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: Stampanje iz TListView komponente 26.09.2007. u 15:30 · pre 232 meseca #17
Podaci se uzimaju iz TTable1, to radim sa petljom i ucitavam ih u Memo1,i sa petljom prolazim kroz Memo1 i saljem dalje na stampac ,ali mi dizajn racuna nije kako ja hocu,ja prethodno uradim u kodu izgled kako ce biti taj racun u memo1 komponenti. Desava mi se to da Naziv artikla (duzine 8 karaktera), pomjeri za osam karaktera "Iznos kolicine" i tako dalje ...
e sad bih ja htio ,bez pretjeranog koda da definisem i dodajem stavke ,a da se ne pomjera prethodni dio teksta..
Mislim da ce Vam biti jasnije ,nadam se Hvala na razumjevanju.
Re: Stampanje iz TListView komponente 26.09.2007. u 15:34 · pre 232 meseca #18
Upravu si sto se tice DBGrida, ja znam odlicno da radim sa QuickReport-om,ali ne zelim to hocu da imam POS racun
ne znam da li ste prijetili na programu POS PDV kasa Almedina Maleskica,ja sam razgovarao sa njim i kaze da je skinuo
komponentu sa neta i da to ide bez problema
Hvala
Re: Stampanje iz TListView komponente 26.09.2007. u 18:31 · pre 232 meseca #20
> Podaci se uzimaju iz TTable1, to radim sa petljom i ucitavam ih u Memo1,i sa petljom prolazim kroz Memo1 i saljem dalje na stampac ,ali mi dizajn
> racuna nije kako ja hocu,ja prethodno uradim u kodu izgled kako ce biti taj racun u memo1 komponenti. Desava mi se to da Naziv artikla
> (duzine 8 karaktera), pomjeri za osam karaktera "Iznos kolicine" i tako dalje ...

Šta će ti tu memo komponenta doista mi nije jasno, ovako gledano koristiš neka vrlo čudna rešanja, no ako tebi odgovaraju... Dakle problem ti je uravnanje teksta? Možeš to raditi preko Format funkcije kojoj se može proslediti broj slova koje svako mora imati. Sve ovo je već bilo ovde pa potraži u ranijim porukama.

> Upravu si sto se tice DBGrida, ja znam odlicno da radim sa QuickReport-om,ali ne zelim to hocu da imam POS racun

A POS račun je zapravo šta? Račun namenjen štampi na uskom POS štampaču (poput Epsona)? Možeš direktno slati na štampu ili možeš koristiti neku komponentu, beše Free/Fast report imaju specijalnu podršku. Takođe pogledaj ranije poruke, to je često pitanje.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme