jag behöver lite hjälp med att sortera en listbox i c++. Jag skall sortera på det som finns mellan '-' och '\r' på varje rad hur gör jag. jag provade lite själv men det gick inte så bra! hoppas ni kan hjälpa mig.
void __fastcall TPhoneBookForm::ButtonSortClick(TObject *Sender)
{
if (RadioButtonName->Checked)
PhoneList->Sorted = true;
else
{
PhoneList->Sorted =false;
char *string = PhoneBookForm->PhoneList->Items->GetText();
int antal = PhoneList->Items->Count;
int *telnr, *ordning;
telnr = new int [antal];
ordning = new int [antal];
int n=0;
for (int i=0 ; string[i+1] ;n++)
{
for (;string[i] != '-';i++)
;
i++;
char temp[11];
temp[0]= '\0';
for (int j=0; string[i] != '\r';j++)
{
temp[j+1]='\0';
temp[j]=string[i++];
}
telnr[n] = atoi (temp);
i++;
}
for (int i=0; i<=antal;i++)
{
int ordningtemp=0;
for (int j=0; j!=n ;j++)
{
if (telnr[i] < telnr[j])
ordningtemp++;
}
ordning[i] = ordningtemp;
}
for (int i = 0; i < antal ;i++)
{
PhoneList->Items->Move(i,ordning[i]);
}
delete [] telnr;
delete [] ordning;
}
}