1,221
社区成员
发帖
与我相关
我的任务
分享
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1ColumnClick(TObject *Sender, TListColumn *Column)
{
int i, m, n, j ;
static bool od = true ;
const AnsiString Captions1[4]={"姓名","性别","籍贯","学历"} ;
for(int i=0; i<ListView1->Columns->Count; ++i)
ListView1->Columns->Items[i]->Caption = Captions1[i] ;
od = !od ;
n = Column->Index ;
m = ListView1->Items->Count ;
if(od)
{
Column->Caption = Column->Caption + "△" ;
}
else
Column->Caption = Column->Caption + "▽" ;
ListView1->Items->Add();
if (n==0)
{
for(i=0;i< m-1;i++)
for(j=i+1;j< m;j++)
if(od)
{
if(ListView1->Items->Item[i]->Caption > ListView1->Items->Item[j]->Caption)
{
ListView1->Items->Item[m] = ListView1->Items->Item[i] ;
ListView1->Items->Item[i] = ListView1->Items->Item[j] ;
ListView1->Items->Item[j] = ListView1->Items->Item[m] ;
}
}
else
{
if(ListView1->Items->Item[i]->Caption < ListView1->Items->Item[j]->Caption)
{
ListView1->Items->Item[m] = ListView1->Items->Item[i];
ListView1->Items->Item[i] = ListView1->Items->Item[j];
ListView1->Items->Item[j] = ListView1->Items->Item[m];
}
}
}
else
{
for(i=0;i< m-1;i++)
for(j=i+1;j< m;j++)
if(od)
{
if(sg(ListView1->Items->Item[i]->SubItems->Text,n-1) > sg(ListView1->Items->Item[j]->SubItems->Text,n-1))
{
ListView1->Items->Item[m] = ListView1->Items->Item[i] ;
ListView1->Items->Item[i] = ListView1->Items->Item[j] ;
ListView1->Items->Item[j] = ListView1->Items->Item[m] ;
}
}
else
{
if(sg(ListView1->Items->Item[i]->SubItems->Text,n-1) < sg(ListView1->Items->Item[j]->SubItems->Text,n-1))
{
ListView1->Items->Item[m] = ListView1->Items->Item[i];
ListView1->Items->Item[i] = ListView1->Items->Item[j];
ListView1->Items->Item[j] = ListView1->Items->Item[m];
}
}
}
ListView1->Items->Delete(m);
}
//---------------------------------------------------------------------------
AnsiString TForm1::sg(AnsiString str,int n)
{
int i,l;
AnsiString qq(str);
l = qq.Length();
AnsiString p(str);
char a[]="\r\n";
int j=0,k=0;
for(j=1;j < l;j++)
{
i=1;
while(qq[j]!=a[0] && qq[j+1]!=a[1])
{
p[i++]=qq[j];
j++;
}
k++;
if((k-1)==n)
break;
}
p[i]=NULL;
return (p);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
// 下移i++;
// 上移i--;
int j ;
int m ;
m = ListView1->Items->Count ;
if(ListView1->SelCount == 0)
{
ShowMessage("请选择需要移动的项目!") ;
return ;
}
i = ListView1->Items->IndexOf(ListView1->Selected);
// i-- ;
j = i - 1 ;
if(j<0)
{
ListView1->Items->Item[j+1]->Selected=True;
ListView1->SetFocus() ;
return ;
}
else
{
ListView1->Items->Add();
ListView1->Items->Item[m] = ListView1->Items->Item[i];
ListView1->Items->Item[i] = ListView1->Items->Item[j];
ListView1->Items->Item[j] = ListView1->Items->Item[m];
ListView1->Items->Delete(m);
ListView1->Items->Item[j]->Selected=True;
ListView1->SetFocus() ;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int j ;
int m ;
m = ListView1->Items->Count ;
if(ListView1->SelCount == 0)
{
ShowMessage("请选择需要移动的项目!") ;
return ;
}
i = ListView1->Items->IndexOf(ListView1->Selected);
j = i + 1 ;
if(j > ListView1->Items->Count - 1)
{
ListView1->Items->Item[j-1]->Selected=True;
ListView1->SetFocus() ;
return ;
}
else
{
ListView1->Items->Add();
ListView1->Items->Item[m] = ListView1->Items->Item[i];
ListView1->Items->Item[i] = ListView1->Items->Item[j];
ListView1->Items->Item[j] = ListView1->Items->Item[m];
ListView1->Items->Delete(m);
ListView1->Items->Item[j]->Selected=True;
ListView1->SetFocus() ;
}
}
//---------------------------------------------------------------------------