Вниз
Скачать: CL | DM;

FastReport   Найти похожие ветки 

 
Nemra   (2004-04-20 15:01) [0]

Всем привет.
Может кто знает?
Как програмно сменить принтер в FastReport-е.


 
ssk ©   (2004-04-20 15:28) [1]

можно попробовать применить такой фокус: сначала сменить принтер по умочанию, а затем вызывать ФастРепорт


 
Nemra   (2004-04-20 16:12) [2]

Нет, это не хорошо, другая программа тоже может работать и в момент смены принтера по умолчании, напечатать на другой принтер


 
Reindeer Moss Eater ©   (2004-04-20 16:26) [3]

Есть метод SetPrinterTo(PrnName:string), правда приватный.
Но исходники же под рукой.


 
Nemra   (2004-04-20 18:34) [4]

Спасибо всем я нашел решение.

function PrepearePrinter(AfrReport:TfrReport; FPrinterName:string):boolean;
VAR P1,P2:integer;
begin
 p1 := GetPrinterIndex(GetDefaultPrinter);
 p2 := GetPrinterIndex(FPrinterName);
 if (p1 < 0) or (p2 < 0) then
   result := false
 else begin
   if (p1 <> p2) then
     AfrReport.ChangePrinter(GetPrinterIndex(GetDefaultPrinter),GetPrinterIndex(FPrinterName));
   result := true;
 end;
end;

function GetPrinterIndex(PrinterName: string):integer;
var
 I: Integer;
 aPrinter: TPrinter;
begin
 Result := -1;
   for I := 0 to Printer.Printers.Count - 1 do
     if Printer.Printers[i] = PrinterName then
       Result := i;
end;

function GetDefaultPrinter: string;
var ResStr: array[0..255] of Char;
   s:string;
begin
 GetProfileString("Windows", "device", "", ResStr, 255);
 s:= StrPas(ResStr);
 Delete(s, pos(",",s), length(s));
 Result := s;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
1-1082972991
Tech
2004-04-26 13:49
2004.04.11
Рекурсивный поиск


1-1082027236
$tranger
2004-04-15 15:07
2004.04.11
Закладка "SERVICES"


14-1082448808
Nick-From
2004-04-20 12:13
2004.04.11
21 элт монитор


3-1081800911
Mirror
2004-04-13 00:15
2004.04.11
EHLib


1-1079886820
Batoon
2004-03-21 19:33
2004.04.11
Тильда и VK_...




   Наверх