DELPHI TListBox (TStringsÀà)ɾ³ý¿ÕÐеķ½·¨
֮ǰ×öÒ»¸ö³ÌÐò£¬ÓÃListBox¶ÁÈëÒ»¸öÎı¾Îļþ£¬µ«Îı¾ÖÐÓпÕÐУ¬ÎªÁËɾ³ýÆäÖеĿÕÐУ¬ÕÛÌÚÁ˺ó¤Ê±¼ä¡£
Ïȸø³öÒ»¶Î´úÂë¸ø´ó¼Ò¿´
var
i:Integer;
begin
ListBox1.Items.LoadfromFile('data.txt');
for i:=0 to ListBox1.Count - 1 do
begin
if Trim(ListBox1.Items.Strings[i])='' Then
ListBox1.Items.Delete(i);
end;
end;
ÏàÐŲ»ÉÙÈË»áÕâÑùд£¨°üÀ¨ÎÒÒÔǰҲÊÇ£©£¬ÌرðÊÇÐÂÊÖ£¬µ«ÊÇÕâÊÇÐв»Í¨µÄ£¬ÔËÐÐʱ¸ø³ö list index out of bounds ´íÎó£¨Ï±곬½ç£©£¬ÎªÊ²Ã´»áÕâÑùÄØ£¿
Ö÷ÒªÊÇÕâ¸öforÑ»·ÖÐtoºóÃæµÄ ListBox1.Count ÒÑÊÇ×÷Ϊһ¸ö¹Ì¶¨Öµ£¬²»»á¸Ä±äµÄ£¬¶øÏÂÃæÖ´ÐÐÁËListBox1.Items.Delete(i); £¬µ¼ÖÂListBox1 ÖеÄÊýÄ¿¼õÉÙ£¬ËùÒÔ»á³öÏÖϱ곬½çµÄ´íÎó¡£
Æäʵ½â¾öÕâ¸öÎÊÌâºÜ¼òµ¥£¬¸Ä±äÒ»ÏÂ˼ά·½Ê½¾Í¿ÉÒÔÁË£¬½«forÑ»·¸ÄΪ
i:=ListBox1.Count - 1;
while(i>0)do
begin
if Trim(ListBox1.Items.Strings[i])='' Then
ListBox1.Items.Delete(i);
Dec(i);
end;
ÑÝʾ³ÌÐò£¨Ô´Â룩ÎÒÒѾ´ò°üÉÏ´«ÁË£¬´ó¼Ò¿ÉÒÔÏÂÔØ¿´¿´
ÑÝʾ³ÌÐòÏÂÔØ
Ïà¹ØÎĵµ£º
delphi±àÂë¹æ·¶Îĵµ
Ŀ¼
1¡¢Ç°ÑÔ 3
2¡¢Ô´³ÌÐòÊéд¹æ·¶ 3
2.1ͨÓÃÔ´´úÂë¸ñʽ¹æ·¶ 3
2.1.1Ëõ½ø 3
2.1.2±ß¾à 3
2.1.3 Begin…EndÓï¾ä 3
2.1.4×¢ÊÍ 4
2.2 OBJECT PASCALÓï¾ä¸ñʽÊéд¹æ·¶ÓëÓ÷¨ 4
2.2.1À¨ºÅ 4
2.2.2±£Áô×ֺ͹ؼü×Ö 4
2.2.3¹ý³ÌºÍº¯Êý 5
2.2.4±äÁ¿ 5
2.2.5ÀàÐÍ 6
2.2.6Óï¾ä 6
2.2.7½á¹¹» ......
//ÉùÃ÷:
GetWindowText(
hWnd: HWND; {´°¿Ú¾ä±ú}
lpString: PChar; {½ÓÊÕÎı¾µÄ»º³åÇøµÄÖ¸Õë}
nMaxCount: Integer {Ö¸¶¨»º³åÇø´óС, ÆäÖаüº¬NULL×Ö·û; Èç¹ûÎı¾³¬³ö£¬»á±»±»½Ø¶Ï}
): Integer; {·µ»Ø×Ö·û¸öÊý, ²»°üÀ¨ÖжϵĿÕ×Ö·û; Èç¹û±êÌâΪ¿Õ»ò¾ä±úÎÞЧ, Ôò·µ»ØÁã}
//¾ÙÀý:
var
arr: ......
1.ÒòΪKeyPreviewĬÈÏÊÇ False;ÎÒÃÇÕâÀïÐèÒªÏìÓ¦¼üÅÌʼþµÄ»°£¬ÐèÒª½«ÆäÐÞ¸ÄΪTrue£»
ËùÒÔKeyPreview:=True; Õâ¶ÔһЩ¿ì½Ý¼ü»áÓÐÓá£
ÔÚ´°ÌåÊôÐÔÉÏÐÞ¸ÄKeyPreview := True;
2.ÔÚ´°ÌåµÄFormKeyDownº¯ÊýÀïд£º
if KeyPreview then
Form½«ÏÈÏìÓ¦¼üÅÌʼþ£¨ÔÚTEditµÈ¿Ø¼þ֮ǰ£©
else
³ý·ÇFo ......
²Î¿¼×ÊÁÏ
ÀîÕ½.¡¶Îò͸delphi¡·£¬µÚ1Õ“DELPHIµÄÔ×ÓÊÀ½ç”
“̽Ë÷DelphiÀàÓë¶ÔÏóµÄÄÚ´æ½á¹¹”
»ù±¾ÖªÊ¶
¶¯Ì¬ÄÚ´æÓ뾲̬ÄÚ´æ
µ±³ÌÐòÔËÐÐʱ£¬ÏµÍ³Ê×ÏȽ«ËùÓÐÊý¾Ý×°ÔØÈëÄڴ棬Íê³É³õʼ»¯£¬È»ºó´ÓÈë¿ÚµØÖ·¿ªÊ¼Ö´ÐдúÂë¡£
³ÌÐò×°ÔØºó¼´´æÔÚÓÚÄÚ´æ¿Õ¼äÖеÄÊý¾ÝÎÒÃdzÆÖ®Îª¾²Ì¬Äڴ棬ÔËÐйý³ÌÖÐ ......
function BrowseCallbackProc(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM): Integer; stdcall;
begin
if uMsg = BFFM_INITIALIZED then
begin
SendMessage(Wnd, BFFM_SETSELECTION, 1, lpData);
SetWindowText(Wnd, 'Ñ¡ÔñÒ»¸öÄ¿±ê');
end;
Result := 0;
end;
//hdl: ´°¿Ú¾ä±ú
//Root: ¸ùÄ ......