Вверх ↑
Этот топик читают: Гость
Ответов: 67
Рейтинг: 1
#1: 2022-07-26 14:41:24 ЛС | профиль | цитата
Всем доброго времени, собственно сортировка не сортирует корректно числа.... ( Извиняюсь, не MEMO а StrList не корректно сортирует )

Вот пример:

Add(MainForm,2953706,441,217)
{
Width=792
Height=326
link(onCreate,1760347:doEvent1,[(509,237)(509,307)])
}
Add(StrList,14294336,602,224)
{
Strings=#27:15 =0*%совпадения - 16.65 %|27:24 =3*%совпадения - 11.65 %|27:33 =3*%совпадения - 13.54 %|26:7 =1*%совпадения - 17.89 %|
Point(doSort)
}
Add(Button,11328530,441,357)
{
Left=310
Top=105
Width=115
Height=50
Caption="Сортировать"
link(onClick,5147612:doData,[])
}
Add(Memo,4407433,707,280)
{
Left=10
Top=30
Width=270
Height=225
}
Add(Memo,1953806,884,371)
{
Left=480
Top=30
Width=270
Height=225
}
Add(StrList,9857965,805,336)
{
Point(doSort)
}
Add(DoData,5147612,707,357)
{
link(onEventData,12249896:doEvent1,[])
link(Data,4407433:Text,[])
}
Add(Hub,12249896,770,357)
{
OutCount=3
link(onEvent1,9857965:doText,[])
link(onEvent2,9857965:doSort,[])
link(onEvent3,4657050:doData,[(794,377)(794,398)])
}
Add(DoData,4657050,805,392)
{
link(onEventData,1953806:doText,[])
link(Data,9857965:Text,[])
}
Add(DoData,15007127,602,301)
{
link(onEventData,4407433:doText,[])
link(Data,14294336:Text,[])
}
Add(Button,4311644,441,308)
{
Left=10
Top=10
Width=110
Caption="Обновить"
link(onClick,1760347:doEvent2,[])
}
Add(Hub,1760347,546,301)
{
InCount=2
link(onEvent1,15007127:doData,[])
}




Снимок.PNG



как этот момент обойти или исправить ?

Редактировалось 2 раз(а), последний 2022-07-26 15:03:11
карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8886
Рейтинг: 823
#2: 2022-07-26 15:08:29 ЛС | профиль | цитата
Pavel, в Memo находятся СТРОКИ, они и сортируются как строки, а не числа
карма: 19

1
Голосовали:Pavel
Ответов: 67
Рейтинг: 1
#3: 2022-07-26 15:24:07 ЛС | профиль | цитата
Леонид, Понял, благодарю!
карма: 1

0
Ответов: 2193
Рейтинг: 673
#4: 2022-07-26 22:19:43 ЛС | профиль | цитата
Pavel писал(а):
как этот момент обойти

Как вариант попросить StringTable (Таблицу строк) отсортировать:

