PDA

View Full Version : اين خط از برنامه چه كاري انجام ميده



afsharan
یک شنبه 23 آبان 1389, 09:51 صبح
با سلام
در يك برنامه كه با دلفي نوشته شده براي پرينت گرفتن از اين خط برنامه استفاده شده
اگه ميشه نحوه كار برام توضيح بدين

Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,110^BCN ,85,N,Y,N^FR^FD>;'+pserial+'^FS^Fo10,200^A0q,50,40^CI0^FR^FD'+pser ial+'^FS ^Fo20,70^A0N,45,35^CI0^FR^FD'+EDIT2.TEXT+' '+EDIT5.TEXT+' '+EDIT23.TEXT+'^FS ^Fo310,35^A0R,35,35^CI0^FR^FDT. '+COPY(edit1.text,1,6)+' '+EDIT34.TEXT+'^FS ^Fo20,30^A0n,30,20^CI0^FR^FDSIZE : ^FS ^Fo70,25^A0n,40,30^CI0^FR^FD'+edit4.text+' '+ EDIT22.TEXT+'^FS^XZ');

Mahmood_M
یک شنبه 23 آبان 1389, 15:42 عصر
دستور WriteLn یک خط ( متن ) رو درون یک فایل متنی ( Text ) می نویسه ، متنش این هست :

'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY^LH0,0^FS^CWI,X 00FNCUY.FNT^FS^BY2,4.0^FO40,110^BCN,85,N,Y,N^FR^FD>;'+pserial+'^FS^Fo10,200^A0q,50,40^CI0^FR^FD'+pser ial+'^FS ^Fo20,70^A0N,45,35^CI0^FR^FD'+EDIT2.TEXT+' '+EDIT5.TEXT+' '+EDIT23.TEXT+'^FS ^Fo310,35^A0R,35,35^CI0^FR^FDT. '+COPY(edit1.text,1,6)+' '+EDIT34.TEXT+'^FS ^Fo20,30^A0n,30,20^CI0^FR^FDSIZE : ^FS ^Fo70,25^A0n,40,30^CI0^FR^FD'+edit4.text+' '+ EDIT22.TEXT+'^FS^XZ'
البته درون متن ، مقادیری رو از درون چند Edit می خونه و به متن اضافه میکنه ...
MyFile هم متغیری هست که به فایل متنی اشاره میکنه و نوشتن روی اون انجام میشه ...

موفق باشید ...

afsharan
دوشنبه 24 آبان 1389, 07:24 صبح
سلام
اين قسمت از برنامه براي پرينت گرفتن يك باركد مي باشد چه جوري
اين اطلاعات براي پرينتر ارسال ميشه

procedure Ttage1.abcMouseLabel5Click(Sender: TObject);

var
MyFile: TEXTfile;
r21,found:boolean;
pcode,dat1,pserial,PTOOL,tuedit4:string;
PRNFile: file of byte;
input : file of byte;
NumRead, NumWritten: Integer;
Buf: array[1..50000] of byte;
begin
TABLE8.Active:=TRUE;
table5.Active:=true;
AssignFile(PrnFile, 'PRN');
Rewrite(PrnFile);
AssignFile(input, 'jan2.ZPL');
Reset(input);
repeat
BlockRead(input, Buf, SizeOf(Buf), NumRead);
BlockWrite(PRNFile, Buf, NumRead, NumWritten);
until (NumRead = 0) or (NumWritten <> NumRead);
CloseFile(input);
CloseFile(prnFile);


AssignFile(MyFile, 'PRN');
table8.indexname:='TAGE';
found:=table8.FindKey([edit1.text]);
if found then BEGIN
r21:=true;
while r21=true do begin
pcode:= table8.fieldbyname('code').asstring;
dat1:=table8.fieldbyname('dat').asstring;
pserial:=table8.fieldbyname('serial').asstring;
PTOOL:=table8.fieldbyname('TOOL').asstring;

