📄 print.cpp
字号:
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <io.h>
#include "salewin.h"
#include "def.h"
#include "sysinfo.h"
//打印标题。
void
SaleWin::PrintTitle()
{
//如果存在文本才进行打印。
if(strlen(sys->CheckTitle1)>0)
{
PrOut(sys->CheckTitle1);
PrOut("\n");
}
if(strlen(sys->CheckTitle2)>0)
{
PrOut(sys->CheckTitle2);
PrOut("\n");
}
if(strlen(sys->CheckTitle3)>0)
{
PrOut(sys->CheckTitle3);
PrOut("\n");
}
}
//打印尾标题。
void
SaleWin::PrintTail()
{
PrOut("---------------------------------------\n");
//如果存在文本才进行打印。
if(strlen(sys->CheckTail1)>0)
{
PrOut(sys->CheckTail1);
PrOut("\n");
}
if(strlen(sys->CheckTail2)>0)
{
PrOut(sys->CheckTail2);
PrOut("\n");
}
if(strlen(sys->CheckTail3)>0)
{
PrOut(sys->CheckTail3);
PrOut("\n");
}
PrOut("\n");
PrOut("\n");
PrOut("\n");
PrOut("\n");
PrOut("\n");
}
//打印销售数据。
void
SaleGrid::PrintSale(char *tmp)
{
char temp[30], temp1[30];
if(atof(Data[7])>0)
{
strcpy(tmp, "销:<");
}
else if(atof(Data[7])<0)
{
strcpy(tmp, " 退:<");
}
else
{
return;
}
strcpy(temp, Data[1]);
strcpy(temp1, Trim(temp));
strcat(tmp, temp1);
strcat(tmp, ">");
strcpy(temp, Data[2]);
strcpy(temp1, Trim(temp));
strcat(tmp, temp1);
strcat(tmp, " ");
sprintf(temp, "%0.2f", atof(Data[3]));
strcat(tmp, temp);
strcat(tmp, "*");
sprintf(temp, "%0.2f", atof(Data[4]));
strcat(tmp, temp);
sprintf(temp, "%0.2f", atof(Data[3])*atof(Data[4]));
if(atof(temp) != atof(Data[7]))
{
strcat(tmp, "-");
sprintf(temp, "%0.2f", atof(Data[3])*atof(Data[4]) - atof(Data[7]));
strcat(tmp, temp);
}
strcat(tmp, "=");
sprintf(temp, "%0.2f\n", atof(Data[7]));
strcat(tmp, temp);
system(".\\smartdrv /c");
}
//打印退货数据。
void
SaleGrid::PrintEject(char *tmp)
{
//如果是最后一行,直接返回.
if(Row >= Rows - 1)
{
strcpy(tmp, "");
return;
}
char temp[30];
strcpy(tmp, " 退:<");
strcpy(temp, Data[1]);
Trim(temp);
strcat(tmp, temp);
strcat(tmp, ">");
strcpy(temp, Data[2]);
Trim(temp);
strcat(tmp, temp);
strcat(tmp, " ");
sprintf(temp, "-(%0.2f", atof(Data[3]));
strcat(tmp, temp);
strcat(tmp, "*");
sprintf(temp, "%0.2f", atof(Data[4]));
strcat(tmp, temp);
sprintf(temp, "%0.2f", atof(Data[3])*atof(Data[4]));
if(atof(temp) != atof(Data[7]))
{
strcat(tmp, "-");
sprintf(temp, "%0.2f", atof(Data[3])*atof(Data[4]) - atof(Data[7]));
strcat(tmp, temp);
}
strcat(tmp, ")=");
sprintf(temp, "-%0.2f\n", atof(Data[7]));
strcat(tmp, temp);
}
//打印小票头部信息。
void
SaleWin::PrintHeadInfo()
{
char temp[14],temp1[100];
PrOut("=======================================\n");
//收款台。
sprintf(temp, "%3s", sys->TermID);
strcpy(temp1, temp);
strcat(temp1, "-");
//收款员。
sprintf(temp, "%05ld", atol(OpCode->Text()));
strcat(temp1, temp);
strcat(temp1, "-");
//流水号。
sprintf(temp, "%06ld", atol(SeqNumber->Text()));
strcat(temp1, temp);
//营业员。
if(sys->SalSW == L_YES)
{
strcat(temp1, "-");
sprintf(temp, "%05ld", atol(SaleCode->Text()));
strcat(temp1, temp);
strcat(temp1, "-");
sprintf(temp, "%06ld", atol(SaleGroup->Text()));
strcat(temp1, temp);
}
strcat(temp1, "-");
sprintf(temp, "%10s\n", GetDate());
strcat(temp1, temp);
PrOut(temp1);
PrOut("\n");
// PrOut("---------------------------------------\n");
}
//打印应付金额。
void
SaleWin::PrintCheckOut()
{
//缓冲中的数据.
struct FDATA data;
FILE *fp;
//打开文件.
if((fp = fopen(".\\Gridtemp.$$$","rb")) == NULL)
{
return;
}
//定位文件指针到最开始.
fseek(fp, filelength(fileno(fp)) - sizeof(FDATA), 0);
//从文件读取数据.
if(fread(&data, sizeof(FDATA), 1, fp) == 0)
{
fclose(fp);
return;
}
//关闭文件.
fclose(fp);
//以上从获取文件中最后一个时间.
//-----------------------------------------------------
char temp[30],temp1[120];
// PrOut("---------------------------------------\n");
PrOut("\n");
sprintf(temp, "<结帐>单号:%02d, ", data.CheckNum);
strcpy(temp1, temp);
strcat(temp1, "结帐时间:");
strcat(temp1, data.Time);
strcat(temp1, "\n");
PrOut(temp1);
PrOut("---------------------------------------\n");
strcpy(temp1, "");
sprintf(temp, " 总 计:%12.2f ", atof(AllSum->Text())+atof(AllDiscount->Text()));
strcat(temp1, temp);
sprintf(temp, "折扣:%10.2f\n", atof(AllDiscount->Text()));
strcat(temp1, temp);
sprintf(temp, " 应 付:%12.2f\n", atof(AllSum->Text()));
strcat(temp1, temp);
strcat(temp1, "------------------------\n");
PrOut(temp1);
}
//打印多单小结
void
SaleWin::PrintMulCheck()
{
//缓冲中的数据.
struct FDATA data;
FILE *fp;
//打开文件.
if((fp = fopen(".\\Gridtemp.$$$","rb")) == NULL)
{
return;
}
//定位文件指针到最开始.
fseek(fp, filelength(fileno(fp)) - sizeof(FDATA), 0);
//从文件读取数据.
if(fread(&data, sizeof(FDATA), 1, fp) == 0)
{
fclose(fp);
return;
}
//关闭文件.
fclose(fp);
//以上从获取文件中最后一个时间.
char temp[30],temp1[120];
// PrOut("---------------------------------------\n");
PrOut("\n");
sprintf(temp, "<小结>单号:%02d, ", data.CheckNum);
strcpy(temp1, temp);
strcat(temp1, "小结时间:");
strcat(temp1, data.Time);
strcat(temp1, "\n");
PrOut(temp1);
//打印单小计金额.
sprintf(temp, "小计:%0.2f", atof(TPref->Text())+atof(TSum->Text()));
strcpy(temp1, temp);
sprintf(temp, "折扣:%0.2f", atof(TPref->Text()));
strcat(temp1, temp);
sprintf(temp, "应付:%0.2f\n", atof(TSum->Text()));
strcat(temp1, temp);
PrOut(temp1);
// PrOut("---------------------------------------\n");
PrOut("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -