Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];

Вниз

Как отсортировать ячейки 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
2-1209250359
multis
2008-04-27 02:52
2008.05.25
Блокировка клавиши


3-1197897575
Sergey13
2007-12-17 16:19
2008.05.25
План запроса в MySQL


15-1208079846
webster
2008-04-13 13:44
2008.05.25
Домен


4-1189497078
AlexEgorov
2007-09-11 11:51
2008.05.25
Как получить дерево Organizational Units из Active Directory?


15-1207811360
Ega23
2008-04-10 11:09
2008.05.25
FastCGI и Delphi - возможно или нет?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский