begin process at 2010 02 10 03:21:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Périphériques

 > 

problème d'impression d'une form


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème d'impression d'une form

jeudi 17 février 2005 à 11:11:25 | problème d'impression d'une form

emeraudes

bonjour,

je débute en delphi et j'ai chercher sur les forums comment imprimer. j'ai trouvé divers éléments mais aucun ne correspond a ce que je recherche ou alors ne fonctionne pas.
j'utilise ce code :

Code:
procedure Tfm_cde.SpeedButton1Click(Sender: TObject);
var  bp : Tbitmap;
     rect : TRect;
 begin
 PrintDialog1.Execute;
  bp:=fm_cde.GetFormImage;
  printer.BeginDoc;
  rect.top:=15;
  rect.left:=15;
  rect.right:=printer.pageWidth-15;
  rect.bottom:=printer.pageHeight-15;
  printer.Canvas.StretchDraw(rect,bp);
  printer.EndDoc;
  bp.Free
end;


j'utilise un printdialog pour obtenir le fenetre de selection d'imprimant. mais ce code ne fonctionne pas. il me fait carrément planté mon pc et je suis obliger de redémarrer car plus rien ne fonctionne.
Aidez moi stv.
je continue de chercher sur les forums.
merci d'avance.
salutation


>>>> "Le génie n'existe pas sans un grain de folie"



jeudi 17 février 2005 à 12:18:21 | Re : problème d'impression d'une form

ni69

Membre Club
Tu peux directement appeler fm_cde.Print pour imprimer ta fiche

@+
Bonne Prog'
Nico


N'oubliez pas de cliquer sur
Réponse acceptée lorsque la réponse vous convient !
jeudi 17 février 2005 à 12:37:16 | Re : problème d'impression d'une form

emeraudes

merciiiiiii beaucoup ca marche
je n'y avais pas pensé mercii de ton aide.

bon prog a toi aussi et @ une prochaine fois peut etre.

>>>> "Le génie n'existe pas sans un grain de folie"



jeudi 17 février 2005 à 12:38:55 | Re : problème d'impression d'une form

emeraudes

encore un petit renseignement : tu ne serais pas comment je dois faire pour imprimer cette form en format A4 sans le bouton imprimer?
merci


>>>> "Le génie n'existe pas sans un grain de folie"



jeudi 17 février 2005 à 12:59:14 | Re : problème d'impression d'une form

ni69

Membre Club

