::: µ¨ÆÄÀÌ Tip&Trick :::

µ¨ÆÄÀÌ Tip&Trick ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±¤°í,ºñ¹æ,Áú¹®ÀÇ ±ÛÀº Áï½Ã »èÁ¦Çϸç
³»¿ëÀ» º¹»çÇÏ¿© »ç¿ëÇÒ °æ¿ì ¹Ýµå½Ã À̰÷(http://www.howto.pe.kr)À» Ãâó·Î ¸í½ÃÇÏ¿© ÁÖ¼¼¿ä


Category

  ±è¿µ´ë(2004-07-25 19:22:40, Hit : 4369, Vote : 1135
 http://www.howto.pe.kr
 TList ¸¦ ÀÌ¿ëÇÑ stack ±¸Á¶ ±¸Çö

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  TInfo = Record
     Name : String;
     age  : Integer;
  end;
  PInfo = ^TInfo;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure PushItem(List: TList; Name: String; Age:Integer);
var
  Info: PInfo;
begin
  New(Info);
  Info.Name := Name;
  Info.Age  := Age;
  List.Add(Info);
end;

procedure PopItem(List:TList; var Name:String; var Age:Integer);
begin
  if List.Count>0 then
  begin
     Name := PInfo(List[List.Count-1]).Name;
     Age  := PInfo(List[List.Count-1]).Age;
     Dispose(PInfo(List[List.Count-1]));
     List.Delete(List.Count-1);
  end
  else
  begin
     Name := '';
     Age  := 0;
  end;
end;

procedure GetItem(List:TList; var Info:PInfo; RecordNumber:Integer);
begin
   Info := PInfo(List[RecordNumber]);
end;

procedure CreateList(var List:TList);
begin
   if not Assigned(List) then
     List := TList.Create
   else
     List.Clear;
end;

procedure DestroyList(List:TList);
var
  i: Integer;
begin
  for i := 0 to List.Count-1 do
    Dispose(PInfo(List[i]));
  List.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  List : TList;
  i    : Integer;
  Info : PInfo;
  Name : String;
  Age  : Integer;
begin
  CreateList(List);

  PushItem(List, 'Adenilton', 29);
  PushItem(List, 'Ana',       25);
  PushItem(List, 'Roberto',   14);
  PushItem(List, 'Marta',     40);
  PushItem(List, 'Silvia',    60);
  PushItem(List, 'Pedro',     32);

  PopItem(List, Name, Age);
  ShowMessage('Name:'+Name+', Age:'+IntToStr(Age));

  PopItem(List, Name, Age);
  ShowMessage('Name:'+Name+', Age:'+IntToStr(Age));

  PopItem(List, Name, Age);
  ShowMessage('Name:'+Name+', Age:'+IntToStr(Age));

  PushItem(List, 'Carlos', 80);

  for i := List.Count-1 downto 0 do
  begin
    GetItem(List,Info,i);
    ShowMessage('Name:'+Info.Name+', Age:'+IntToStr(Info.Age));
  end;

  DestroyList(List);
end;

end.





211   [À©µµ¿ìÁî API] ÄÞÆ÷³ÍÆ®ÀÇ Hint ¿¡ ±×¸²(Bitmap) ³Ö±â  ±è¿µ´ë 2003/04/11 5201 1358
210   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] Űº¸µåÀÇ Shift+Tab ÀÌ ´­¸°°Íó·³ ó¸®ÇÏ±â  ±è¿µ´ë 2003/04/14 4743 1312
209   [À©µµ¿ìÁî API] ÆûÀÌ Minimized µÇ¾úÀ»¶§ ±ô¹ÚÀÌ°Ô Çϱâ 2  ±è¿µ´ë 2003/04/14 5982 1320
208   [COM/OLE] ±×¸®µå ÀÚ·á ¿¢¼¿·Î Á»´õ ºü¸£°Ô º¸³»±â  °ø¼ºÈ¯ 2003/04/16 5536 972
207   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] C¿¡¼­ ÇѱÛÀÚ¸£±â  °ø¼ºÈ¯ 2003/04/16 4855 968
206   [COM/OLE] ±âÁ¸ Excel ¹®¼­ ºÒ·¯¿Í¼­ ÆíÁýÈÄ ÀúÀåÇÏ±â  ±è¿µ´ë 2003/04/18 5460 1289
205   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] thread-safe Queue ±¸Çö  ±è¿µ´ë 2003/08/18 6143 1354
204   [¾Ë°í¸®Áò] ¼ýÀÚ¸¦ KB, MB, GB ´ÜÀ§·Î ȯ»êÇÏ±â  ±è¿µ´ë 2003/11/13 5072 1160
203   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] StrToFloatDef  ±è¿µ´ë 2003/11/13 4977 1258
202   [¾Ë°í¸®Áò] ±¸ºÐÀÚ(delimiter)¸¦ »ç¿ëÇÑ ¹®ÀÚ¿­ ÆÄ½Ì(parsing)  ±è¿µ´ë 2003/11/13 5179 1147
201   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] thread-safe Queue¸¦ ÀÌ¿ëÇÑ TLogThread  ±è¿µ´ë 2003/11/18 4815 1138
200   [³×Æ®¿÷/ÀÎÅͳÝ] IOCP(I/O Completion Port) class  ±è¿µ´ë 2003/11/18 11052 879
199   [³×Æ®¿÷/ÀÎÅͳÝ] Winsock WriteFile and Overlapped IO  ±è¿µ´ë 2003/11/18 5441 1231
198   [½Ã½ºÅÛ] À©µµ¿ìÁî ¼­ºñ½º ¸ñ·Ï ±¸ÇÏ±â  ±è¿µ´ë 2004/07/22 4574 1224
197   [½Ã½ºÅÛ] À©µµ¿ìÁî ¼­ºñ½º »óÅ ±¸ÇÏ±â  ±è¿µ´ë 2004/07/22 5009 1275
196   [½Ã½ºÅÛ] À©µµ¿ìÁî ¼­ºñ½º ½ÃÀÛ/ÁßÁö ÇÏ±â  ±è¿µ´ë 2004/07/22 6108 1549
195   [½Ã½ºÅÛ] À©µµ¿ìÁî ½Ã½ºÅÛÀÇ ½ºÅ©·Ñ¹Ù µÎ²² ¹Ù²Ù±â  ±è¿µ´ë 2004/07/24 5632 1378
194   [½Ã½ºÅÛ] ¸¶¿ì½º ¾Æ·¡ÀÇ À©µµ¿ì ÇÚµé ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 9118 1661
193   [½Ã½ºÅÛ] ³» ÇÁ·Î±×·¥ÀÇ ½ÇÇà ¿ì¼±¼øÀÇ ¹Ù²Ù±â  ±è¿µ´ë 2004/07/24 5139 1399
192   [À©µµ¿ìÁî API] ³» ÇÁ·Î±×·¥ÀÇ È­¸éÀ» °¡¸®´Â ÇÁ·Î±×·¥ ¸®½ºÆ®  ±è¿µ´ë 2004/07/24 4577 1209
191   [À©µµ¿ìÁî API] Taskbar ÀÇ Æ¯Á¤ À§Ä¡¿¡ popup ¸Þ´º ¶ç¿ì±â  ±è¿µ´ë 2004/07/24 4614 1206
190   [À©µµ¿ìÁî API] Taskbar ÀÇ À§Ä¡ ÃßÀûÇÏ±â  ±è¿µ´ë 2004/07/24 4009 1072
189   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] À©µµ¿ìÁî"½ÃÀÛ" ¹öưÀ§¿¡ ±Û¾¾ ¾²±â  ±è¿µ´ë 2004/07/24 4201 1153
188   [½Ã½ºÅÛ] Á¦¾îÆÇÀÇ ¸ðµç applet Á¤º¸ ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 4431 1141
187   [À©µµ¿ìÁî API] ¹Ù·Î Á÷Àü¿¡ active µÇ¾ú´ø À©µµ¿ì¿Í ÄÜÆ®·Ñ ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 4646 1168
186   [À©µµ¿ìÁî API] Áö¿øÇϴ Űº¸µå ÀÔ·Â ¾ð¾î ±¸ÇÏ°í º¯°æÇÏ±â  ±è¿µ´ë 2004/07/24 4751 1269
185   [À©µµ¿ìÁî API] ÇöÀç Űº¸µå ÀÔ·Â ¾ð¾î ±¸ÇÏ±â  ±è¿µ´ë 2004/07/24 4992 1354
184   [COM/OLE] À©µµ¿ìÁî "ÀÛ¾÷ Ç¥½ÃÁÙ ¹× ½ÃÀÛ ¸Þ´º µî·Ï Á¤º¸" È­¸é  ±è¿µ´ë 2004/07/25 6082 1634
183   [COM/OLE] À©µµ¿ìÁî "ÀÎÅÍ³Ý µî·Ï Á¤º¸" È­¸é  ±è¿µ´ë 2004/07/25 4262 1325
182   [COM/OLE] À©µµ¿ìÁî "³¯Â¥/½Ã°£ µî·Ï Á¤º¸" È­¸é  ±è¿µ´ë 2004/07/25 6412 1653
181   [COM/OLE] À©µµ¿ìÁî "°Ë»ö: ÆÄÀÏ ¶Ç´Â Æú´õ" È­¸é  ±è¿µ´ë 2004/07/25 4987 1397
180   [COM/OLE] À©µµ¿ìÁî "½Ã½ºÅÛ Á¾·á" È­¸é  ±è¿µ´ë 2004/07/25 4610 1312
179   [COM/OLE] À©µµ¿ìÁî "¸ðµç âÀ» ÃÖ¼ÒÈ­"  ±è¿µ´ë 2004/07/25 6246 1710
  [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TList ¸¦ ÀÌ¿ëÇÑ stack ±¸Á¶ ±¸Çö  ±è¿µ´ë 2004/07/25 4369 1135
177   [À©µµ¿ìÁî API] Æû¿¡ ¾Ö´Ï¸ÞÀÌ¼Ç È¿°ú ÁÖ±â  ±è¿µ´ë 2004/07/25 4655 1235
176   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] ¸ð¼­¸®°¡ µÕ±Ù(rounded ends) TMemo ¸¸µé±â  ±è¿µ´ë 2004/07/25 4584 1189
175   [½Ã½ºÅÛ] ·ÎÄà °¡»ó µå¶óÀ̹ö(substitution device) ¸¸µé°í Á¦°ÅÇÏ±â  ±è¿µ´ë 2004/07/25 5977 1326
174   [³×Æ®¿÷/ÀÎÅͳÝ] ³×Æ®¿öÅ© µå¶óÀÌºê ¿¬°á È­¸é ¶ç¿ì±â  ±è¿µ´ë 2004/07/26 5966 1601
173   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TProgressbar ÀÇ »ö»ó ¹Ù²Ù±â  ±è¿µ´ë 2004/07/26 4633 1237
172   [ÀϹÝ/ÄÄÆ÷³ÍÆ®] TTrewView, TListView ¸¦ À̹ÌÁö·Î ÀúÀåÇÏ±â  ±è¿µ´ë 2004/07/26 4350 965

[ÀÌÀü 10°³] [1]..[11][12][13][14][15][16][17][18][19] 20 ..[25] [´ÙÀ½ 10°³]
 

Copyright 1999-2022 Zeroboard / skin by zero