> ili mogu da podesim nekako da ova moja aplikacija zapamti sa kojeg stampaca da stampa i da uvek stampa na tom stampacu?
Možeš koristiti ovakvu funkciju, trebaš joj proslediti pun naziv štampača koji si negde ranije sačuvao.
Code:
procedure SetPrinterName(const APrinter: string);
var
Device, Driver, Port: array[0..254] of Char;
PrintHandle: THandle;
begin
// Podesavamo naziv stampaca, ako stampac ne postoji bice selektovan default stampac
if APrinter = '' then
Printer.PrinterIndex := -1 // Stampacemo pomocu default stampaca
else
Printer.PrinterIndex := Printer.Printers.IndexOf(APrinter);
// Forsiramo ispravnu incizijalizaciju stampaca jer ponekad nije dovoljno samo koristiti PrinterIndex
Printer.GetPrinter(Device, Driver, Port, PrintHandle);
Printer.SetPrinter(Device, Driver, Port, 0);
end;
> 2. Kako u stvari da iskoristim ovu drugu komponentu da bi ostampao tekst iz Memo komponente (bilo ucitan iz nekog fajla bilo otkucan, mada
Nikako, to nisu komponente za štampanje već odabir i podešavanje štampača. Možeš koristiti TRichEdit i njegovu Print metodu.
> 3. Sta bi bilo kad bi hteo neki komplikovaniji fajl da odtampam, na primer word ili pdf? Kako bi njih ucitao, preko cega? Da li uopste
> moram ove fajlove (.txt, .doc, .pdf) da ucitavam da bi ih stampao?
Ne moraš ako na ciljnom računaru postoji program koji ih može hendlovati (Word, AcrobatReader), dovoljno je da pozoveš ovo:
ShellExecute(0, 'print', PChar(PunaPutanjaDoFajla), nil, nil, SW_SHOWNORMAL);