📄 printers.pas
字号:
unit Printers;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls
type
TPrinterCanvas=class(TForm)
Printer: N.A.;
procedure CreateHandle(Sender : TObject);
procedure Changing(Sender : TObject);
procedure UpdateFont(TPrinterCanvas);(Sender : TObject);
procedure _PROC_0042E30C(Sender : TObject);
procedure _PROC_0042E348(Sender : TObject);
procedure _PROC_0042E3C4(Sender : TObject);
procedure _PROC_0042E4F0(Sender : TObject);
procedure _PROC_0042E560(Sender : TObject);
procedure _PROC_0042E5E8(Sender : TObject);
procedure _PROC_0042E61C(Sender : TObject);
procedure _PROC_0042E64C(Sender : TObject);
procedure _PROC_0042E689(Sender : TObject);
procedure _PROC_0042E8D0(Sender : TObject);
procedure _PROC_0042E8F0(Sender : TObject);
procedure _PROC_0042E904(Sender : TObject);
procedure _PROC_0042E920(Sender : TObject);
procedure _PROC_0042E93C(Sender : TObject);
procedure _PROC_0042E954(Sender : TObject);
procedure _PROC_0042EB94(Sender : TObject);
procedure _PROC_0042EDD1(Sender : TObject);
procedure _PROC_0042EDFC(Sender : TObject);
procedure _PROC_0042EE38(Sender : TObject);
procedure _PROC_0042EE40(Sender : TObject);
procedure _PROC_0042EE74(Sender : TObject);
procedure _PROC_0042EE9C(Sender : TObject);
procedure _PROC_0042F025(Sender : TObject);
procedure _PROC_0042F121(Sender : TObject);
procedure _PROC_0042F150(Sender : TObject);
procedure _PROC_0042F160(Sender : TObject);
procedure _PROC_0042E244(Sender : TObject);
procedure _PROC_0042EDDC(Sender : TObject);
private
{ Private declarations }
public
{ Public declarations }
end ;
var
PrinterCanvas: TPrinterCanvas;
{This file is generated by DaRk Ver 3.50.04 Copyright (c) 1999-2002 DaFixer}
implementation
{$R *.DFM}
procedure TPrinterCanvas.CreateHandle(Sender : TObject);
begin
(*
0042E280 53 push ebx
0042E281 8BD8 mov ebx, eax
0042E283 B201 mov dl, $01
* Reference to control Printer : N.A.
|
0042E285 8B4358 mov eax, [ebx+$58]
* Reference to: Printers.TPrinter.SetState(TPrinter;TPrinterState);
|
0042E288 E837010000 call 0042E3C4
0042E28D 8BC3 mov eax, ebx
* Reference to: Printers.TPrinterCanvas.UpdateFont(TPrinterCanvas);
|
0042E28F E830000000 call 0042E2C4
* Reference to control Printer : N.A.
|
0042E294 8B4358 mov eax, [ebx+$58]
0042E297 8B5020 mov edx, [eax+$20]
0042E29A 8BC3 mov eax, ebx
* Reference to: Graphics.TCanvas.SetHandle(TCanvas;HDC);
|
0042E29C E86B79FFFF call 00425C0C
0042E2A1 5B pop ebx
0042E2A2 C3 ret
*)
end;
procedure TPrinterCanvas.Changing(Sender : TObject);
begin
(*
0042E2A4 53 push ebx
0042E2A5 8BD8 mov ebx, eax
0042E2A7 B201 mov dl, $01
* Reference to control Printer : N.A.
|
0042E2A9 8B4358 mov eax, [ebx+$58]
* Reference to: Printers.TPrinter.CheckPrinting(TPrinter;Boolean);
|
0042E2AC E83F020000 call 0042E4F0
0042E2B1 8BC3 mov eax, ebx
* Reference to: DdeMan.TDdeServerConv.Connect(TDdeServerConv);
| or: Graphics.TCanvas.Changing(TCanvas);
| or: IBDatabase.TIBBase.DoBeforeTransactionEnd(TIBBase);
|
0042E2B3 E81C7AFFFF call 00425CD4
0042E2B8 8BC3 mov eax, ebx
* Reference to: Printers.TPrinterCanvas.UpdateFont(TPrinterCanvas);
|
0042E2BA E805000000 call 0042E2C4
0042E2BF 5B pop ebx
0042E2C0 C3 ret
*)
end;
procedure TPrinterCanvas.UpdateFont(TPrinterCanvas);(Sender : TObject);
begin
(*
0042E2C4 53 push ebx
0042E2C5 56 push esi
0042E2C6 57 push edi
0042E2C7 8BD8 mov ebx, eax
0042E2C9 6A5A push $5A
* Reference to control Printer : N.A.
|
0042E2CB 8B4358 mov eax, [ebx+$58]
0042E2CE 8B4020 mov eax, [eax+$20]
0042E2D1 50 push eax
* Reference to: gdi32.GetDeviceCaps()
|
0042E2D2 E89D93FDFF call 00407674
0042E2D7 8B730C mov esi, [ebx+$0C]
0042E2DA 3B461C cmp eax, [esi+$1C]
0042E2DD 7426 jz 0042E305
0042E2DF 8BC6 mov eax, esi
* Reference to: Graphics.TFont.GetSize(TFont):Integer;
|
0042E2E1 E83E6AFFFF call 00424D24
0042E2E6 8BF0 mov esi, eax
0042E2E8 6A5A push $5A
* Reference to control Printer : N.A.
|
0042E2EA 8B4358 mov eax, [ebx+$58]
0042E2ED 8B4020 mov eax, [eax+$20]
0042E2F0 50 push eax
* Reference to: gdi32.GetDeviceCaps()
|
0042E2F1 E87E93FDFF call 00407674
0042E2F6 8B7B0C mov edi, [ebx+$0C]
0042E2F9 89471C mov [edi+$1C], eax
0042E2FC 8BD6 mov edx, esi
0042E2FE 8BC7 mov eax, edi
* Reference to: Graphics.TFont.SetSize(TFont;Integer);
|
0042E300 E83B6AFFFF call 00424D40
0042E305 5F pop edi
0042E306 5E pop esi
0042E307 5B pop ebx
0042E308 C3 ret
*)
end;
procedure TPrinterCanvas._PROC_0042E30C(Sender : TObject);
begin
(*
0042E30C 53 push ebx
0042E30D 56 push esi
0042E30E 84D2 test dl, dl
0042E310 7408 jz 0042E31A
0042E312 83C4F0 add esp, -$10
* Reference to: System.@ClassCreate(TClass;Boolean):TObject;
|
0042E315 E8965BFDFF call 00403EB0
0042E31A 8BDA mov ebx, edx
0042E31C 8BF0 mov esi, eax
0042E31E 33D2 xor edx, edx
0042E320 8BC6 mov eax, esi
* Reference to: IdStack.TIdStack.Create(TIdStack;boolean);
| or: InvokeRegistry.ERemotableException.CreateRem(ERemotableException;boolean);
| or: System.TObject.Create(TObject;Boolean);
|
0042E322 E8F557FDFF call 00403B1C
0042E327 C74614FFFFFFFF mov dword ptr [esi+$14], $FFFFFFFF
0042E32E 8BC6 mov eax, esi
0042E330 84DB test bl, bl
0042E332 740F jz 0042E343
* Reference to: System.@AfterConstruction(TObject):TObject;
|
0042E334 E8CF5BFDFF call 00403F08
0042E339 648F0500000000 pop dword ptr fs:[$00000000]
0042E340 83C40C add esp, +$0C
0042E343 8BC6 mov eax, esi
0042E345 5E pop esi
0042E346 5B pop ebx
0042E347 C3 ret
*)
end;
procedure TPrinterCanvas._PROC_0042E348(Sender : TObject);
begin
(*
0042E348 53 push ebx
0042E349 56 push esi
* Reference to: System.@BeforeDestruction(TObject;Shortint):TObject;
|
0042E34A E8C95BFDFF call 00403F18
0042E34F 8BDA mov ebx, edx
0042E351 8BF0 mov esi, eax
0042E353 807E1C00 cmp byte ptr [esi+$1C], $00
0042E357 7407 jz 0042E360
0042E359 8BC6 mov eax, esi
* Reference to: Printers.TPrinter.EndDoc(TPrinter);
|
0042E35B E888020000 call 0042E5E8
0042E360 33D2 xor edx, edx
0042E362 8BC6 mov eax, esi
* Reference to: Printers.TPrinter.SetState(TPrinter;TPrinterState);
|
0042E364 E85B000000 call 0042E3C4
0042E369 8BC6 mov eax, esi
* Reference to: Printers.TPrinter.FreePrinters(TPrinter);
|
0042E36B E8240A0000 call 0042ED94
0042E370 8BC6 mov eax, esi
* Reference to: Printers.TPrinter.FreeFonts(TPrinter);
|
0042E372 E8590A0000 call 0042EDD0
0042E377 8B4604 mov eax, [esi+$04]
* Reference to: System.TObject.Free(TObject);
|
0042E37A E8CD57FDFF call 00403B4C
0042E37F 8B462C mov eax, [esi+$2C]
0042E382 85C0 test eax, eax
0042E384 7406 jz 0042E38C
0042E386 50 push eax
* Reference to: winspool.ClosePrinter()
|
0042E387 E8DCFAFFFF call 0042DE68
0042E38C 8B4628 mov eax, [esi+$28]
0042E38F 85C0 test eax, eax
0042E391 7414 jz 0042E3A7
0042E393 50 push eax
* Reference to: kernel32.GlobalUnlock()
|
0042E394 E8A390FDFF call 0040743C
0042E399 8B4628 mov eax, [esi+$28]
0042E39C 50 push eax
* Reference to: kernel32.GlobalFree()
|
0042E39D E87A90FDFF call 0040741C
0042E3A2 33C0 xor eax, eax
0042E3A4 894628 mov [esi+$28], eax
0042E3A7 8BD3 mov edx, ebx
0042E3A9 80E2FC and dl, $FC
0042E3AC 8BC6 mov eax, esi
* Reference to: System.TObject.Destroy(TObject;Boolean);
|
0042E3AE E88957FDFF call 00403B3C
0042E3B3 84DB test bl, bl
0042E3B5 7E07 jle 0042E3BE
0042E3B7 8BC6 mov eax, esi
* Reference to: System.@ClassDestroy(TObject);
|
0042E3B9 E8425BFDFF call 00403F00
0042E3BE 5E pop esi
0042E3BF 5B pop ebx
0042E3C0 C3 ret
*)
end;
procedure TPrinterCanvas._PROC_0042E3C4(Sender : TObject);
begin
(*
0042E3C4 55 push ebp
0042E3C5 8BEC mov ebp, esp
0042E3C7 83C4F8 add esp, -$08
0042E3CA 53 push ebx
0042E3CB 56 push esi
0042E3CC 57 push edi
0042E3CD 33C9 xor ecx, ecx
0042E3CF 894DF8 mov [ebp-$08], ecx
0042E3D2 8BDA mov ebx, edx
0042E3D4 8BF0 mov esi, eax
0042E3D6 33C0 xor eax, eax
0042E3D8 55 push ebp
* Possible String Reference to: '轾]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -