Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизFastReport Найти похожие ветки
← →
Nemra (2004-04-20 15:01) [0]Всем привет.
Может кто знает?
Как програмно сменить принтер в FastReport-е.
← →
Nemra (2004-04-20 15:01) [0]Всем привет.
Может кто знает?
Как програмно сменить принтер в FastReport-е.
← →
ssk © (2004-04-20 15:28) [1]можно попробовать применить такой фокус: сначала сменить принтер по умочанию, а затем вызывать ФастРепорт
← →
ssk © (2004-04-20 15:28) [1]можно попробовать применить такой фокус: сначала сменить принтер по умочанию, а затем вызывать ФастРепорт
← →
Nemra (2004-04-20 16:12) [2]Нет, это не хорошо, другая программа тоже может работать и в момент смены принтера по умолчании, напечатать на другой принтер
← →
Nemra (2004-04-20 16:12) [2]Нет, это не хорошо, другая программа тоже может работать и в момент смены принтера по умолчании, напечатать на другой принтер
← →
Reindeer Moss Eater © (2004-04-20 16:26) [3]Есть метод SetPrinterTo(PrnName:string), правда приватный.
Но исходники же под рукой.
← →
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;
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c