锘??xml version="1.0" encoding="utf-8" standalone="yes"?> StrPos := 1; // 褰撳墠璇誨埌鐨勫瓧絎︿覆浣嶇疆 // 姝ゅ灝?Str 闀垮害鍔?錛岀敤浜庡悗闈㈠垽鏂槸鍚﹀凡璇誨畬鏁翠釜瀛椾覆 // 媯(gè)鏌ユ槸鍚︽墍鏈夌殑瀛楃涓叉寚閽堥兘璇誨埌浜?jiǎn)锛屽鏋滄病鏈夎d埌錛屽皢琚緗負(fù)絀轟覆 procedure TForm1.FormCreate(Sender: TObject); // 寰呰瀛椾覆灝戜簬婧愪覆鍐呭嫻嬭瘯 // 寰呰瀛椾覆澶氫簬婧愪覆鍐呭嫻嬭瘯 // 寰呰瀛椾覆涓虹┖嫻嬭瘯 // 婧愪覆涓虹┖嫻嬭瘯
trunc 鐩存帴鍒囦笅鏁存暟錛屾瘮濡?trunc(-123.55)=-123, floor(123.55)=123
ceil 鐩存帴寰澶х殑鍙栵紝姣斿 ceil(-123.55)=-123錛?ceil(123.55)=124
round 璁$畻鍥涜垗浜斿叆錛屾瘮濡?round(-123.55)=-124錛宺ound(123.55)=124
]]>
{------------------------------------------------------------------------------}
{ procedure ReadStrValues }
{ }
{ 鍔熻兘璇存槑: 鏍規(guī)嵁鎸囧畾鐨勫垎闅旂灝嗕竴涓瓧絎︿覆鍒嗚В涓鴻嫢騫蹭釜瀛愪覆 }
{ 濡傛灉浼犻掔殑瀛愪覆鏁伴噺瓚呰繃婧愪覆鍙互瑙f瀽鐨勫瓧涓叉暟, 鍒欏浼犵殑瀛愪覆灝嗙疆涓虹┖涓?}
{ 鍙?nbsp; 鏁? }
{ Str : 寰呭垎瑙g殑瀛楃涓?nbsp; }
{ StrArr: 瀛樻斁鍒嗚В鍚庣殑瀛愪覆鐨勬暟緇? 浠ュ瓧絎︿覆鎸囬拡鏁扮粍浼犻?nbsp; }
{ Ch : 鍒嗛殧絎﹀畾涔? 緙虹渷涓?";" }
{------------------------------------------------------------------------------}
procedure ReadStrValues(Str: string; StrArr: array of PString; Ch: Char = ';');
var
I, StrLen, StrPos, ArrLen, ArrIndex: Integer;
begin
StrLen := Length(Str); // 瀛楃涓查暱
ArrLen := Length(StrArr); // 寰呭彇鍑虹殑瀛楃涓蹭釜鏁?br> if ArrLen = 0 then Exit; // 濡傛灉瀛楃涓叉寚閽堟暟緇勪腑鏃犲厓绱狅紝鍒欑洿鎺ラ鍑?/p>
ArrIndex := 0; // 褰撳墠瀛楃涓叉寚閽堟暟緇勪綅緗?/p>
for I := 1 to StrLen + 1 do
begin
// 娉ㄦ剰姝ゅ鏉′歡浣嶇疆涓嶅彲鍊掔疆(楠ゆ寮忓垽鏂?
if (I = StrLen + 1) or (Str[I] = Ch) then
begin
// 鎷瘋礉璇誨埌鐨勫瓧絎︿覆
StrArr[ArrIndex]^ := Copy(Str, StrPos, I - StrPos);
StrPos := I + 1;
// 濡傛灉闇瑕佽鐨勫瓧絎︿覆鎸囬拡鏁扮粍宸插畬鎴愶紝鍒欓鍑?br> Inc(ArrIndex);
if ArrIndex >= ArrLen then Exit;
end;
end;
for I := ArrIndex to ArrLen - 1 do
StrArr[I]^ := '';
end;
{------------------------------------------------------------------------------}
{ 嫻嬭瘯璇ュ嚱鏁?nbsp; }
{------------------------------------------------------------------------------}
const
SampleStr = '寮犱笁;鐢?41';
var
S1, S2, S3, S4: string;
begin
// 姝e父瀛椾覆瑙f瀽
S1 := 'S1'; S2 := 'S2'; S3 := 'S3'; S4 := 'S4';
ReadStrValues(SampleStr, [@S1, @S2, @S3]);
ShowMessage(Format('"%s", "%s", "%s", "%s"', [S1, S2, S3, S4]));
S1 := 'S1'; S2 := 'S2'; S3 := 'S3'; S4 := 'S4';
ReadStrValues(SampleStr, [@S1, @S2]);
ShowMessage(Format('"%s", "%s", "%s", "%s"', [S1, S2, S3, S4]));
S1 := 'S1'; S2 := 'S2'; S3 := 'S3'; S4 := 'S4';
ReadStrValues(SampleStr, [@S1, @S2, @S3, @S4]);
ShowMessage(Format('"%s", "%s", "%s", "%s"', [S1, S2, S3, S4]));
S1 := 'S1'; S2 := 'S2'; S3 := 'S3'; S4 := 'S4';
ReadStrValues(SampleStr, []);
ShowMessage(Format('"%s", "%s", "%s", "%s"', [S1, S2, S3, S4]));
S1 := 'S1'; S2 := 'S2'; S3 := 'S3'; S4 := 'S4';
ReadStrValues('', [@S1, @S2, @S3]);
ShowMessage(Format('"%s", "%s", "%s", "%s"', [S1, S2, S3, S4]));
end;
]]>
1錛夊彂娑堟伅鍙?qiáng)璋冪敤ShowWindow鍑芥暟錛?br> showwindow(childform.handle, sw_hide);銆銆// 闅愯棌瀛愮獥鍙?br> showwindow(childform.handle, sw_restore); // 鏄劇ず瀛愮獥鍙?br>
緙虹偣錛氫嬌鐢╳indows api鐩存帴闅愯棌瀛愮獥鍙o紝鍏跺瓙紿楀彛鐨剉isible灞炴у拰鍏舵樉紺虹姸鎬佹槸涓嶄竴鑷崇殑銆傚綋瀛愮獥鍙d笉鍙鏃訛紝鍏秜isible灞炴у彲鑳戒粛鐒舵槸true銆?br>
2錛夐噸杞藉瓙紿楀彛鐨剉isiblechanging鏂規(guī)硶:
private
procedure visiblechanging; override;//閲嶈澆
procedure tchildform.visiblechanging;
begin
<浣跨敤緇勪歡灞炴ч殣钘忓瓙紿楀彛鏃訛紝闇瑕侀噸杞芥榪囩▼錛屽茍涓斾笉鎵ц浠諱綍緇ф壙浠g爜錛屽惁鍒欏皢鎶ラ敊>
//inherited; 涓嶈兘鎵ц姝よ鍙ワ紒
end;
姝ゅ悗灝卞彲浠ョ洿鎺ヨ緗畍isible灞炴т簡(jiǎn)錛?br> childform.visible:=false;//闅愯棌瀛愮獥鍙?br>銆 childform.visible:=true; //鏄劇ず瀛愮獥鍙?br>
緙虹偣錛氬綋瀛愮獥鍙i殣钘忎簡(jiǎn)鍚庯紝鏈変簺鎺т歡鐨勬暟鎹病鏈夊姙娉曞彇鍒幫紝濡?TListView, 涓鴻繖涓棶棰樻浘緇忛儊闂蜂簡(jiǎn)寰堜箙錛屼笉鐭ラ亾鏄粈涔堝師鍥犮備緥濡傦細(xì)瀛愮獥鍙d笂listview宸茬粡鏈変簡(jiǎn)10琛屾暟鎹紝褰撳埄鐢ㄦ柟娉?錛夋妸浣垮緱瀛愮獥鍙d笉鍙浜?jiǎn)鍚庡Q岃皟鐢╟hildform.listview.items.count緇撴灉鎬繪槸0錛屼絾鏄樉紺烘瀛愮獥鍙e悗10琛屾暟鎹繕鏄湪姝istview涓?br>
鎵浠ヤ嬌鐢?錛夛紝鍦ㄧ▼搴忎腑涓嶈璋冪敤visible灞炴с?br>浣跨敤2錛夛紝鍦ㄥ瓙紿楀彛闅愯棌浜?jiǎn)鍚庝笉瑕佸幷d彇璇ュ瓙紿楀彛鐨勬暟鎹?br>
VC 鍙岀紦鍐茬粯鍥?/span>
BOOL CGraphDlg::OnDraw(CDC* pDC)
{
CRect rc;
GetClientRect(&rc);
CDC MemDC;
CBitmap MemBitmap;
MemDC.CreateCompatibleDC(NULL);
MemBitmap.CreateCompatibleBitmap(pDC, rc.Size().cx,rc.Size().cy);
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.BitBlt(0,0,rc.width, rc.height, pDC,0,0,SRCCOPY);
m_pGraph->SetGraphDC(&MemDC);
m_pGraph->DoGraphShowEvent();
pDC->BitBlt(0,0, rc.Size().cx,rc.Size().cy,&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBit);
MemBitmap.DeleteObject();
MemDC.DeleteDC();
}
Delphi 鍙岀紦鍐茬粯鍥撅細(xì)
procedure TBkCoordi.Draw(Canvas : TCanvas);
var
_bmp : TBitmap;
_width, _height : integer;
_top, _left : integer;
begin
_width := Round(m_width);
_height := Round(m_height);
_left := Round(m_topleft.x);
_top := Round(m_topleft.y);
_bmp := Tbitmap.Create;
_bmp.Handle := CreateCompatibleDC(Canvas.Handle);
_bmp.Width := _width;
_bmp.Height := _height;
BitBlt(_bmp.Canvas.Handle,0,0,_width,_height, Canvas.Handle,_left,_top,SRCCOPY);
if m_showcross then m_cross.Draw(_bmp.Canvas);
if @OnDrawing <> nil then OnDrawing(_bmp.Canvas);
BitBlt(Canvas.Handle,_left,_top,_width,_height, _bmp.Canvas.Handle,0,0,SRCCOPY);
_bmp.Free;
end;