Add(MainForm,7093141,455,147)
{
Width=774
Height=305
link(onCreate,1760347:doEvent1,[(523,167)(523,237)])
}
Add(StrList,14294336,616,154)
{
Strings=#27:15 =0*%совпадения - 16.65 %|27:24 =3*%совпадения - 11.65 %|27:33 =3*%совпадения - 13.54 %|26:7 =1*%совпадения - 17.89 %|
Point(doSort)
}
Add(Button,11328530,455,336)
{
Left=310
Top=105
Width=115
Height=50
Caption="Сортировать"
link(onClick,13012460:doEvent1,[])
}
Add(Memo,4407433,721,210)
{
Left=10
Top=30
Width=270
Height=225
}
Add(Memo,1953806,898,336)
{
Left=480
Top=30
Width=270
Height=225
}
Add(DoData,15007127,616,231)
{
link(onEventData,4407433:doText,[])
link(Data,14294336:Text,[])
}
Add(Button,4311644,455,238)
{
Left=10
Top=10
Width=110
Caption="Обновить"
link(onClick,1760347:doEvent2,[])
}
Add(Hub,1760347,560,231)
{
InCount=2
OutCount=3
link(onEvent1,15007127:doData,[])
link(onEvent2,6929236:doClear,[(605,244)(605,314)])
link(onEvent3,12964472:doEnum,[(590,251)(590,279)])
}
Add(StringTable,6929236,784,301)
{
Left=765
Top=35
Width=165
Height=220
Visible=1
Enabled=1
Columns=#1:0|
Point(doSortDigit)
Point(Strings)
}
Add(ArrayEnum,12964472,630,273)
{
link(onItem,6929236:doAdd,[(779,279)(779,307)])
link(Array,14294336:Array,[])
}
Add(Hub,13012460,686,336)
{
OutCount=3
link(onEvent1,6929236:doSortDigit,[])
link(onEvent2,1953806:doClear,[])
link(onEvent3,9852402:doEnum,[(749,356)(749,377)])
}
Add(ArrayEnum,9852402,798,371)
{
link(onItem,1953806:doAdd,[(864,377)(864,342)])
link(Array,6929236:Strings,[])
}
карма: 10

1
Голосовали:Pavel
Ответов: 67
Рейтинг: 1
#5: 2022-07-28 22:37:07 ЛС | профиль | цитата
sla8a, Спасибо за вариант. возьму на заметку!

Я выкрутился вот так
Add(MainForm,7093141,546,196)
{
Width=774
Height=305
link(onCreate,1760347:doEvent1,[(614,216)(614,286)])
}
Add(Button,11328530,546,385)
{
Left=310
Top=105
Width=115
Height=50
Caption="Сортировать"
link(onClick,14679489:doSort,[])
}
Add(Memo,4407433,875,259)
{
Left=10
Top=30
Width=270
Height=225
}
Add(Memo,1953806,1010,462)
{
Left=480
Top=30
Width=270
Height=225
}
Add(DoData,15007127,707,280)
{
link(onEventData,10498748:doEvent1,[])
link(Data,15264469:Text,[])
}
Add(Button,4311644,546,287)
{
Left=10
Top=10
Width=110
Caption="Обновить"
link(onClick,1760347:doEvent2,[])
}
Add(Hub,1760347,651,280)
{
InCount=2
OutCount=3
link(onEvent1,15007127:doData,[])
}
Add(StrList,15264469,707,189)
{
Strings=#27:15 =0*%совпадения - 16.65 %|27:24 =3*%совпадения - 11.65 %|27:33 =3*%совпадения - 13.54 %|26:7 =1*%совпадения - 17.89 %|
Point(doSort)
Point(doGetIndex)
Point(String)
Point(doGetString)
}
Add(ArraySort,14679489,756,385)
{
ArrayType=1
link(onEndSort,15862496:doEnum,[(799,391)(799,433)(744,433)(744,454)])
link(Array,15264469:Array,[(762,268)(727,268)])
}
Add(ArrayEnum,15862496,756,448)
{
link(onItem,13437910:doStrCat,[])
link(Array,14679489:ArraySort,[])
}
Add(ListBox,7981722,924,406)
{
Left=300
Top=165
Width=127
Height=76
Visible=1
DataType=1
Point(doSelectString)
Point(String)
}
Add(StrCat,13437910,833,448)
{
Str2="*"
link(onStrCat,15738998:doEvent1,[])
}
Add(Hub,15738998,882,448)
{
link(onEvent1,7981722:doSelectString,[(910,454)(910,440)])
link(onEvent2,3246346:doData,[(924,461)(924,468)])
}
Add(DoData,3246346,945,462)
{
link(onEventData,1953806:doAdd,[])
link(Data,7981722:String,[])
}
Add(Hub,10498748,812,280)
{
link(onEvent1,4407433:doText,[])
link(onEvent2,7981722:doText,[(851,293)(851,433)])
}


Редактировалось 1 раз(а), последний 2022-07-28 22:47:30
карма: 1

0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)