Главная страница
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
15-1207900283
keymaster
2008-04-11 11:51
2008.05.25
Проблема с cxGrid (отваливается DataSource)


15-1207751426
@!!ex
2008-04-09 18:30
2008.05.25
Сайта http://developer.3dlabs.com/ больше не существует


15-1208168919
Ломброзо
2008-04-14 14:28
2008.05.25
Медленная запись на флешку


2-1209558548
lewka-serdceed
2008-04-30 16:29
2008.05.25
Запись в файл, не открывая его


15-1208086982
Verbatim512
2008-04-13 15:43
2008.05.25
Часы + будильник