Вниз
Скачать: 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.96 c
1-1082841875
hiperLogun
2004-04-25 01:24
2004.04.11
Установка компонентов


6-1079581306
StPu
2004-03-18 06:41
2004.04.11
Кто знает ак загрузить банер


7-1079005742
bg8
2004-03-11 14:49
2004.04.11
Синхронизация приборов с помощью TTL логики


11-1060676166
Fktrc
2003-08-12 12:16
2004.04.11
Плавающий сбой в МСК (почти bug-report)


3-1079349068
Russko
2004-03-15 14:11
2004.04.11
AutoInc Field




   Наверх