Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2008, 01:12   #1
AlexMori
 
Регистрация: 14.11.2007
Сообщений: 8
По умолчанию

Привет всем!
Снова вынужден обратиться за помощью:
имеются строки в ListBox :

.....
<QUESTION_0>
.....
</QUESTION_0>
.....
<QUESTION_2>
.....
</QUESTION_2>
.....
<QUESTION_1>
.....
</QUESTION_1>
.....
<QUESTION_5>
.....
</QUESTION_5>
.....
<QUESTION_n>
.....
</QUESTION_n>
.....

и так делее..Так вот вопрос: как мне сделать так, чтобы отсортировать значения <QUESTION_n> по порядку, т.е. чтоб было:

.....
<QUESTION_0>
.....
</QUESTION_0>
.....
<QUESTION_1>
.....
</QUESTION_1>
.....
<QUESTION_2>
.....
</QUESTION_2>
.....
<QUESTION_3>
.....
</QUESTION_3>
.....
<QUESTION_n>
.....
</QUESTION_n>
.....

Очень прошу помочь... Заранее спасибо)

Проблема в том что мне надо брать и сравнивать не целое значение строки в ListBox а только его часть...

Последний раз редактировалось zetrix; 10.01.2008 в 10:01.
AlexMori вне форума Ответить с цитированием
Старый 10.01.2008, 02:07   #2
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

ну так в чем проблема береш какой то элемент listboxa
потом находиш спомощью функции copy число
ну вот например...

number:=copy(listbox1.Items.Strings[i],11,length(listbox1.Items.Strings[i])-10)
ICQ-465033557
WINDOWS CE THE BEST

Последний раз редактировалось zetrix; 10.01.2008 в 09:59. Причина: объединение... достали...
vitalik007 вне форума Ответить с цитированием
Старый 10.01.2008, 02:55   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Если я правильно понял, в промежутке между
<QUESTION_0>
.....
</QUESTION_0>
имеется текст самого вопроса?
Тогда алгоритм таков:
1. Создадим временный (или просто невидимый) листбокс и обнулим его.
2. Перебором по всем строкам найдем строку '<QUESTION_'+IntToStr(i)+'>'
где i - наш счетчик вопросов.
3. Начиная с этой строки и включительно строку </QUESTION_'+IntToStr(i)+'>'
последовательно переносим во временный листбокс.
4. Увеличиваем счетчик и к пункту 2.
5. Когда достигнем конечного значения, переписываем все строки из временного листбокса в наш первоначальный, а временный - уничтожаем.
Это - самый простой и наглядный алгоритм. А если временный листбокс сделаете видимым, сможете в пошаговой отладке проконтролировать правильность обработки.
mihali4 вне форума Ответить с цитированием
Старый 11.01.2008, 01:51   #4
AlexMori
 
Регистрация: 14.11.2007
Сообщений: 8
По умолчанию

Спасибо Вам за советы, буду пробовать реализовать..
AlexMori вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите переделать файловую сортировку на сортировку динамич. списков Taisja Помощь студентам 2 15.06.2008 16:10
Задача на сортировку... Sota Помощь студентам 4 25.05.2008 19:26
Задача на сортировку массива Acid Паскаль, Turbo Pascal, PascalABC.NET 1 17.06.2007 00:16