Вверх ↑
Этот топик читают: Гость
Ответов: 4
Рейтинг: 0
#1: 2009-06-13 23:43:10 ЛС | профиль | цитата
Подскажите есть ли возможность в StringTable осуществить сортировку строк и если в 1й колонке есть совподающие значения то во 2й колонке сложить значения соответствующие значению строки 1й колонки.

code_13706.txt


карма: 0

0
файлы: 1code_13706.txt [3.4KB] [209]
vip
#1.1контекстная реклама от партнеров
Ответов: 3851
Рейтинг: 159
#2: 2009-06-13 23:55:28 ЛС | профиль | цитата
J0KaZ писал(а):
есть ли возможность в StringTable осуществить сортировку строк

есть, причём разными способами.
В поле свойств элемента (StringTable должна быть выделена) нажми вкладку точки, надеюсь это решит часть твоих вопросов..
карма: 0
начавший
0
Ответов: 4
Рейтинг: 0
#3: 2009-06-14 00:04:52 ЛС | профиль | цитата
Прошу прощения строки сортируются нормально но проблема немного в другом.

допустим в 1ом столбце есть повторяющиеся значения, необходимо во 2м столбце сложить все значения соответствующие элементу в 1м
карма: 0

0
Ответов: 3851
Рейтинг: 159
#4: 2009-06-14 00:09:35 ЛС | профиль | цитата

в чём проблема?
карма: 0
начавший
0
Разработчик
Ответов: 26066
Рейтинг: 2120
#5: 2009-06-14 00:13:49 ЛС | профиль | цитата
Так тут нужна не сотрировка, а отбор повторяющихся значений с накоплением результата и очисткой дублей
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#6: 2009-06-14 00:16:05 ЛС | профиль | цитата
Возможность есть и осуществить сортировку и сложить значения.
------------ Дoбавленo в 00.17:
J0KaZ писал(а):
необходимо во 2м столбце сложить все значения соответствующие элементу в 1м
а дальше что ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4
Рейтинг: 0
#7: 2009-06-14 00:30:37 ЛС | профиль | цитата
Вот пример файла в котором храниться информация, я хочу сделать так чтобы допустим при нажантии на определенную кнопку в списке строк в которых имя = Клиент1 значения второго столбца сложились и записались в одну строку с именем Клиент1, а остальные удалились. Тоже самое проделать со строками имена которых Клиент2 и т.д.



Имя=234;Долг=82;Дата=80
Клиент1;25;14:06:2009
Клиент1;40;14:06:2009
Клиент2;50;14:06:2009
Клиент2;15;14:06:2009
Клиент3;30;14:06:2009
Клиент3;40;14:06:2009

карма: 0

0
Ответов: 4
Рейтинг: 0
#8: 2009-06-14 00:54:14 ЛС | профиль | цитата
nesco писал(а):
Так тут нужна не сотрировка, а отбор повторяющихся значений с накоплением результата и очисткой дублей
ну вобщем да
карма: 0

0
Ответов: 3851
Рейтинг: 159
#9: 2009-06-14 11:39:24 ЛС | профиль | цитата
J0KaZ, вот тебе для начала code_13710.txt кусок реальной схемы (но продолжение там другое) - думай..
карма: 0
начавший
0
файлы: 1code_13710.txt [1.8KB] [197]
Ответов: 223
Рейтинг: 24
#10: 2009-06-14 12:26:18 ЛС | профиль | цитата
J0KaZ, может это поможет
code_13711.txt
карма: 0

0
файлы: 1code_13711.txt [3.2KB] [212]
Ответов: 16884
Рейтинг: 1239
#11: 2009-06-14 12:35:29 ЛС | профиль | цитата
wasya, а если 100 клиентов ... или 1000
------------ Дoбавленo в 12.42:
Андрей., а вот такое начало намного упрощает продолжение.

Add(MainForm,12515654,133,126)
{
Width=440
link(onCreate,10207470:doEnum,[])
}
Add(StringTable,12128572,308,140)
{
Width=430
Height=110
Columns=#7:Имя=234|7:Долг=82|7:Дата=80|
Grid=0
Point(doSortDigit)
Point(Strings)
Point(Matrix)
Point(doSort)
}
Add(StrList,15937059,182,70)
{
Strings=#21:Клиент3;35;14:06:2009|21:Клиент3;47;14:06:2009|22:Клиент2;150;14:06:2009|22:Клиент2;105;14:06:2009|21:Клиент1;25;14:06:2009|21:Клиент1;40;14:06:2009|21:Клиент2;50;14:06:2009|21:Клиент2;15;14:06:2009|21:Клиент3;30;14:06:2009|21:Клиент3;40;14:06:2009|
}
Add(ArrayEnum,10207470,196,140)
{
link(onItem,12128572:doAdd,[])
link(onEndEnum,2459769:doData,[(240,153)(240,188)])
link(Array,15937059:Array,[])
}
Add(DoData,2459769,252,182)
{
Data=Integer(0)
link(onEventData,12128572:doSort,[])
}
но лучше, наверное, сортировать в StrList-е, а в StrngTable выводить уже готовый результат (просуммированый и по одной строке на каждого клиента)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)