Ce code te permet d'imprimer l'image de ta form en prenant le maximum de place sur la feuille (détection automatique de l'impression paysage ou portrait), tout en gardant les proportions :

procedure TForm1.Button1Click(Sender: TObject);
var
  FormImage: TBitmap;
  AspectRatio: Single;
  OutputWidth, OutputHeight: Single;
begin
  // Capture de l'image de la form
  FormImage := GetFormImage;

  // On définit l'orientation la mieux adaptée. Si c'est un carré, on choisit poLandscape
  Printer.Orientation := poLandscape;
  If FormImage.Height > FormImage.Width then Printer.Orientation := poPortrait;

  // Titre vu dans le gestionnaire d'impression
  Printer.Title := 'Impression de l''image de la form';
  // On veut qu'une feuille s'imprime
  Printer.Copies := 1;

  // Début du document
  Printer.BeginDoc;

  try
  // On prend le plus de place possible sur la feuille, tout en gardant les proportions
    OutputWidth := FormImage.Width;
    OutputHeight := FormImage.Height;
    AspectRatio := OutputWidth / OutputHeight;

    if (OutputWidth < Printer.PageWidth) and (OutputHeight < Printer.PageHeight) then
     begin
       if OutputWidth < OutputHeight then
        begin
         OutputHeight := Printer.PageHeight;
         OutputWidth := OutputHeight * AspectRatio;
        end
       else
        begin
         OutputWidth := Printer.PageWidth;
         OutputHeight := OutputWidth / AspectRatio;
        end
     end;

    if OutputWidth > Printer.PageWidth then
     begin
      OutputWidth := Printer.PageWidth;
      OutputHeight := OutputWidth / AspectRatio;
     end;
    if OutputHeight > Printer.PageHeight then
     begin
      OutputHeight := Printer.PageHeight;
      OutputWidth := OutputHeight * AspectRatio;
     end;

    // On dessine l'image de la form sur le canvas de l'imprimante
    Printer.Canvas.StretchDraw(Rect(0,0,Trunc(OutputWidth),Trunc(OutputHeight)),FormImage);
  finally
    // On démarre l'impression
    Printer.EndDoc;
    // On libère FormImage
    FormImage.Free;
  end;
end;

J'espère que ça t'ira

@+
Bonne Prog'
Nico


N'oubliez pas de cliquer sur
Réponse acceptée lorsque la réponse vous convient !
jeudi 17 février 2005 à 13:13:49 | Re : problème d'impression d'une form

emeraudes

merciii pour ton code mais ca ma fait plait planter mon pc et g du rallumer l'ordi.
comment dois je faire? pk ca a planter?
merci de ton aide

>>>> "Le génie n'existe pas sans un grain de folie"



jeudi 17 février 2005 à 13:36:00 | Re : problème d'impression d'une form

ni69

Membre Club
chez moi ça plante pas ....

@+
Bonne Prog'
Nico


N'oubliez pas de cliquer sur
Réponse acceptée lorsque la réponse vous convient !
jeudi 17 février 2005 à 13:58:53 | Re : problème d'impression d'une form

emeraudes

tu serais pas pk ca fait ca?


>>>> "Le génie n'existe pas sans un grain de folie"



jeudi 17 février 2005 à 14:04:58 | Re : problème d'impression d'une form

ni69

Membre Club
no dsl aucune idée...

@+
Bonne Prog'
Nico


N'oubliez pas de cliquer sur
Réponse acceptée lorsque la réponse vous convient !
jeudi 17 février 2005 à 14:24:38 | Re : problème d'impression d'une form

jmp77

Membre Club
Je viens te tester ton code Ni69 et il dechire tout je le garde de cote. Enfin tout ca pour dire que ca bug pas chez moi non plus.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.

1 2 3

Cette discussion est classée dans : code, fonctionne, rect, printer, bp


Répondre à ce message

Sujets en rapport avec ce message

Problème impression [ par bouba ] Bonjour, voici le code dont je me suis servis pour tester l'impression d'une simple chaine.procedure TfrmAssistantAvance.Button1Click(Sender: TObject) cacher une MDi [ par neko ] Bonjour tout le monde, vala, j'ai un petit probleme avec une form mdi:en effet, mon but est de cacher l'application pour la mettre dans le tray. Chose TTrackBar courbé [ par wyckit ] Bonjour Bonjour amis codeurs !Voila, je suis en association avec un grafiste de ma classe pour faire un lecteur mp3, et ce que je cherche c'est à fair [INDY] comment faire un 'POST' avec idHTTP?? [ par gamez ] salutje suis debutant et jaimerai apprendre l'emploi des requetes http et comment les mettre en oeuvre avec indy.en faisant cette requete via telnet P Problème avec des constantes [ par ToTo 44 ] Bonjour à tousvoilà j'ai un bout de code ou il y a des constantes qui sont incrémenté. donc le programme ne compil pas. Il parait que sous delphi 6 ca code ascii [ par michel6071 ] Débutant (je viens du VB) quel est la fonction qui permet d'extraire le code ascii d'un caractere dans une chaineexemplele toutou est blanc je souhait String, DLL et exportation de classe [ par Bilou972 ] Voici une chose que j'aurai du faire il y deja bien longtemps, je suis en bts info deuxieme annee, l examen approche et je suis toujours bloqué sur l' Problème avec une TComboBox [ par BlackWood ] Bonjour à tous,J'ai un problème au niveau d'une TComboBox déclarée dans le code (Pas sur la fiche quoi). Ca m'as l'air bien louche et si quelqu'un peu utilisation de code a barre [ par labchara ] salutJe cherche un algorithme pour creer des codes a barreset pouvoir aussi utiliser un lecteur de code a barres Remerciements Code HTML [ par ProphetKy ] Bonjour a tous,je voudrais faire un programme qui chercher une page HTML et la copie soit une mon HDD en fichier TXT ou il me la copie dans une variab


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales