voir zip
Télécharger le zip
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 *.resTu 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.
Oui une Api serait plus interessante du fait que ce programme ne marche pas avec Win 2000 (aucune imprimantes) !
J'ai testé et çà ne marche pas ...
comment forcer l'option impression recto verso de l'imprimante windowsMerci
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+
"-StrCat est moins rapide que de faire S := S1 + S2;"LolA++
j'ai modifier le programme mnt il marche avec la Base de Registreunit Unit1;interfaceuses 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);implementationuses Registry;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);begin//end;procedure Liste_Imprimante(Destino : TStrings);var RegCode : TRegistry; Str : String; vtCount, i : Integer;beginDestino.Clear;RegCode := TRegistry.Create;tryRegCode.RootKey := HKEY_CURRENT_USER;if RegCode.OpenKey('Software\Microsoft\Windows NT\CurrentVersion\Devices',False)then RegCode.GetValueNames(Destino);finallyRegCode.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;beginRegCode := TRegistry.Create;tryRegCode.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;finallyRegCode.CloseKey;RegCode.Free;end;end;procedure TForm1.BitBtn1Click(Sender: TObject);beginListe_Imprimante(ListBox1.Items);end;procedure TForm1.BitBtn2Click(Sender: TObject);beginif (ListBox1.ItemIndex <> -1)then Selectionne_Imprimante(ListBox1.Items[ListBox1.ItemIndex]);end;end.
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 768 membres 36 nouveaux aujourd'hui 15 441 membres club