> Tous les forumsAutres langages

 besoin d'aide
Statut du sujet : NON RESOLU Imprimer
 sorin_
  Posté le 08/11/2005 @ 11:43  
 Petit astucien

159 Messages
salut, j'ai besoin de la meme chose mais en tout sauf delphi svp (c'est pour sauvegarder la configuration de l imprimante) merci { Create a unit PrinterSetup and place code in this unit Do the following to save the printer config to file } procedure TForm1.Button1Click(Sender: TObject); var PrinterSetup: TPrinterSetup begin PrinterSetup := TPrinterSetup.Create; PrinterSetup.SaveSetup(FileName); //where file name is a string to the location of the File ex.'c:\print.cfg' PrinterSetup.Free; end {***********************************} unit PrinterSetup; interface uses printers, windows, SysUtils, Classes, WinSpool; type TPrinterSetup = class private Device, Driver, Port: array[0..CCHDEVICENAME] of char; DeviceMode: THandle; procedure Refresh; protected public procedure SaveSetup(FileName: TFilename); procedure LoadSetup(FileName: TFilename); end; TPrinterConfig = record ADevice, ADriver, APort: array[0..CCHDEVICENAME] of char; SizeOfDeviceMode: DWORD; end; implementation procedure TPrinterSetup.Refresh; begin Printer.GetPrinter(Device, Driver, Port, DeviceMode); end; procedure TPrinterSetup.SaveSetup(FileName: TFilename); var StubDevMode: TDeviceMode; SetupPrinter: TPrinterConfig; FPrinterHandle: THandle; fFileConfig: file of TPrinterConfig; fFileDevMode: file of Char; pDevMode: PChar; Contador: Integer; begin Refresh; with SetupPrinter do begin StrLCopy(ADevice, Device, SizeOf(ADevice)); StrLCopy(ADriver, Driver, SizeOf(ADriver)); StrLCopy(APort, Port, SizeOf(APort)); OpenPrinter(Device, FPrinterHandle, nil); SizeOfDeviceMode := DocumentProperties(0, FPrinterHandle, Device, StubDevMode, StubDevMode, 0); end; AssignFile(fFileConfig, FileName); ReWrite(fFileConfig); Write(fFileConfig, SetupPrinter); CloseFile(fFileConfig); AssignFile(fFileDevMode, FileName); Reset(fFileDevMode); Seek(fFileDevMode, FileSize(fFileDevMode)); pDevMode := GlobalLock(DeviceMode); for Contador := 0 to SetupPrinter.SizeOfDeviceMode - 1 do begin Write(fFileDevMode, pDevMode[Contador]); end; CloseFile(fFileDevMode); GlobalUnLock(DeviceMode); end; procedure TPrinterSetup.LoadSetup(FileName: TFilename); var SetupPrinter: TPrinterConfig; fFileConfig: file of TPrinterConfig; fFileDevMode: file of Char; ADeviceMode: THandle; pDevMode: PChar; Contador: Integer; begin if FileExists(FileName) then begin AssignFile(fFileConfig, FileName); Reset(fFileConfig); read(fFileConfig, SetupPrinter); CloseFile(fFileConfig); AssignFile(fFileDevMode, FileName); Reset(fFileDevMode); Seek(fFileDevMode, SizeOf(SetupPrinter)); ADeviceMode := GlobalAlloc(GHND, SetupPrinter.SizeOfDeviceMode); pDevMode := GlobalLock(ADeviceMode); for Contador := 0 to SetupPrinter.SizeOfDeviceMode - 1 do begin read(fFileDevMode, char(pDevMode[Contador])); end; CloseFile(fFileDevMode); GlobalUnLock(ADeviceMode); Printer.SetPrinter(SetupPrinter.ADevice, SetupPrinter.ADriver, SetupPrinter.APort, ADeviceMode); end; end;
 Afficher le profil de sorin_Envoyer un message privé à sorin_
 
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Les sujets pertinents liés
Logiciel en réseau
Rollover à distance sur flash cs3
besoin d'aide c++
Quels language ? PSP
message de securité sur easyphp...Help !
[SQL access] besoin d'aide pour une requete
demande aide prog vb.net
besoin d'aide svp
Besoin d'aide
besoin d'aide sur un client d'un jeu
Besoin d'aide pour un programme
[C]Exo sur les graphes
Aide pour un affichage correcte
Classe abstraite,interface
Commande shell à écrire en C
Labview
C
 
Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !



 > Tous les forumsAutres langages

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page