IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Ошибка при работе с компонентом Listbox, C++Builder 6
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 51
Пол: Мужской
Реальное имя: Владимир

Репутация: -  0  +


Задача вобщем такая:
Приложение предназначено для сортировки списка фамилий учебной группы и должно осуществлять:
-ввод каждой фамилии в редактируемое поле;
-добавление ее к списку;
-удаление фамилии из списка;
-cортировку списка фамилий.
Интерфейс приложения должен включать главное меню, поле редактирования, список с вертикальной полосой прокрутки, кнопки "Добавить", "Удалить", "Сортировка".
Список я делаю через ListBox (не динамически), добавлять, удалять я сделал, а при сортировке вылетает ошибка.Подскажите пожалста в чем может быть дело.
 
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int i;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
//добавляем элемент
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ListBox1->Items->Add(Edit1->Text);
}
//---------------------------------------------------------------------------
//запоминаем номер выделенного элемента
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
i=ListBox1->ItemIndex;
}
//---------------------------------------------------------------------------
//удаляем выделенный элемент
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ListBox1->Items->Delete(i);
}
//---------------------------------------------------------------------------
//сортируем список
void __fastcall TForm1::Button3Click(TObject *Sender)
{
AnsiString s,s1,s2;
for (int j = 0; j <= ListBox1->Items->Count; j++)
for (int k= ListBox1->Items->Count;k<=j+1; k--)
{ s1=ListBox1->Items->Strings[k-1];
s2=ListBox1->Items->Strings[k];
if (s1[1]>s2[1])
{
s=ListBox1->Items->Strings[k-1];
ListBox1->Items->Strings[k-1]=ListBox1->Items->Strings[k];
ListBox1->Items->Strings[k]=s;
}
}
}
//---------------------------------------------------------------------------

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 51
Пол: Мужской
Реальное имя: Владимир

Репутация: -  0  +


Да так работает, спасибо....ошибку я нашел (написал <= , вместо >=), а на счет строк то в билдере отсчет у типа AnsiString начинается с первого элемента(помоему в делфи тоже также...разве нет?)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 4:12
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name