freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Εκτύπωση αποτελεσμάτων


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [6 Μηνύματα]      Bookmarks Tags: εκτύπωση Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
Ntzes


Μέλος από: 16 Ιουλ 2008
Μηνύματα: 13

View users profile
ΜήνυμαΣτις: 26 Αυγ 2008 02:21    Θέμα: Εκτύπωση αποτελεσμάτων Απάντηση με παράθεση  Mark this post and the followings unread

Υπαρχει εντολή που να μου στέλνει τα αποτελέσματα μετα την εκτελεση του αλγόριθμου στον εκτυπωτή μου???
soteres2002
S. & H. Moderator

Μέλος από: 05 Μαρ 2004
Βοηθήματα: 1
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Ιωάννινα
View users profile
ΜήνυμαΣτις: 26 Αυγ 2008 14:22    Θέμα: Re: Εκτύπωση αποτελεσμάτων Απάντηση με παράθεση  Mark this post and the followings unread

Σε Windows link to Windows ή Linux αναφέρεσαι; Αν μιλάς για Linux, αυτό γίνεται πολύ εύκολα κατά την κλήση του προγράμματος από ένα τερματικό σωληνώνοντας την έξοδο του προγράμματός σου (pipe) με το πρόγραμμα lp ή lpr, υπό την προϋπόθεση ότι έχει σεταριστεί σωστά κάποιος εκτυπωτής.

κώδικας:

$ ./myprogram | lp


ή

κώδικας:

$ ./myprogram | lpr


Koίτα και τα man pages αυτών των 2 εντολών για περισσότερες επιλογές. Αν γνωρίζεις σχετικά με διαχείριση διεργασιών και το POSIX interface αυτών, θα δείς ότι αυτό μπορεί να γίνει και μέσα από το πρόγραμμά σου. Πάντως, ανάλογα με το λογισμικό που ελέγχει τους εκτυπωτές σου υπάρχουν κατάλληλες βιβλιοθήκες ώστε να κάνεις το πρόγραμμά σου ανεξάρτητο από βοηθητικές εντολές. Πχ στο Linux μπορείς να χρησιμοποιήσεις την lib του cupsd για να επικοινωνείς με εκτυπωτές πχ μέσω ΙPP protocol κτλ, και φυσικά σου παρέχει και πιο δυνατές επιλογές από λύσεις του στυλ σωλήνωσης. Υπάρχει πλήρης τεκμηρίωση σε PDF και ΗΤΜL για το τελευταίο, και είναι πολύ απλή υπόθεση να την χρησιμοποιήσεις. Υπάρχουν επίσης και παραδείγματα για να ξεκινήσεις.

Αν αναφέρεσαι σε Windows τότε τα πράγματα είναι πιο δύσκολα, εκεί θες native κλήσεις από το λειτουργικό, και εννοείται πως υπάρχουν native C++ interfaces. Δεν υπάρχει καθαρός τρόπος να στείλεις δεδομένα στον εκτυπωτή, εκτός από κάποιο άλλο βοηθητικό πρόγραμμα. Αν θέλεις να κοιτάξεις ολοκληρωμένα παραδείγματα, ρίξε μια ματία στα Windows Platform SDK samples για την γλώσσα της επιλογής σου.
Ntzes


Μέλος από: 16 Ιουλ 2008
Μηνύματα: 13

View users profile
ΜήνυμαΣτις: 26 Αυγ 2008 20:16    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

ok tha to dokimaso sta Linux alla ithela na to do na leitourgei sta windows link to windows.
Psanxontas vrika tin parakaro methodo alla den 3ero kata poso mporei na doulepsei se USB printer....

παράθεση:
Sending Output to the Printer
How you print is now a function of your operating system. To print using Windows 95/98 or NT, you have to get your output to a print manager in the operating system.

To direct output to a printer, you must first open a file stream to send output to. You can do this using the same method that you use to send output to a file. First, declare a variable of type fstream. Then open the stream using the member function, open. Instead of opening the stream using the name of a file, use the name of your printer port, for example, "LPT1."

Once a file stream is open, you can print using the name of the stream variable followed by the << operator and the data you want to send to the printer. Be sure to close the stream when you no longer need to use it.

The example program below will send text to a printer on port LPT1.


κώδικας:
#include <fstream.h>

int main()

{
  ofstream print; // stream variable declaration
  print.open("LPT1"); // open stream

  // Print Text (the character ‘\f’ will produce a form feed)
  print << "This text will print on the printer.\f";
  print.close(); // close stream
  return 0;
}#include <fstream.h>

int main()

{
  ofstream print; // stream variable declaration
  print.open("LPT1"); // open stream

  // Print Text (the character ‘\f’ will produce a form feed)
  print << "This text will print on the <strong class="highlight">printer</strong>.\f";
  print.close(); // close stream
  return 0;
}

Important Note:
1-Blindly directing text to a printer port assumes some things are true.

It assumes that you have a printer attached to the specified port or that the port is being captured and redirected to a printer.
It assumes that the printer is capable of accepting plain text. For example, a PostScript printer will not print unless the data comes through a PostScript printer driver. The code above does not make use of any drivers.
another example this program traping function key F1 and F2