Rewrite(MyFile);
if copy(pserial,15,1)<>'3' then BEGIN
IF PTOOL='0' THEN BEGIN
Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,110^BCN ,85,N,Y,N^FR^FD>;'+pserial+'^FS^Fo10,200^A0q,50,40^CI0^FR^FD'+pser ial+'^FS ^Fo20,70^A0N,45,35^CI0^FR^FD'+EDIT2.TEXT+' '+EDIT5.TEXT+' '+EDIT23.TEXT+'^FS ^Fo310,35^A0R,35,35^CI0^FR^FDT. '+COPY(edit1.text,1,6)+' '+EDIT34.TEXT+'^FS ^Fo20,30^A0n,30,20^CI0^FR^FDSIZE : ^FS ^Fo70,25^A0n,40,30^CI0^FR^FD'+edit4.text+' '+ EDIT22.TEXT+'^FS^XZ');

END
ELSE
BEGIN
Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,110^BCN ,85,N,Y,N^FR^FD>;'+pserial+'^FS^Fo10,200^A0q,50,40^CI0^FR^FD'+pser ial+'^FS ^Fo20,70^A0N,45,35^CI0^FR^FD'+EDIT2.TEXT+' '+EDIT5.TEXT+' '+EDIT23.TEXT+'^FS ^Fo310,35^A0R,35,35^CI0^FR^FDT. '+COPY(edit1.text,1,6)+' '+EDIT34.TEXT+'^FS ^Fo20,30^A0n,30,20^CI0^FR^FDSIZE : ^FS ^Fo70,25^A0n,40,30^CI0^FR^FD'+edit4.text+PTOOL+' '+ EDIT22.TEXT+'^FS^XZ');
END;
END;
/////tarash
if copy(pserial,15,2)='36' then
Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,145^BCN ,60,N,Y,N^FR^FD>;'+pserial+'^FS^Fo30,215^A0n,35,35^CI0^FR^FD'+pser ial+'^FS ^Fo20,115^A0n,35,35^CI0^FR^FD'+pcode+'^FS ^Fo20,20^A0n,35,35^CI0^FR^FDTrace No. '+COPY(edit1.text,1,6)+'^FS ^CWL,W207TGO2.FNT^FS^FO28,40^ALN,67,0^CI0^FR^FDtBk Q^FS ^CWJ,V10Y_FSG.FNT^FS^FO206,55^AJN,43,0^CI0^FR^FD ØI OvÄlCI^FS ^XZ');
////// rofo
if copy(pserial,15,2)='31' then
Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,145^BCN ,60,N,Y,N^FR^FD>;'+pserial+'^FS^Fo30,215^A0n,35,35^CI0^FR^FD'+pser ial+'^FS ^Fo20,115^A0n,35,35^CI0^FR^FD'+pcode+'^FS ^Fo20,20^A0n,35,35^CI0^FR^FDTrace No. '+COPY(edit1.text,1,6)+'^FS ^CWL,W207TGO2.FNT^FS^ ^CWJ,V10Y_FSG.FNT^FS^FO206,55^AJN,43,0^CI0^FR^FD ØI OvÄlCI^FS ^CWI,_207TGO2.FNT^FS^FO92,44^AIN,69,0^CI0^FR^FDÔ j^FS ^XZ');

/////// ahar
if copy(pserial,15,2)='34' then
Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,145^BCN ,60,N,Y,N^FR^FD>;'+pserial+'^FS^Fo30,215^A0n,35,35^CI0^FR^FD'+pser ial+'^FS ^Fo20,115^A0n,35,35^CI0^FR^FD'+pcode+'^FS ^Fo20,20^A0n,35,35^CI0^FR^FDTrace No. '+COPY(edit1.text,1,6)+'^FS ^CWL,W207TGO2.FNT^ ^CWJ,V10Y_FSG.FNT^FS^FO206,55^AJN,43,0^CI0^FR^FD ØI OvÄlCI^FS ^CWK,N207TGO2.FNT^FS^FO76,44^AKN,61,0^CI0^FR^FDjC D^FS ^XZ');

