Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.25;
Скачать: CL | DM;

Вниз

Как отсортировать ячейки TStringGrid по значению одного столбца?   Найти похожие ветки 

 
WebSQLNeederr   (2008-04-30 14:40) [0]

Есть TStringGrid в первом столбце есть текст, во второй цифры. Как отсортировать теперь по второй ячейке?


 
Palladin ©   (2008-04-30 14:42) [1]

А по первой типа без проблем?


 
Сергей М. ©   (2008-04-30 14:45) [2]


> WebSQLNeederr   (30.04.08 14:40)


TStringGrid ничего кроме текста в своих ячейках хранить не может и не должен по определению.


 
WebSQLNeederr   (2008-04-30 14:46) [3]

Может я не совсем ясно выражаюсь. Вот пример (в качестве разделителя будет тире - )

имя1 - 10
имя2 - 7
имя3 - 17
имя4 - 22
имя5 - 4

Теперь нужно что бы было отсортировано так:

имя5 - 4
имя2 - 7
имя1 - 10
имя3 - 17
имя4 - 22


 
Sergey13 ©   (2008-04-30 14:48) [4]

> [3] WebSQLNeederr   (30.04.08 14:46)

А откуда эти ИмяХ берутся?


 
WebSQLNeederr   (2008-04-30 14:51) [5]


> А откуда эти ИмяХ берутся?

Это начальные условия. Как отсортировать это?


 
Anatoly Podgoretsky ©   (2008-04-30 15:05) [6]

> WebSQLNeederr  (30.04.2008 14:40:00)  [0]

В TStringGrid по определению ничего кроме текста быть не может.


 
Anatoly Podgoretsky ©   (2008-04-30 15:06) [7]

> WebSQLNeederr  (30.04.2008 14:51:05)  [5]

Ну естественно преобразовать текст в число и числа сортироватью


 
Reindeer Moss Eater ©   (2008-04-30 15:09) [8]

TStringList
procedure CustomSort(Compare: TStringListSortCompare); virtual;


 
Сергей М. ©   (2008-04-30 15:14) [9]


> Может я не совсем ясно выражаюсь


Ты вообще разницу между цифрой и числом понимаешь ?

10, 17, 22 - это числа, а не цифры !

Еще точнее это символьные представления чисел.

Где символы, там и строки.

Что нужно сделать, чтобы из строкового представления числа получить само число ? Это тебе домашнее задание)

Подсказка: строка "10" ведь как-то ведь оказалась в ячейке грида, значит тебе наверняка известно таинство получения строкового представления числа из самого числа. А теперь нужно выполнить обратное действие над каждой из таких ячеек, потому как алгоритмы сортировки чисел работают именно с числами, а не с их строковыми представлениями.


 
Anatoly Podgoretsky ©   (2008-04-30 15:40) [10]

> Сергей М.  (30.04.2008 15:14:09)  [9]

А может он таинства не знает, а данные вводятся эквивалентно этому cells[i, j] := "10";


 
WebSQLNeederr   (2008-04-30 15:55) [11]

харе стебаться я знаю про strtoint но при чем здесь это? Мне нужно отсортировать ячейки не одного столбца а что бы вся строка перемещалась. как это реализовать?


 
Reindeer Moss Eater ©   (2008-04-30 16:26) [12]

сначала берем список вида:
ля-ля=4
тополя=5

делаем ему CustomSort

Заносим в свой грид отсоритированное.


 
Anatoly Podgoretsky ©   (2008-04-30 16:33) [13]

> Reindeer Moss Eater  (30.04.2008 16:26:12)  [12]

Типовое перемещение, обмен стандартно

A := B;
B := C;
C := A;


 
Reindeer Moss Eater ©   (2008-04-30 16:36) [14]

но при этом придется самому писать велосипед сортирующий строки.
CustomSort на мой взгляд юзабельнее.


 
Anatoly Podgoretsky ©   (2008-04-30 16:43) [15]

> Reindeer Moss Eater  (30.04.2008 16:36:14)  [14]

Ты наверно не обратил внимание, фокус у него сместился обратно на TStringGrid


 
Reindeer Moss Eater ©   (2008-04-30 16:51) [16]

И чего? Там строки и колонки это списки.
Надо просто перед тем как сувать что-либо в грид, отсортировать до вставки сами данные.


 
Сергей М. ©   (2008-04-30 16:59) [17]


> WebSQLNeederr   (30.04.08 15:55) [11]
>
> харе стебаться


Кто над тобой стебется, убогий ?
Похоже что это ты над нами стебешься)

Сначала ты заявляешь, что


> Как отсортировать теперь по второй ячейке?


что, очевидно, говорит о том, что по "первой ячейке" ты это делать умеешь и уже ранее сделал, а теперь трудности возникли именно по второй..

А теперь выясняется, что ни ранее ни теперь, ни для первой ни для столохматой ячейки, ты этого не делал вообще, и что вопрос-то состоял в том как в ходе сортировки менять местами содержимое сравниваемых строк стрингрида)


 
Сергей М. ©   (2008-04-30 17:04) [18]


> WebSQLNeederr


+ [17]

о чем тебя, кстати, еще в [1] спросили, но ты напрочь проигнорировал вопрос.
И только аж к [11] посту выяснилось, что содержимое ячеек и номер колонки не имеет никакого значения, а грабли тебя встретили совсем в другом месте)

И кто стебется после этого, если не ты сам ?



Страницы: 1 вся ветка

Текущий архив: 2008.05.25;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.012 c
11-1189333937
Rusya
2007-09-09 14:32
2008.05.25
TKOLEcmListEdit и HDN_TRACK


2-1209577893
Kiril
2008-04-30 21:51
2008.05.25
Не срабатывает ConvertToTable


2-1209250359
multis
2008-04-27 02:52
2008.05.25
Блокировка клавиши


2-1209470106
ekto
2008-04-29 15:55
2008.05.25
Нарисовать линию на рабочем столе,


15-1208088137
cevek
2008-04-13 16:02
2008.05.25
Заказ. Нужно распаковать программу.