κώδικας:
# include<iostream.h>
# include<conio.h>
void function_key();            //prototype of the function
void main()
{
            function_key();         //function call
}
void function_key()              //function body
{
               int ret;
               ret = getch();         //get the ASCII value of the key pressed

                            if (ret == 0)
                            {
                               ret = getch()+256;

                                              switch(ret)                   //switch between various values of 'ret'
                                              {                                                       
                                                  case 315:
                                                  cout<<" F1 pressed!\n\n";
                                                  break;
                                                  case 316:
                                                  cout<<"F2 pressed!\n";
                                                  break;
                                                  case 317:
                                                  cout<<"F3 pressed!\n";
                                                  break;
                                                  case 318:
                                                  cout<<"F4 pressed!\n";
                                                  break;
                                                  case 319:
                                                  cout<<"F5 pressed!\n";
                                                  break;
                                                  case 320:
                                                  cout<<"F6 pressed!\n";
                                                  break;
                                                  case 321:
                                                  cout<<"F7 pressed!\n";
                                                  break;
                                                  case 322:
                                                  cout<<"F8 pressed!\n";
                                                  break;
                                                  case 323:
                                                  cout<<"F9 pressed!\n";
                                                  break;
                                                  case 324:
                                                  cout<<"F10 pressed!\n";
                                                 break;
                                                 default:
                                                 cout<<"Non function key was pressed!\n";
                                                 break;
                                            }
                                    }
                       else
                                cout<<"Non Function Key pressed!\n";

}# include<iostream.h>
# include<conio.h>
void function_key();            //prototype of the function
void main()
{
            function_key();         //function call
}
void function_key()              //function body
{
               int ret;
               ret = getch();         //get the ASCII value of the key pressed

                            if (ret == 0)
                            {
                               ret = getch()+256;

                                              switch(ret)                   //switch between various values of 'ret'
                                              {                                                       
                                                  case 315:
                                                  cout<<" F1 pressed!\n\n";
                                                  break;
                                                  case 316:
                                                  cout<<"F2 pressed!\n";
                                                  break;
                                                  case 317:
                                                  cout<<"F3 pressed!\n";
                                                  break;
                                                  case 318:
                                                  cout<<"F4 pressed!\n";
                                                  break;
                                                  case 319:
                                                  cout<<"F5 pressed!\n";
                                                  break;
                                                  case 320:
                                                  cout<<"F6 pressed!\n";
                                                  break;
                                                  case 321:
                                                  cout<<"F7 pressed!\n";
                                                  break;
                                                  case 322:
                                                  cout<<"F8 pressed!\n";
                                                  break;
                                                  case 323:
                                                  cout<<"F9 pressed!\n";
                                                  break;
                                                  case 324:
                                                  cout<<"F10 pressed!\n";
                                                 break;
                                                 default:
                                                 cout<<"Non function key was pressed!\n";
                                                 break;
                                            }
                                    }
                       else
                                cout<<"Non Function Key pressed!\n";
}
soteres2002
S. & H. Moderator

Μέλος από: 05 Μαρ 2004
Βοηθήματα: 1
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Ιωάννινα
View users profile
ΜήνυμαΣτις: 26 Αυγ 2008 22:37    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Αυτό δεν δουλεύει παντού, δουλεύει για συγκεκριμένες περιπτώσεις, ασχέτως αν δουλεύει σε σένα. Επίσης θα πρέπει να κάνεις probing σε όλες τις θύρες μέχρι να βρείς μια διαθέσιμη. Δουλεύει μόνο για τοπικούς εκτυπωτές, τί γίνεται άν υπάρχει ένας δικτυακός εκτυπωτής;; Τα Windows link to Windows έχουν SDK που παρέχει abstraction interface για εκτυπωτές.
Ntzes


Μέλος από: 16 Ιουλ 2008
Μηνύματα: 13

View users profile
ΜήνυμαΣτις: 27 Αυγ 2008 02:31    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Ap oti epsa3a opos eipes k esu gia diktuako printer ta pragmata einai sxetika diskola k me polu codika.
Alla se proti fasi auto pou me endiaferei einai na to doulepso se local USB printer.
Vrika loipon enan kodika pou mesa apo ton kodika mou mporei na mou dosei to apotelesma pou thelo, i toulaxiston etsi leei, giati vasika den mporo na to dokimaso auti ti stigmi gia na do stin pra3i an doulevei.

κώδικας:
filebuf fb( "prn:" ); // Filebuf object attached to "prn:"
filebuf fb( "prn:" ); // Filebuf object attached to "prn:"
cout = &fb; // fb associated with cout
cout << "testing"; // Text goes to PRN: not stdout


vevaia me mperdepse ligo giati den 3ero pos tha to prostheso se enan algorithmo i an tha prepei na kaleso kati allo prin apo auto...
soteres2002
S. & H. Moderator

Μέλος από: 05 Μαρ 2004
Βοηθήματα: 1
Νέα: 1
Scripts: 1
Μηνύματα: 256+

Περιοχή: Ιωάννινα
View users profile
ΜήνυμαΣτις: 28 Αυγ 2008 02:15    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

τα αποτελέσματα του αλγορίθμου σου πέρασέ τα σε μεταβλητές ή πίνακες, ή ότι άλλο χρησιμοποιείς πχ διανύσματα, και αφού γίνουν οι υπολογισμοί χρησιμοποίησε αυτό το snippet που έχεις πάνω για να τα στείλεις στον εκτυπωτή. Ο κώδικας που έχεις με λίγα λόγια λέει φτιάξε ένα stream για να επικοινωνώ με τον εκτυπωτή. Συσχέτισε την ροή εξόδου με αυτήν την ροή για τον εκτυπωτή, ώστε ό,τι γράφεις στην κύρια έξοδο να πηγαίνει στον εκτυπωτή για εκτύπωση. Ειναι σαν να ανοίγεις μια ροή σε αρχείο και να γράφεις σε αυτό, αλλά εδώ πρόκειται για συσκευή.
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [6 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Τώρα είναι 28 Μαρ 2017 19:38 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos