Memo에 추가하는 부분을 아래처럼 바꿔보세요.
// Memo1->Lines->Add(a[i].site);
// Memo1->Lines->Add(a[i].ed);
// Memo1->Lines->Add(a[i].title);
// Memo1->Lines->Add(a[i].price);
AnsiString tmp = AnsiString(a[i].site)+"\t"
+AnsiString(a[i].ed)+"\t"
+AnsiString(a[i].title)+"\t"
+IntToStr(a[i].price);
Memo1->Lines->Add(tmp);
각 문자열을 하나의 문자열로 합치면서, 사이에 tab 문자를 넣어서 공백을 만들어 주는 코드 입니다.
"인터파크도서" 때문에 조금 문제가 있지만...
도르레 님이 쓰신 글 :
: #include <fmx.h>
: #include <stdio.h>
: #pragma hdrstop
:
: #include "버블정렬.h"
: // ---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.fmx"
: TForm1 *Form1;
: #define SIZE 5
:
: // ---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
: }
:
: // ---------------------------------------------------------------------------
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: struct price
: {
: char site[30];
: char ed[30];
: char title[30];
: int price;
: };
:
: struct price a[SIZE]={{"교보문고","저자","제목",10000},{"알라딘","저자","제목",9000}
: ,{"yes24","저자","제목",15000},{"영풍문고","저자","제목",10000},
: {"인터파크도서","저자","제목",13000}},temp;
:
: int i=0;
: int loop;
:
: for(loop=0;loop<SIZE; loop++)
: {
: for(i = 0; i < SIZE-1-loop; i++)
: {
: if(a[i].price < a[i+1].price)
: {
: temp = a[i];
: a[i] = a[i+1];
: a[i+1] = temp;
: }
: }
: Memo1->Lines->Add( a[i].site);
: Memo1->Lines->Add( a[i].ed);
: Memo1->Lines->Add( a[i].title);
: Memo1->Lines->Add( a[i].price);
: }
: }
:
: 가상의 데이터를 가지고 버블정렬 하는 것을 해 보았는데 이렇게 하면 아래로 쭈욱 나오는데 아래로 나오지 않고 옆으로 해서 5개로 나눠서 나오게 할 수는 없나요?
:
: A B C D E
: O O O O O
: O O O O O
: O O O O O
: O O O O O
:
: 이런 식으로...