当前位置:早雪网网络学院编程文档其他语言 → C++Builder 自编常用函数库(2)

C++Builder 自编常用函数库(2)

减小字体 增大字体 作者:未知  来源:supcode.com收集整理  发布时间:2005-7-1 14:56:40


void SetEditCell(TStringGrid *sg,int x,int y)
{
//任一CELLS获得焦点,并可直接使用键盘输入
TGridRect myRect;
myRect.Left = x;
myRect.Top = y;
myRect.Right = x;
myRect.Bottom = y;
sg->Selection = myRect;
sg->Options<<goEditing;
SendMessage(sg->Handle,WM_LBUTTONDOWN,0,0);
}
//------------------------------------------------------------------------
void DeleteRow(TStringGrid *sg,int x) // 删除第x行(0...)
{
for (int y=0;y<sg->ColCount;y++)
{
TStringList *ss=new TStringList();
ss->AddStrings(sg->Cols[y]);
ss->Add("");
ss->Delete(x);
sg->Cols[y]=ss;
delete ss;
}
}
//-------------------------------------------------------------------------
int IsNum(String s)
{
try
{
s.ToInt();
return 1;
}
catch(EConvertError &s)
{
ShowMessage("不是整数!");
return 0;
}
}
//------------------------------------------------------------------------------------
void SetPaperSize(int w,int h,bool bHengXiang) // 设置缺省打印机纸张大小 w*h(*0.1mm)
{
char Device[CCHDEVICENAME];
char Driver[MAX_PATH];
char Port[32];
THandle hDMode;
PDevMode pDMode;

TPrinter *Prn = Printer();
Prn->GetPrinter(Device,Driver,Port,hDMode);
if (hDMode!=NULL)
{
pDMode=(PDevMode)GlobalLock((HGLOBAL &)hDMode);
if (pDMode!=NULL)
{
pDMode->dmPaperSize= 256;
pDMode->dmFields=pDMode->dmFields | DM_PAPERSIZE;
pDMode->dmPaperLength =h; //高 *0.1mm
pDMode->dmFields =pDMode->dmFields| DM_PAPERLENGTH;
pDMode->dmPaperWidth = w; //宽 *0.1mm
pDMode->dmFields =pDMode->dmFields| DM_PAPERWIDTH;
if(bHengXiang)
pDMode->dmOrientation=DMORIENT_LANDSCAPE;
else
pDMode->dmOrientation=DMORIENT_PORTRAIT;
}
ResetDC(Prn->Handle,pDMode);
GlobalUnlock((HGLOBAL &)hDMode);
}
}
//-------------------------------------------------------------------------------------
String SafeTrunc(const String s, int count)
{
String result;
int ws_len=count;
WideString ws(s);

do
ws= ws.SubString(1,ws_len--);
while((result=ws).Length()>count);

return result;
}

String NewGUID()
{
//产生唯一GUID
_GUID gid;
String GUID;
try
{
CreateGUID(gid); //CreateClassID()
GUID=GUIDToString(gid);
}
catch(...)
{
return "";
}
return GUID;
}

