IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

imprimer le contenu d'un fichier texte


Sujet :

Visual C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 92
    Points : 38
    Points
    38
    Par défaut imprimer le contenu d'un fichier texte
    Bonjour,
    Je suis en train de développer une application informatique sous Microsoft visual CPP .NET 2003.
    L'application doit imprimer le contenu d'un fichier texte.
    Alors je commenceà choisir mon imprimante, puis j'ouvre mon fichier par fopen, puis je lit chaque ligne puis utilise textout pour placer mon fichier dans ma page de mon imprimante.
    Bref, ca ne marche pas, car il ne m'imprime que la premiére ligne...
    meme si j'incrémente le pointeur pour la position du cy

    Bon, je suis sur qu'il existe une meilleur méthode, mais je ne l'a connait pas
    Donc je viens vous demander comment vous feriez pour imprimer le contenu d'un fichier texte ???
    Merci d'avance pour vos réponse !!

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    j'ai fais ça dans cet exemple :
    http://farscape.developpez.com/Sampl...er/TestPDF.zip
    qui est en relation avec ce tuto:
    http://farscape.developpez.com/tutoriels/PrinterPDF/

    tu peux facilement extraire le code d'impression du fichier texte...

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par astragoth
    puis je lit chaque ligne puis utilise textout pour placer mon fichier dans ma page de mon imprimante.
    Bref, ca ne marche pas, car il ne m'imprime que la premiére ligne...
    meme si j'incrémente le pointeur pour la position du cy
    Cy d'accord ; mais c'est une CView CScrollView ?
    Si tu affiches du texte avec TextOut en fait le HDC que tu obtiens à l'appel de CView::OnDraw il faut le capter et appeler CDC::IsPrinting ()
    En fait pour l'impression le CDC , au lieu que cela soit celui de l'écran c'est celui de l'imprimante.
    En fait tu dessines sur un écran virtuel de l'imprimante.

    Un petit exemple du MSDN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
     
    // get the default printer
    CPrintDialog dlg(FALSE);
    dlg.GetDefaults();
     
    // is a default printer set up?
    HDC hdcPrinter = dlg.GetPrinterDC();
    if (hdcPrinter == NULL)
    {
       MessageBox(_T("Buy a printer!"));
    }
    else
    {
       // create a CDC and attach it to the default printer
       CDC dcPrinter;
       dcPrinter.Attach(hdcPrinter);
     
       // call StartDoc() to begin printing
       DOCINFO docinfo;
       memset(&docinfo, 0, sizeof(docinfo));
       docinfo.cbSize = sizeof(docinfo);
       docinfo.lpszDocName = _T("CDC::StartDoc() Code Fragment");
     
       // if it fails, complain and exit gracefully
       if (dcPrinter.StartDoc(&docinfo) < 0)
       {
          MessageBox(_T("Printer wouldn't initalize"));
       }
       else
       {
          // start a page
          if (dcPrinter.StartPage() < 0)
          {
             MessageBox(_T("Could not start page"));
             dcPrinter.AbortDoc();
          }
          else
          {
             // actually do some printing
             CGdiObject* pOldFont = dcPrinter.SelectStockObject(SYSTEM_FONT);
     
             dcPrinter.TextOut(50, 50, _T("Hello World!"), 12);
     
             dcPrinter.EndPage();
             dcPrinter.EndDoc();
             dcPrinter.SelectObject(pOldFont);
          }
       }

    Citation Envoyé par astragoth
    Donc je viens vous demander comment vous feriez pour imprimer le contenu d'un fichier texte ???
    Merci d'avance pour vos réponse !!
    L'autre possibilité c'est un CRichEditCtrl voir MSDN qui est facile d'utilisation notamment pour charger des lignes de textes.

    Sinon l'exemple de génération de PDF donné par Farscape mais tu est dépendant d'une technologie tierce
    Dernière modification par hiko-seijuro ; 02/09/2006 à 12h11.

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    l'imprimante pdf c'etait un exemple !,
    la portion de code qui edite le texte n'a besoin que d'un DC .
    il est facile de la sortir de son contexte pour l'utiliser .


  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2003
    Messages : 171
    Points : 97
    Points
    97
    Par défaut
    Pour faire une fonctionnalité similaire que j'ai eu a faire sur un autre projet
    je me suis servi de l'exemple dont parle farscape je te conseille de t'y interessé

Discussions similaires

  1. Comment récupérer le contenu de plusieurs fichiers textes ?
    Par calimero2611 dans le forum Langage
    Réponses: 9
    Dernier message: 19/02/2006, 16h45
  2. imprimer le contenu d'un fichier
    Par duvi dans le forum Windows
    Réponses: 7
    Dernier message: 08/08/2005, 12h52
  3. affichage du contenu d'un fichier texte
    Par axel-erator dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 02/08/2005, 17h06
  4. Effacer le contenu d'un fichier texte...
    Par loupdeau dans le forum MFC
    Réponses: 2
    Dernier message: 09/05/2005, 16h28
  5. Réponses: 1
    Dernier message: 12/02/2003, 10h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo