[ maja91 @ 02.10.2006. 18:07 ] @
Pozdrav svima,
dakle kako da podatke iz neke *.txt datoteke odstampam preko printera?
[ toxi_programer @ 02.10.2006. 18:21 ] @
u notepadu:
file-> print.

:-D :-D :-D
[ maja91 @ 02.10.2006. 18:51 ] @
toxi_programeru, nisam te najbolje razumela... u notepadu napisem sta ? ...ime_file->print ? i kako da to sve pokrenem???
pozdrav.
[ android~paranoid @ 02.10.2006. 19:54 ] @
pusti mene toxi, znas da ne znas najbolje...
ides na File pa Open pa izaberes fajl i onda ides opet na File pa na Print.
[ maja91 @ 02.10.2006. 19:55 ] @
Hvala toxi. Uradjeno ,ali to sam znala i pre.
Mene interesuje da li postoji nacin da iz C++ programa posaljem neke podatke koje imam sacuvane u datoteci ,na printer?
[ IDE @ 02.10.2006. 21:38 ] @
Ako koristis BCB onda ucitaj datoteku u RichEdit
i stampaj sa RichEdit1->Print(ime)

*kad stampac bude htio odstampati tekst u RichEdit-u, morace tome sto stampa dati neko ime. E dace mu onako kako ti navedes u onoj zagradi

nadam se da si shvatila :-)
[ maja91 @ 03.10.2006. 19:49 ] @
Hvala IDE:
ja sam u BCB6 kreirala jedan RichEdit i jedan Button.
1. prvo ucitam datoteku primer.txt sa diska u RichEdit
2. zatim sadrzaj RichEdita posaljem na stampac kada kliknem na Button .... evo koda samo za dogadjaje :
Code:


[//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
char const *Path = "C:\\primer.txt";
  RichEdit2->Lines->LoadFromFile(Path);

}
//-----------------------------------------------------
[void __fastcall TForm1::Button1Click(TObject *Sender)
{
if(PrintDialog1->Execute())
RichEdit2->Print(Form1->Caption);

}
//---------------------------------------------------------------------------

]


i ovo RADI.
PITANJE: DA LI JE OVO JEDINI NACIN DA SE PODACI IZ NEKOG TXT FILE POSALJU IZ PROGRAMA NA PRINTER??
[ X Files @ 03.10.2006. 20:09 ] @
Što se tiče upotrebe FormCreate() događaja, pogledaj ovde:
http://www.elitesecurity.org/t129748-0#843689
http://www.elitesecurity.org/t164272-0#1068638

Što se tiče štampanja, pogledaj BCB Help: printer example

Evo neki moj stari aljkavi kod za štampanje stavki (selektovanih ili svih)
iz TListView kontrole. Iz primera možeš lako da uhvatiš logiku...

Code:

void TLanMsgMainForm::PrintItems( bool Selected )
{

   ListView->Enabled = false;

   int margin_pixels = 30;

   Printer()->BeginDoc();

   if ( Selected )
      Printer()->Title = X(IDS_SER_MAIN_PRINTING_SELECTED);
   else
      Printer()->Title = X(IDS_SER_MAIN_PRINTING_ALL);


   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();

   ListView->Enabled = true;

}



[Ovu poruku je menjao X Files dana 03.10.2006. u 21:48 GMT+1]
[ IDE @ 03.10.2006. 21:55 ] @
Citat:

PITANJE: DA LI JE OVO JEDINI NACIN DA SE PODACI IZ NEKOG TXT FILE POSALJU IZ PROGRAMA NA PRINTER??


Naravno da nije...

npr. mozes i ovako odstampati fajl:

Code:

String fajl ="C:\\primer.txt";
ShellExecute(0,"print",fajl.c_str(),"","",1);

i to bez otvaranja prethodno tog teksta...
ma ne znam, ima vjeovatno mnogo mnogo nacina za odstampati nesto...

Jedan predlog:

Nauci da koristis klasu TString za rad sa stringovima...Mnogo je lakse od "char const *Path =..."
[ SuPeR_MaSteR @ 04.10.2006. 21:29 ] @
A mozes i koristiti izlazne funkcije samo kao argument prosledi da salje na stampac.
npr:
Code:

fputc(imeVar,stdprn);

Mada ovo nije bas OO stil :)
[ maja91 @ 06.10.2006. 17:25 ] @
Hvala puno svima!