Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.036 c
1-1082723175
hair_fly
2004-04-23 16:26
2004.05.09
Вызов Pop-Up уменьшает загрузку процессора ???


1-1082413199
Mishenka
2004-04-20 02:19
2004.05.09
Символ в строках


6-1079372447
leonidus
2004-03-15 20:40
2004.05.09
Для чего нужен компонет IdAntiFreeze?


1-1082308700
Relaxxx
2004-04-18 21:18
2004.05.09
Очень хочу нацчится делать коасивое меня, в стиле OfficeXP


3-1082022725
Capricorn7B
2004-04-15 13:52
2004.05.09
Глюк в компоненте IBDataSet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский