cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 2005
-
4 févr. 2003 à 13:36
haceneking
Messages postés5Date d'inscriptionsamedi 17 mai 2008StatutMembreDernière intervention23 juillet 2010
-
24 août 2010 à 03:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
haceneking
Messages postés5Date d'inscriptionsamedi 17 mai 2008StatutMembreDernière intervention23 juillet 2010 24 août 2010 à 03:44
g un ptit soucis
avec quickreport il ne garde pas les paramettres que j'ai modifier dans printersetup
il imprime toujours avec les paramettres par défaut
pourriez vous me renseigner comment qu'avec quickreport je peux imprimer avec les modifications dans configuration de l'imprimante
salimdz2004
Messages postés68Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention12 janvier 2011 20 avril 2007 à 03:23
j'ai modifier le programme mnt il marche avec la Base de Registre
procedure TForm1.FormCreate(Sender: TObject);
begin
//
end;
procedure Liste_Imprimante(Destino : TStrings);
var
RegCode : TRegistry;
Str : String;
vtCount, i : Integer;
begin
Destino.Clear;
RegCode := TRegistry.Create;
try
RegCode.RootKey := HKEY_CURRENT_USER;
if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Devices',False)
then RegCode.GetValueNames(Destino);
finally
RegCode.CloseKey;
RegCode.Free;
end;
end;
procedure Selectionne_Imprimante(Imprimante : String);
var
RegCode : TRegistry;
Str, Str1 : String;
Arr_Tmp : Array[0..64] of Char;
vtCount, i : Integer;
begin
RegCode := TRegistry.Create;
try
RegCode.RootKey := HKEY_CURRENT_USER;
if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Devices',False)
then begin
if RegCode.ValueExists(Imprimante)
then begin
Str1 := RegCode.ReadString(Imprimante);
Str := Imprimante + ',' + Str1;
RegCode.CloseKey;
RegCode.RootKey := HKEY_CURRENT_USER;
if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Windows',False)
then begin
if RegCode.ValueExists('Device')
then RegCode.WriteString('Device',Str);
//Windows Refresh changes :
StrCopy(Arr_Tmp, 'windows');
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@Arr_Tmp));
end;
end;
end;
finally
RegCode.CloseKey;
RegCode.Free;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Liste_Imprimante(ListBox1.Items);
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if (ListBox1.ItemIndex <> -1)
then Selectionne_Imprimante(ListBox1.Items[ListBox1.ItemIndex]);
end;
end.
hexanium
Messages postés32Date d'inscriptionmercredi 20 avril 2005StatutMembreDernière intervention26 septembre 2005 14 févr. 2006 à 10:17
"-StrCat est moins rapide que de faire S := S1 + S2;"
Lol
A++
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 28 oct. 2005 à 14:47
Je ne connais pas d' API qui fasse ce travail ...
Désolé que ça ne marche pas sous Win2000.
Je confirme par contre que sous Win95/98/XP ça marche bien!!!
Aucune idée YvesSimon, cette option étant personnelle à chaque imprimante, je te conseille de voir s' il n' existe pas un fichier de config' de ton imprimante ou si les options sont gravées sous le Registry. Ainsi, tu pourras changer la valeur selon tes besoins.
A+
yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017 28 oct. 2005 à 14:41
comment forcer l'option impression recto verso de l'imprimante windows
Merci
adjena
Messages postés41Date d'inscriptionvendredi 7 mai 2004StatutMembreDernière intervention 4 juin 2007 24 août 2004 à 08:31
J'ai testé et çà ne marche pas ...
cs_touareg
Messages postés4Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention 6 mai 2009 10 avril 2003 à 16:30
Oui une Api serait plus interessante du fait que ce programme ne marche pas avec Win 2000 (aucune imprimantes) !
cs_Bestiol
Messages postés833Date d'inscriptiondimanche 6 janvier 2002StatutMembreDernière intervention 3 novembre 20051 4 févr. 2003 à 13:36
Dis... Ton site et les commentaires de ton sources sont en espagnol... T'as pas des versions françaises ?!!
Sinon, deux/trois remarques :
-Le code est intéressant... N'y a-t-il pas, par contre, une API windows qui permet de faire le travail ?
-StrCat est moins rapide que de faire S := S1 + S2;
-Dans ton ZIP, tu n'as besoin que de quelques fichiers :
-les *.pas et *.dfm
-le *.dpr
-le *.res
Tu peux mettre les autres fichiers créés par Delphi, mais ils ne servent pas vraiment, et seront pour la plupart regénérés à la compilation du projet...
24 août 2010 à 03:44
avec quickreport il ne garde pas les paramettres que j'ai modifier dans printersetup
il imprime toujours avec les paramettres par défaut
pourriez vous me renseigner comment qu'avec quickreport je peux imprimer avec les modifications dans configuration de l'imprimante
20 avril 2007 à 03:23
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Inifiles;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
procedure Liste_Imprimante(Destino : TStrings);
procedure Selectionne_Imprimante(Imprimante : String);
implementation
uses Registry;
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
//
end;
procedure Liste_Imprimante(Destino : TStrings);
var
RegCode : TRegistry;
Str : String;
vtCount, i : Integer;
begin
Destino.Clear;
RegCode := TRegistry.Create;
try
RegCode.RootKey := HKEY_CURRENT_USER;
if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Devices',False)
then RegCode.GetValueNames(Destino);
finally
RegCode.CloseKey;
RegCode.Free;
end;
end;
procedure Selectionne_Imprimante(Imprimante : String);
var
RegCode : TRegistry;
Str, Str1 : String;
Arr_Tmp : Array[0..64] of Char;
vtCount, i : Integer;
begin
RegCode := TRegistry.Create;
try
RegCode.RootKey := HKEY_CURRENT_USER;
if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Devices',False)
then begin
if RegCode.ValueExists(Imprimante)
then begin
Str1 := RegCode.ReadString(Imprimante);
Str := Imprimante + ',' + Str1;
RegCode.CloseKey;
RegCode.RootKey := HKEY_CURRENT_USER;
if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Windows',False)
then begin
if RegCode.ValueExists('Device')
then RegCode.WriteString('Device',Str);
//Windows Refresh changes :
StrCopy(Arr_Tmp, 'windows');
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@Arr_Tmp));
end;
end;
end;
finally
RegCode.CloseKey;
RegCode.Free;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Liste_Imprimante(ListBox1.Items);
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if (ListBox1.ItemIndex <> -1)
then Selectionne_Imprimante(ListBox1.Items[ListBox1.ItemIndex]);
end;
end.
14 févr. 2006 à 10:17
Lol
A++
28 oct. 2005 à 14:47
Désolé que ça ne marche pas sous Win2000.
Je confirme par contre que sous Win95/98/XP ça marche bien!!!
Aucune idée YvesSimon, cette option étant personnelle à chaque imprimante, je te conseille de voir s' il n' existe pas un fichier de config' de ton imprimante ou si les options sont gravées sous le Registry. Ainsi, tu pourras changer la valeur selon tes besoins.
A+
28 oct. 2005 à 14:41
Merci
24 août 2004 à 08:31
10 avril 2003 à 16:30
4 févr. 2003 à 13:36
Sinon, deux/trois remarques :
-Le code est intéressant... N'y a-t-il pas, par contre, une API windows qui permet de faire le travail ?
-StrCat est moins rapide que de faire S := S1 + S2;
-Dans ton ZIP, tu n'as besoin que de quelques fichiers :
-les *.pas et *.dfm
-le *.dpr
-le *.res
Tu peux mettre les autres fichiers créés par Delphi, mais ils ne servent pas vraiment, et seront pour la plupart regénérés à la compilation du projet...
Bonne continuation !
Bestiol.