Вниз
Скачать: 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.027 c
1-1080224141
alex732
2004-03-25 17:15
2004.04.11
Цвет текста в RichEdit


1-1080068851
DillerXX
2004-03-23 22:07
2004.04.11
Подскажите команду...


8-1070901178
Stexen
2003-12-08 19:32
2004.04.11
DSPack, Что не правильно делаю??


3-1079341319
HeoGtan
2004-03-15 12:01
2004.04.11
D7+DBExpress :-(


7-1075506145
ИМХО
2004-01-31 02:42
2004.04.11
Работа с Microsoft Outlook




   Наверх