//////zigzag
if copy(pserial,15,2)='32' then
Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,145^BCN ,60,N,Y,N^FR^FD>;'+pserial+'^FS^Fo30,215^A0n,35,35^CI0^FR^FD'+pser ial+'^FS ^Fo20,115^A0n,35,35^CI0^FR^FD'+pcode+'^FS ^Fo20,20^A0n,35,35^CI0^FR^FDTrace No. '+COPY(edit1.text,1,6)+'^FS ^CWL,W207TGO2.FNT^FS^ ^CWJ,V10Y_FSG.FNT^FS^FO206,55^AJN,43,0^CI0^FR^FD ØI OvÄlCI^FS ^CWL,W207TGO2.FNT^FS^FO32,44^ALN,67,0^CI0^FR^FDÁB mÃâl^FS ^XZ');

////////// RANG
if copy(pserial,15,2)='35' then
Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,145^BCN ,60,N,Y,N^FR^FD>;'+pserial+'^FS^Fo30,215^A0n,35,35^CI0^FR^FD'+pser ial+'^FS ^Fo20,115^A0n,35,35^CI0^FR^FD'+pcode+'^FS ^Fo20,20^A0n,35,35^CI0^FR^FDTrace No. '+COPY(edit1.text,1,6)+'^FS ^CWL,W207TGO2.FNT^FS^ ^CWJ,V10Y_FSG.FNT^FS^FO206,55^AJN,43,0^CI0^FR^FD ØI OvÄlCI^FS ^CWK,N207TGO2.FNT^FS^FO34,42^AKN,61,0^CI0^FR^FDÂ j £e^FS ^XZ');
if copy(pserial,15,2)='33' then
Writeln(MyFile,'^XA^PRE^LH0,0^FS^LL28^LT0^MD15^MNY ^LH0,0^FS^CWI,X00FNCUY.FNT^FS^BY2,4.0^FO40,145^BCN ,60,N,Y,N^FR^FD>;'+pserial+'^FS^Fo30,215^A0n,35,35^CI0^FR^FD'+pser ial+'^FS ^Fo20,115^A0n,35,35^CI0^FR^FD'+pcode+'^FS ^Fo20,20^A0n,35,35^CI0^FR^FDTrace No. '+COPY(edit1.text,1,6)+'^FS ^CWL,W207TGO2.FNT^FS^ ^CWJ,V10Y_FSG.FNT^FS^FO206,55^AJN,43,0^CI0^FR^FD ØI OvÄlCI^FS ^CWM,F207TGO2.FNT^FS^FO12,50^AMN,57,0^CI0^FR^FDßl Óf Øvâj^FS ^XZ');

sleep(300);
table8.Next;
if table8.fieldbyname('TAGE').asSTRING<>EDIT1.TEXT then
r21:=false;
if table8.Eof then
r21:=false;
end;
end;

CloseFile(MyFile);


table8.Active:=false;
TABLE1.IndexName:='DAT';
TABLE1.Last;

end;

vcldeveloper
دوشنبه 24 آبان 1389, 17:56 عصر
چه جوري
اين اطلاعات براي پرينتر ارسال ميشه
از طریق همون MyFile. اون در واقع روی PRN (یعنی پرینتر) Map شده. در نتیجه هر چی درش بنویسید، عملا میره به پرینتر.

afsharan
سه شنبه 25 آبان 1389, 12:04 عصر
سلام
ببخشيد من اطلاعاتم در اين ضمينه كمه ميشه كمي بيشتر توضيح بدين چه جوري
اين prn با پرينتر كار ميكنه

vcldeveloper
سه شنبه 25 آبان 1389, 23:13 عصر
ميشه كمي بيشتر توضيح بدين چه جوري
اين prn با پرينتر كار ميكنه
این اسم خاص دستگاه پرینتر هست. شما باید مشخص کنید که ورودی و خروجی های مورد نظرتون باید به کجا ارسال بشند. این ورودی و خروجی میتونه به صفحه نمایش، فایل، پورت، پرینتر، و غیره باشه. مکانیزم استفاده همشون یکی هست، ولی اینکه سیستم عامل به طور داخلی به چه شکلی با هر کدوم از این دستگاه ها کار میکنه، از برنامه نویسی که این درخواست ها را برای سیستم عامل ارسال میکنه، مخفی هست.
شما وقتی اسم فایل رو PRN میدید، یعنی عملیات ورودی و خروجی برای اون فایل باید برای پرینتر ارسال بشه.

دیگه نمیدونم منظورتون از توضیحات بیشتر چی هست.