int splitstr(TStringList *value,String splitStr,String sourceStr)
{

//分隔字符串
//TStringList *value=new TStringList();
value->Text="";
//String splitStr="//\\";
//AnsiString sourceStr="asd//\\fgh//\\jkl";
int sp=splitStr.Length();
int index=0;
int pos=sourceStr.Pos(splitStr);
String tmp;
int capa=0;
while (pos>0)
{
////value->Strings[index]
tmp=sourceStr.SubString(1,pos-1);
value->Add(tmp);
////sourceStr.SubString(pos,sourceStr.Length()-pos+1);
//MessageBox(Handle,value->Strings[index].c_str(),"",MB_OK);
////sourceStr.Delete(1,pos);
sourceStr=sourceStr.SubString(pos+sp,sourceStr.Length()-pos-sp+1);
pos=sourceStr.Pos(splitStr);
index++;
}
value->Add(sourceStr);
capa=value->Count;
return capa;
/*
for(int m=0;m<capa;m++)
MessageBox(Handle,value->Strings[m].c_str(),"",MB_OK);
*/
//value->Strings[index]=sourceStr;
//delete value;
}
void nextdlg()
{
if(Key==VK_RETURN)
{
Key=0;
SendMessage(Handle,WM_NEXTDLGCTL,0,0);
}
}
/////////////////
AnsiString ConvertHZToPY(char *as_HzString)
{
//提出汉字首字母
static int li_SecPosvalue[]={1601,1637,1833,2078,2274,2302,2433,2594,2787,3106,3212,3472,3635,3722,3730,3858,4027,4086,4390,4558,4684,4925,5249};
static char* lc_FirstLetter[] = {"A", "B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z"};
static char* ls_SecondSecTable =
"CJWGNSPGCGNE[Y[BTYYZDXYKYGT[JNNJQMBSGZSCYJSYY[PGKBZGY[YWJKGKLJYWKPJQHY[W[DZLSGMRYPYWWCCKZNKYYGTTNJJNYKKZYTCJNMCYLQLYPYQFQRPZSLWBTGKJFYXJWZLTBNCXJJJJTXDTTSQZYCDXXHGCK[PHFFSS[YBGXLPPBYLL[HLXS[ZM[JHSOJNGHDZQYKLGJHSGQZHXQGKEZZWYSCSCJXYEYXADZPMDSSMZJZQJYZC[J[WQJBYZPXGZNZCPWHKXHQKMWFBPBYDTJZZKQHY"
"LYGXFPTYJYYZPSZLFCHMQSHGMXXSXJ[[DCSBBQBEFSJYHXWGZKPYLQBGLDLCCTNMAYDDKSSNGYCSGXLYZAYBNPTSDKDYLHGYMYLCXPY[JNDQJWXQXFYYFJLEJPZRXCCQWQQSBNKYMGPLBMJRQCFLNYMYQMSQYRBCJTHZTQFRXQHXMJJCJLXQGJMSHZKBSWYEMYLTXFSYDSWLYCJQXSJNQBSCTYHBFTDCYZDJWYGHQFRXWCKQKXEBPTLPXJZSRMEBWHJLBJSLYYSMDXLCLQKXLHXJRZJMFQHXHWY"
"WSBHTRXXGLHQHFNM[YKLDYXZPYLGG[MTCFPAJJZYLJTYANJGBJPLQGDZYQYAXBKYSECJSZNSLYZHSXLZCGHPXZHZNYTDSBCJKDLZAYFMYDLEBBGQYZKXGLDNDNYSKJSHDLYXBCGHXYPKDJMMZNGMMCLGWZSZXZJFZNMLZZTHCSYDBDLLSCDDNLKJYKJSYCJLKWHQASDKNHCSGANHDAASHTCPLCPQYBSDMPJLPZJOQLCDHJJYSPRCHN[NNLHLYYQYHWZPTCZGWWMZFFJQQQQYXACLBHKDJXDGMMY"
"DJXZLLSYGXGKJRYWZWYCLZMSSJZLDBYD[FCXYHLXCHYZJQ[[QAGMNYXPFRKSSBJLYXYSYGLNSCMHZWWMNZJJLXXHCHSY[[TTXRYCYXBYHCSMXJSZNPWGPXXTAYBGAJCXLY[DCCWZOCWKCCSBNHCPDYZNFCYYTYCKXKYBSQKKYTQQXFCWCHCYKELZQBSQYJQCCLMTHSYWHMKTLKJLYCXWHEQQHTQH[PQ[QSCFYMNDMGBWHWLGSLLYSDLMLXPTHMJHWLJZYHZJXHTXJLHXRSWLWZJCBXMHZQXSDZP"
"MGFCSGLSXYMJSHXPJXWMYQKSMYPLRTHBXFTPMHYXLCHLHLZYLXGSSSSTCLSLDCLRPBHZHXYYFHB[GDMYCNQQWLQHJJ[YWJZYEJJDHPBLQXTQKWHLCHQXAGTLXLJXMSL[HTZKZJECXJCJNMFBY[SFYWYBJZGNYSDZSQYRSLJPCLPWXSDWEJBJCBCNAYTWGMPAPCLYQPCLZXSBNMSGGFNZJJBZSFZYNDXHPLQKZCZWALSBCCJX[YZGWKYPSGXFZFCDKHJGXDLQFSGDSLQWZKXTMHSBGZMJZRGLYJB"
"PMLMSXLZJQQHZYJCZYDJWBMYKLDDPMJEGXYHYLXHLQYQHKYCWCJMYYXNATJHYCCXZPCQLBZWWYTWBQCMLPMYRJCCCXFPZNZZLJPLXXYZTZLGDLDCKLYRZZGQTGJHHGJLJAXFGFJZSLCFDQZLCLGJDJCSNZLLJPJQDCCLCJXMYZFTSXGCGSBRZXJQQCTZHGYQTJQQLZXJYLYLBCYAMCSTYLPDJBYREGKLZYZHLYSZQLZNWCZCLLWJQJJJKDGJZOLBBZPPGLGHTGZXY

[1] [2]  下一页


Tags:++,Builder,自编,常用,函数
[数据载入中...] [返回上一页] [打 印]