리스트박스는 보여 지는 리스트이기에 통상 많이 사용합니다.
일반적으로 리스트박스에 스트링을 저장하기 / 읽어오기를 할 수 있습니다.
즉, ListBox1.Items.Add('할머니');
Edit1.Text:= ListBox1.Items[ListBox1.ItemIndex];
과 같은 방법으로 사용합니다 만, Object 도 저장 할 수 있습니다.
TMyObject = class
No: integer;
Name: string;
constructor Create(const iNo: integer; iName: string);
end;
위와 같은 객체를 저장하기는
var
iMyObject: TMyObject;
begin
iMyObject:= TMyObject.Create(StrToInt(Edit1.text), Edit2.Text);
ListBox1.AddItem(iMyObject.Name, iMyObject);
end;
리스트 박스에는 iMyObject.Name 이 보여지며, 검색하거나 소팅은 기본 적으로 이것으로 할 수 있습니다.
읽어 오기는
var
iMyObject: TMyObject;
begin
if ListBox1.ItemIndex <> -1 then begin
iMyObject:= TMyObject(ListBox1.Items.Objects[ListBox1.ItemIndex]);
Edit1.Text:= IntToStr(iMyObject.No);
Edit2.Text:= iMyObject.Name;
end;
end;
오브젝트로 TStrings에 저장 하였을 경우에는 해당되는 오브젝트를 지워줘야 합니다.
procedure TForm3.FreeObjects(const Strings: TStrings);
var idx: integer;
begin
for idx := 0 to Strings.Count -1 do begin
Strings.Objects[idx].Free;
Strings.Objects[idx]:= nil;
end;
end;
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeObjects(ListBox1.Items);
end;
리스트박스를 폼에 올려 놓고 크기를 줄이고, Visible 을 False 로 한다음
var iStrings: TStrings; 선언을 해주고
iStrings:= ListBox4.Items; 로 지정해 주고 사용하면 편리 할때도 있습니다.
iStrings[idx] 나 iStrings.Objects[idx] 형식으로 사용하면 되기도 하겠지요...
2012년 10월 12일 금요일
피드 구독하기:
댓글 (Atom)
델파이 12.1이냐 11.3이냐?
델파이가 12.1이 나왔습니다. 혹시 11.3버전의 커뮤니티버전이 필요하시는분이 있을 수 있을 것 같아 https://altd.embarcadero.com/.../RADStudio_11_3_esd_28... 와 이것 찾느랴 엄청고생함.
-
윈도우10에 있는 음성 녹음기는 간단하게 녹음 할 때 간편하고 좋다. 곰 녹음기를 사용하면 오늘기준으로 CPU 점유율이 35% 이상 올라가 맥의 팬이 돌아간다. 윈10의 음성녹음기는 좋은 데 저장 폴더가 디폴트로 되어 있어 사용하기 불편하다. ...
-
클라이언트가 HTTP프로토콜을 이용해서 서버에 무언가를 전달할 때 Get 이나 Post가 사용됩니다. GET은 주소줄에 값이 ?뒤에 쌍으로 이어붙고 여러개일 경우에는 & 으로 반복하고, POST는 숨겨져서(body안에) 보내집니다. GET...
-
일단은 Python 사이트에가서 dmg 파일을 다운받아 설치합니다. m1 프로세서일경우에는 아래에 있는 파일이겠죠. 터미널을 열어 파이썬의 위치를 확인합니다. 파이썬3의 위치로 이동합니다. [cd /usr/local/bin] 파인더를 엽니다. [...
댓글 없음:
댓글 쓰기