Ovo je ukratko, a o čemu se rad:
Radim ispis na matrični štampać preko:
AssignFile(fPrinter, 'LPT1');
WriteLn(fPrinter, 'Neki tekst...');
Kreirao sam klasu tLPTPrinter u kojoj definiram sve što mi treba... komande kodove itd.
Klas tLPTPrinter sadrži klasu CommandCode u kojoj su svi potrebni kodovi definirani kao string-ovi, a pristupa im se preko property-y
tComandCode = class
private
fReset: string;
fPaperLength: string;
...
public
property Reset: string read fReset write fReset;
property PaperLength: string read fPaperLength write fPaperLength;
...
end;
tLPTPrinter= class
...
fCommandCode: tCommandCode;
public
property CommandCode: tCommandCode read fCommandCode write fCommandCode;
end;
U konstruktoru tLPTPrinter klase kreiram objekt fCommandCode i dodjeljujem mu inicijalne vrijednosti.
Kako postići da se u programu kada se napiše:
MyPrinter.CommandCode. (MyPrinter je objekt tipa tLPTPrinter.)
vide samo definirani property-i (u ovom slučaju: Reset i PaperLength)?
Sada, ovako kako je napisano, nudi puno toga, a što se siguno ne treba (i ne smije) pozivati iz programa.
Da li CommandCode definirati nekako drugačije, a ne kao klasu?
Želio bih da mi u programu setiranje komandih kodova ostane na način npr:
MyPrinter.CommandCode.Reset := #27 + #64;