锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
int middleIndex = pageCount/2;
int firstIndex = 0;
int lastIndex = pageCount - 1;
String SQLStr = "";
if( pageIndex <= firstIndex )
{
SQLStr = "select top " + IntToStr(pageSize) + " " + queryFields + " from " + tableName;
if( condition != "")
SQLStr += " where " + condition ;
SQLStr += " order by " + primaryKey + " " + ascending;
}
else if( pageIndex > firstIndex && pageIndex <= middleIndex )
{
SQLStr = "select top " + IntToStr(pageSize) + " " + queryFields + " from " + tableName + " where " + primaryKey ;
if( ascending == "asc" )
SQLStr += ">(select max(";
else
SQLStr += "<(select min(";
SQLStr += primaryKey + ") from (select top " + IntToStr(pageSize*pageIndex) + " " + primaryKey + " from " + tableName;
if( condition != "" )
SQLStr += " where " + condition;
SQLStr += " order by " + primaryKey + " " + ascending + ") TableA )";
if( condition != "" )
SQLStr += " and " + condition;
SQLStr += " order by " + primaryKey + " " + ascending;
}
else if( pageIndex > middleIndex && pageIndex < lastIndex)
{
SQLStr = "select " + queryFields + " from (select top " + IntToStr(pageSize) + " " + queryFields + " from " + tableName;
SQLStr += " where " + primaryKey ;
if( ascending == "asc" )
SQLStr += " < ( select min(";
else
SQLStr += " > ( select max(";
SQLStr += primaryKey + ") from (select top " + IntToStr( recordCount - pageSize * (pageIndex + 1)) + " " + primaryKey + " from " + tableName;
if( condition != "" )
SQLStr += " where " + condition;
SQLStr += " order by " + primaryKey + " desc) TableA)" ;
if( condition != "" )
SQLStr += " and " + condition;
SQLStr += " order by " + primaryKey + " desc) TableB order by )" + primaryKey + " " + ascending ;
}
else
{
SQLStr = "select " + queryFields + " from (select top " + IntToStr(recordCount - pageSize*lastIndex) + " " + queryFields + " from " + tableName;
if( condition != "" )
SQLStr += " where " + condition;
SQLStr += " order by " + primaryKey + " desc " + " )TableA order by " + primaryKey + " " + ascending;
}
return SQLStr;
}
]]>
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->Width = (int)newWidth;
bmp->Height = (int)newHeight;
bmp->Canvas->StretchDraw(Rect(0,0,bmp->Width,bmp->Height),Image1->Picture->Graphic);
TJPEGImage *MyJPEG = new TJPEGImage;
MyJPEG->Assign(bmp);
MyJPEG->SaveToFile("c:\\newbmp.jpg");
delete MyJPEG;
delete bmp;
]]>
聽 Graphics::TBitmap聽 *b=聽 new聽 Graphics::TBitmap();
聽 TJPEGImage聽 *j=new聽 TJPEGImage();
聽聽 j->JPEGNeeded();
聽聽 if(OpenDialog1->Execute())
聽聽 j->LoadFromFile(OpenDialog1->FileName);
聽 b->Assign(j);
聽 if(SaveDialog1->Execute())
聽 b->SaveToFile(SaveDialog1->FileName);
聽 delete聽 b;
聽 delete聽 j;
]]>
WinExec("CALC.EXE",0);
2.璋冪敤Windows璁頒簨鏈?br />ShellExecute(Application->Handle,"open","notepad.exe",NULL,NULL,SW_SHOWNORMAL);
3.BarTender鏉″艦鐮佽璁¤蔣浠?br />4.璋冪敤*.chm甯姪鏂囦歡:
String sHelpFilePath = GetCurrentDir() + "\\help\\help.CHM";聽 //鏂囦歡璺緞
聽聽聽 if(FileExists(sHelpFilePath))
聽聽聽 {
聽聽聽聽聽 ShellExecute(
聽聽聽聽聽 Handle,
聽聽聽聽聽 "open",
聽聽聽聽聽 sHelpFilePath.c_str(),
聽聽聽聽聽 NULL,
聽聽聽聽聽 NULL,
聽聽聽聽聽 SW_SHOWNORMAL
聽聽聽聽聽 );
聽聽聽 }
#ifndef rmbH
#define rmbH
// for AnsiString def
// #include
// 鏁板艱漿澶у啓浜烘皯甯佸嚱鏁?br />AnsiString NumToRMBStr(double val);
// 姝f暣鏁板瓧絎︿覆杞眽瀛楀嚱鏁幫紝涓嶅緩璁崟鐙嬌鐢?br />// 杈撳叆瀛楃涓插繀欏繪鏁存暟錛屽彧鍏佽鍓嶅絀烘牸(蹇呴』鍙沖榻?錛屼笉瀹滄湁鍓嶅闆?br />// AnsiString PositiveIntegerToHanStr(const AnsiString &NumStr);
#endif
2銆乺mb.cpp
#include 聽聽聽聽聽聽聽 // must define AnsiString before rmb.h
#pragma hdrstop聽聽聽聽聽聽聽聽 // only for C++ Builder
#include
#include "rmb.h"
//---------------------------------------------------------------------------
// 甯擱噺瀛楃涓插畾涔夛紝濡備慨鏀逛篃鍙彉涓鴻漿鎹㈡櫘閫氭眽瀛楀嚱鏁幫紙濡傦細涓浜屼笁錛屽崄鐧懼崈錛?br />const char *HanDigiStr[] = {"闆?,"澹?,"璐?,"鍙?,"鑲?,"浼?,"闄?,"鏌?,"鎹?,"鐜?};
const char *HanDiviStr[] = { "","鎷?,"浣?,"浠?,"涓?,"鎷?,"浣?,"浠?,"浜?,
聽聽聽聽"鎷?,"浣?,"浠?,"涓?,"鎷?,"浣?,"浠?,"浜?,
聽聽聽聽"鎷?,"浣?,"浠?,"涓?,"鎷?,"浣?,"浠? };
AnsiString PositiveIntegerToHanStr(const AnsiString &NumStr)
{聽聽聽聽聽// 杈撳叆瀛楃涓插繀欏繪鏁存暟錛屽彧鍏佽鍓嶅絀烘牸(蹇呴』鍙沖榻?錛屼笉瀹滄湁鍓嶅闆?br />聽AnsiString RMBStr;
聽int len,n,lastzero=0;
聽int hasvalue=0;聽聽聽// 浜褲佷竾榪涗綅鍓嶆湁鏁板兼爣璁?/p>
聽len = NumStr.Length();
聽if( len > 24 ) return "鏁板艱繃澶?";
聽for(int i=len-1;i>=0;i--) {
聽聽if( NumStr[len-i]==' ' ) continue;聽聽聽聽聽 // AnsiString[] base is 1
聽聽n = NumStr[len-i] - '0';
聽聽if( n<0 || n>9 ) return "杈撳叆鍚潪鏁板瓧瀛楃!";
聽聽if( n!=0 ) {
聽聽聽if( lastzero ) RMBStr += HanDigiStr[0];聽聽// 鑻ュ共闆跺悗鑻ヨ窡闈為浂鍊鹼紝鍙樉紺轟竴涓浂
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // 闄や簡浜夸竾鍓嶇殑闆朵笉甯﹀埌鍚庨潰
//聽聽聽if( !( n==1 && (i%4)==1 && (lastzero || i==len-1) ) )聽聽 // 濡傚崄榪涗綅鍓嶆湁闆朵篃涓嶅彂澹歸煶鐢ㄦ琛?br />//聽聽聽if( !( n==1 && (i%4)==1 && i==len-1 ) )聽聽聽聽聽聽聽聽 // 鍗佽繘浣嶅浜庣涓浣嶄笉鍙戝9闊?br />聽聽聽聽RMBStr += HanDigiStr[n];
聽聽聽RMBStr += HanDiviStr[i];聽聽聽// 闈為浂鍊煎悗鍔犺繘浣嶏紝涓綅涓虹┖
聽聽聽hasvalue = 1;聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // 緗竾榪涗綅鍓嶆湁鍊兼爣璁?br />聽聽 }
聽聽else {
聽聽聽if( (i%8)==0 || ((i%8)==4 && hasvalue) ) 聽// 浜夸竾涔嬮棿蹇呴』鏈夐潪闆跺兼柟鏄劇ず涓?br />聽聽聽聽RMBStr += HanDiviStr[i];聽聽// "浜?鎴?涓?
聽聽 }
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if( i%8==0 ) hasvalue = 0;聽 聽聽聽// 涓囪繘浣嶅墠鏈夊兼爣璁伴嚎澶嶄綅
聽聽lastzero = (n==0) && (i%4!=0);聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 // 浜夸竾鍓嶆湁闆跺悗涓嶅姞闆訛紝濡傦細鎷句竾璐頒粺
聽 }
聽if( RMBStr.Length()==0 ) return HanDigiStr[0];聽聽聽聽聽聽聽聽 // 杈撳叆絀哄瓧絎︽垨"0"錛岃繑鍥?闆?
聽return RMBStr;
}
AnsiString NumToRMBStr(double val)
{
聽AnsiString SignStr,TailStr;
聽double fraction, integer;
聽int jiao,fen;
聽if( val<0 ) {
聽聽val = -val;
聽聽SignStr = "璐?;
聽 }
聽fraction = modf(val+0.005, &integer);聽聽聽聽聽聽聽聽聽聽 // 鍥涜垗浜斿叆鍒板垎
聽jiao = int(fraction*10);
聽fen = int(fraction*100)-jiao*10;
聽if( jiao==0 && fen==0 ) {
聽聽TailStr = "鏁?;
聽 }
聽else {
聽聽TailStr = HanDigiStr[jiao];
聽聽if( jiao!=0 )
聽聽聽TailStr += "瑙?;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 if( integer==0 && jiao==0 )聽聽聽聽聽聽聽聽聽聽聽聽 // 闆跺厓鍚庝笉鍐欓浂鍑犲垎
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 TailStr = "";
聽聽if( fen!=0 )
聽聽聽TailStr += HanDigiStr[fen] + AnsiString("鍒?);
聽 }
// 涓嬩竴琛屽彲鐢ㄤ簬闈炴瑙勯噾铻嶅満鍚堬紝0.03鍙樉紺?鍙佸垎"鑰屼笉鏄?闆跺厓鍙佸垎"
//聽聽聽聽聽聽聽 if( integer==0 ) return聽 SignStr+TailStr;
聽return SignStr+PositiveIntegerToHanStr( AnsiString(integer) )+"鍏?+TailStr;
}
//-----------------------------------------------------------
// 鍩烘湰鑰冭檻
// 浜烘皯甯佸ぇ鍐欏崟浣嶉摱琛岃瀹氱敤"鍏?
// 鏃犻浂澶撮噾棰濆悗璺?鏁?錛屾湁鍒欎笉璺?br />// 瑙掍負闆舵椂涓嶅啓瑙掞紙濡傦細闆跺弫鍒嗭級
// 鍥涜垗浜斿叆鍒板垎
// 涓哄噺灝戝垽璇葷枒鎯戯紙涓鑸澶у啓閲戦棰勬湡杈冮珮錛夊拰
// 浣撶幇浜烘皯甯佸熀鏈崟浣嶄負鍏冿紝閲戦浣庝簬澹瑰渾鍓嶄粛鍔?闆跺厓"
// 鏁存暟杞崲
// 鑻ュ共闆跺悗鑻ヨ窡闈為浂鍊鹼紝鍙樉紺轟竴涓浂錛屽惁鍒欎笉鏄劇ず
// 涓?浜?鍓嶆湁闆跺悗涓嶅姞闆訛紝鍥犱嚎銆佷竾涓轟竴瀹屾暣鍗曚綅錛?br />// 錛堝錛氭嬀涓囪窗浠?姣?鎷句竾闆惰窗浠?鏇撮『浜涳級
// 浜夸負姹夎璁℃暟鏈澶у崟浣嶏紝鍙榪涗綅鍒版繪槸鏄劇ず錛堝錛氬9浜夸嚎錛?br />// 涓囦負嬈℃渶澶у崟浣嶏紝浜夸竾涔嬮棿蹇呴』鏈夐潪闆跺兼柟鏄劇ず涓?br />// 錛堝"澹逛嚎"涓嶅彲鏄劇ず涓?澹逛嚎涓?錛?br />//
// 涓哄噺灝戣紿滄敼鐨勫彲鑳芥э紝鍗佽繘浣嶆誨彂澹歸煶錛岃繖鍜屼笅闈㈢殑涔犳儻璇繪硶涓嶄竴鏍?br />//聽聽聽聽聽 錛堝崄榪涗綅澶勪簬絎竴浣嶄笉鍙戝9闊籌紝濡?鎷懼厓"闈?澹規(guī)嬀鍏?錛?br />//聽聽聽聽聽聽聽 鍗佽繘浣嶅鍓嶆湁闆舵槸鍚︿笉鍙戝9闊充笉澶‘瀹氾紝
//聽聽聽聽聽聽聽 濡?鍙佷粺闆跺9鎷懼厓"榪樻槸"鍙佷粺闆舵嬀鍏?錛燂級
// 鐢?鎷句竾"涓嶇敤"澹規(guī)嬀涓?錛屽洜涓烘瘡涓暣鏁拌繘浣嶅悗閮芥湁榪涗綅鍗曚綅錛堟嬀浣頒粺涓囦嚎錛?br />// 榪欐牱鍗充嬌閲戦鍓嶆病鏈夐檮闃茬獪鏀圭殑鍓嶇紑濡?浜烘皯甯?瀛楁牱涔熼毦紿滄敼浜?br />// 鍥犱負鑷沖皯瑕佸姞娣諱袱涓眽瀛楀茍涓旀敼鍔ㄥ悗鏁板瓧蹇呴』榪涗綅鎵嶈兘紿滄敼鎴?br />// 錛堝"鎷句竾"鍙敼鎴?鍙佹嬀涓?錛岃?澹規(guī)嬀涓?鑷沖皯瑕佹敼鎴?澹逛槳澹規(guī)嬀涓?錛?/p>
// 姝ゅ嚱鏁頒負Borland C++ Builder緙栧啓錛屽凡鍏呭垎鑰冭檻鍒拌法騫沖彴鍏煎鎬?br />// 濡傞渶杞崲鍒板叾瀹冨満鍚堬紝
// 鍙渶淇敼瀛楃涓茬被鍨嬩粠AnsiString鍒板搴旂殑綾誨瀷銆佸姛鑳藉強鍑芥暟
// 錛堟敞鎰忎袱涓猚har*鍨嬪瓧絎︿覆涓嶅彲浠ョ洿鎺ョ浉鍔狅紝闇鏈変竴涓厛杞崲錛?/p>
聽