-
June 28th, 2006, 02:12 AM
#1
Numeric Sorting using ComboBox in VB
I m facing problem of sorting using comboBox.
I want to sort the data if sorted property true and in list if i m adding 1,5,12,7 then in runtime it will give output 1,5,7,12 in comboBox.
Combobox i want to sort it in numeric way not according to string.
I have used one button in my project.
I want to know while adding items to the list, the list is resorted according to text.
Here i m putting my code in Borland C++. Not much difference according to VB. While adding items in the list in last two lines it is resorted. I have sort the array then displaying a[i] value in this code. In messagebox data is sorted if i m putting 1,5,12,7 in list then in messagebox a[i] will give 1,5,7,12.
But in the end while i m adding data it is sorted according to order in the list.
I have done it in VB it is creating same problem. I have first created in VB then Borland C++. Please see last three lines.
Code:
void __fastcall TForm1::QIButton8Click(TObject *Sender)
{
int *a;
int cnt = QIComboBox1->Items->Count;
a = new int[cnt*sizeof(int)];
int i,j,k;
for(i=0;i<cnt;i++)
{
a[i] = StrToInt(QIComboBox1->Items->Strings[i]);
Application->MessageBoxA(IntToStr(a[i]).c_str(),"value of a[i]",0);
}
for(i=0;i<cnt;i++)
{
for(j=i+1;j<cnt+1;j++)
{
if(a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
Application->MessageBoxA(IntToStr(a[i]).c_str(),"value of a[i]",0);
/////// here value is sorted 1,5,7,12
}
QIComboBox1->Clear();
for(i=0;i<cnt;i++)
{
QIComboBox1->Items->Add(a[i]);
Here Problem is there //// But while adding items it is resorted again.
}
delete a;
}
plz give me solution in VB so i will implement in Borland C++.
reply it's urgent.
Last edited by WizBang; June 28th, 2006 at 04:01 AM.
Reason: Added [code] tags
-
June 28th, 2006, 04:00 AM
#2
Re: Numeric Sorting using ComboBox in VB
If your items are being added in the order that you want them displayed, then why don't you just set the Sorted property to false?
Please remember to rate the posts and threads that you find useful.
How can something be both new and improved at the same time?
-
June 28th, 2006, 04:07 AM
#3
Re: Numeric Sorting using ComboBox in VB
But i want to sort it in Sorted property= true only and they give us like ouput 1,5,7,12 in combobox.
I have done it using Sorted property = false but i want in Sorted property=true only.
So, using sorted property = true, while i have sort the array and i m adding items in the end it is resorted so it is main problem.
reply urgent.
-
June 28th, 2006, 04:28 AM
#4
Re: Numeric Sorting using ComboBox in VB
Well, in VB you can supply the Index in the call to the AddItem method. Then the items will be in the order you add them even if the Sorted property is True.
Code:
Dim I As Long
For I = 1 To 20
Combo1.AddItem I, I - 1
Next
Can you apply this to Borland C++?
Please remember to rate the posts and threads that you find useful.
How can something be both new and improved at the same time?
-
June 28th, 2006, 04:47 AM
#5
Re: Numeric Sorting using ComboBox in VB
Hi WizBang,
I can not understand what are u telling?
plz reply me.
-
June 28th, 2006, 04:50 AM
#6
Re: Numeric Sorting using ComboBox in VB
There is an optional parameter for the AddItem method, so yo can specify the Index (the position in the list) where the item will be added. Can you do this in Borland C++?
Please remember to rate the posts and threads that you find useful.
How can something be both new and improved at the same time?
-
June 28th, 2006, 04:59 AM
#7
Re: Numeric Sorting using ComboBox in VB
Hi WizBang,
In Borland C++ in my code last three lines, while i m adding it i want to add a[i] value. Because that is sorted value.
But this is not working it.
Can u give me for another solution?
Because in VB also i have put messagebox a[i] that is sorted it but while i m adding items a(i) it is resorted.
I want solution at runtime because in list property different values are added like 1,5,12,7,9 ..... etc.
So, reply its urgent.
-
June 28th, 2006, 06:00 AM
#8
Re: Numeric Sorting using ComboBox in VB
Did you try the example I showed? If you cannot use it, please explain why.
Please remember to rate the posts and threads that you find useful.
How can something be both new and improved at the same time?
-
July 4th, 2006, 11:43 PM
#9
Re: Numeric Sorting using ComboBox in VB
Hi all,
i want to sort data if in list values are 1,12,5,7,Z,A then using sorting 1,5,7,12,A,Z values in combobox.
Actually in VB IsNumeric function is there but i m using Borland C++.
In that no this function is there.
so what to do?
i m putting my code.
void __fastcall Sort()
{
char a[100][100];
int cnt = QIComboBox1->Items->Count;
int i,j,k;
for(i=0;i<cnt;i++)
{
strcpy(a[i],QIComboBox1->Items->Strings[i].c_str());
Application->MessageBoxA((a[i]),"value of a[i]",0);
///////// It will give message 1,12,5,7,Z,A
}
for(i=0;i<cnt-1;i++)
{
for(j=i+1;j<cnt;j++)
{
if(strcmp(a[i],a[j])>0)
{
char temp[40];
strcpy(temp,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],temp);
}
}
}
for(i=0;i<cnt;i++)
{
Application->MessageBoxA((a[i]),"values after sorting",0);
}
using strcmp function i have tried but they sort it by ascii code. so not giving right output.
I want output if i add in list 1,12,5,7,Z,A then in comboBox 1,5,7,12,A,Z.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|