SASGIS - SAS.Планета
View Issue Details
0002238SAS.Планета[All Projects] Багpublic30-10-2013 09:2903-11-2013 10:10
Yurec66 
Garl 
normalminoralways
resolvedfixed 
WindowsXPSP3
.Nightly 
131111131111 
0002238: В результатах офлайнового поиска выдается название не на том языке, который требуется
После обновления ночной сборки на 131030.7597 поиск вроде происходит, позиционируется вроде правильно(пока только 1 проверка выполнялась), но в списке предлагаемых вариантов искомый объект не числится, хотя как и говорилось ранее в файле BY.txt это название присутствует.
No tags attached.
jpg Snap_001.jpg (171,969) 30-10-2013 09:29
http://www.sasgis.org/mantis/file_download.php?file_id=1578&type=bug
jpg

jpg Snap_003.jpg (30,350) 30-10-2013 10:47
http://www.sasgis.org/mantis/file_download.php?file_id=1579&type=bug
jpg

jpg by_txt.jpg (396,492) 30-10-2013 13:51
http://www.sasgis.org/mantis/file_download.php?file_id=1581&type=bug
jpg Soato.jpg (83,211) 30-10-2013 20:21
http://www.sasgis.org/mantis/file_download.php?file_id=1582&type=bug
jpg

jpg poisk1.jpg (158,685) 31-10-2013 21:37
http://www.sasgis.org/mantis/file_download.php?file_id=1583&type=bug
jpg

jpg _search.jpg (464,545) 01-11-2013 04:17
http://www.sasgis.org/mantis/file_download.php?file_id=1584&type=bug
Issue History
30-10-2013 09:29Yurec66New Issue
30-10-2013 09:29Yurec66File Added: Snap_001.jpg
30-10-2013 09:45vdemidovNote Added: 0013153
30-10-2013 09:45vdemidovStatusnew => feedback
30-10-2013 09:57GarlNote Added: 0013154
30-10-2013 10:22Yurec66Note Added: 0013155
30-10-2013 10:22Yurec66Statusfeedback => new
30-10-2013 10:23Yurec66Note Edited: 0013155bug_revision_view_page.php?bugnote_id=13155#r5796
30-10-2013 10:25vdemidovNote Added: 0013156
30-10-2013 10:35vdemidovStatusnew => feedback
30-10-2013 10:45Yurec66Note Added: 0013157
30-10-2013 10:45Yurec66Statusfeedback => new
30-10-2013 10:47Yurec66File Added: Snap_003.jpg
30-10-2013 10:48Yurec66Note Added: 0013158
30-10-2013 10:50Yurec66Note Edited: 0013158bug_revision_view_page.php?bugnote_id=13158#r5798
30-10-2013 10:51vdemidovAssigned To => Garl
30-10-2013 10:51vdemidovStatusnew => assigned
30-10-2013 11:04TolikSummaryПродолжение "Инцендент 0002233" => Продолжение 0002233
30-10-2013 12:08GarlNote Added: 0013160
30-10-2013 12:20vdemidovNote Added: 0013161
30-10-2013 12:53GarlNote Added: 0013162
30-10-2013 12:58vdemidovNote Added: 0013163
30-10-2013 13:02GarlNote Added: 0013164
30-10-2013 13:14Yurec66Note Added: 0013165
30-10-2013 13:28vdemidovNote Added: 0013166
30-10-2013 13:51GarlFile Added: by_txt.jpg
30-10-2013 13:55GarlNote Added: 0013167
30-10-2013 14:15Yurec66Note Added: 0013168
30-10-2013 14:17Yurec66Note Edited: 0013168bug_revision_view_page.php?bugnote_id=13168#r5802
30-10-2013 18:45zedNote Added: 0013172
30-10-2013 20:21Yurec66File Added: Soato.jpg
30-10-2013 20:22Yurec66Note Added: 0013175
31-10-2013 06:01GarlNote Added: 0013176
31-10-2013 09:03Yurec66Note Edited: 0013168bug_revision_view_page.php?bugnote_id=13168#r5803
31-10-2013 09:07Yurec66Note Added: 0013178
31-10-2013 09:08Yurec66Note Edited: 0013178bug_revision_view_page.php?bugnote_id=13178#r5805
31-10-2013 09:41GarlNote Added: 0013179
31-10-2013 14:07Yurec66Note Added: 0013180
31-10-2013 14:10Yurec66Note Added: 0013181
31-10-2013 17:03zedNote Added: 0013182
31-10-2013 17:17GarlNote Added: 0013183
31-10-2013 18:12Yurec66Note Added: 0013184
31-10-2013 18:16zedNote Added: 0013185
31-10-2013 18:21Yurec66Note Added: 0013186
31-10-2013 18:30zedNote Added: 0013187
31-10-2013 21:36Yurec66Note Added: 0013189
31-10-2013 21:37Yurec66File Added: poisk1.jpg
01-11-2013 03:55GarlNote Added: 0013190
01-11-2013 04:17GarlFile Added: _search.jpg
01-11-2013 04:18GarlNote Added: 0013191
01-11-2013 07:31Yurec66Note Added: 0013192
01-11-2013 07:38GarlNote Added: 0013193
01-11-2013 08:31Yurec66Note Added: 0013194
01-11-2013 08:33GarlNote Added: 0013195
01-11-2013 09:04Yurec66Note Added: 0013196
01-11-2013 09:05Yurec66Note Edited: 0013196bug_revision_view_page.php?bugnote_id=13196#r5807
01-11-2013 09:07Yurec66Note Added: 0013197
01-11-2013 09:09zedNote Added: 0013198
01-11-2013 09:12GarlNote Added: 0013199
01-11-2013 09:22GarlNote Added: 0013200
01-11-2013 09:31GarlNote Added: 0013201
01-11-2013 09:40Yurec66Note Added: 0013202
01-11-2013 09:49Yurec66Note Added: 0013203
01-11-2013 10:04GarlNote Added: 0013204
01-11-2013 10:24Yurec66Note Added: 0013205
01-11-2013 10:25Yurec66Note Edited: 0013205bug_revision_view_page.php?bugnote_id=13205#r5809
01-11-2013 10:26zedNote Added: 0013206
01-11-2013 10:27Yurec66Note Edited: 0013205bug_revision_view_page.php?bugnote_id=13205#r5810
01-11-2013 10:32Yurec66Note Edited: 0013205bug_revision_view_page.php?bugnote_id=13205#r5811
01-11-2013 11:38GarlNote Added: 0013207
01-11-2013 11:56zedNote Added: 0013208
01-11-2013 11:59zedNote Edited: 0013208bug_revision_view_page.php?bugnote_id=13208#r5813
01-11-2013 12:12GarlNote Added: 0013209
01-11-2013 14:04Yurec66Note Added: 0013210
02-11-2013 17:44vdemidovTarget Version => 131111
02-11-2013 17:44vdemidovSummaryПродолжение 0002233 => В результатах офлайнового поиска выдается название не на том языке, который требуется
02-11-2013 17:45vdemidovStatusassigned => resolved
02-11-2013 17:45vdemidovFixed in Version => 131111
02-11-2013 17:45vdemidovResolutionopen => fixed
02-11-2013 18:06zedNote Added: 0013211
03-11-2013 10:10GarlNote Added: 0013212

Notes
(0013153)
vdemidov   
30-10-2013 09:45   
А чем первый пункт в результатах поиска не устраивает?
(0013154)
Garl   
30-10-2013 09:57   
>поиск вроде происходит, позиционируется вроде правильно
ч.т.д.
(0013155)
Yurec66   
30-10-2013 10:22   
(edited on: 30-10-2013 10:23)
>А чем первый пункт в результатах поиска не устраивает?
Оно конечно подштаники тоже можно назвать штанами. Однако поиск должен предлагать, если есть в базе поиска,то, что я конкретно ищу. А в файле слово "Могилев" конкретно присутствует.

(0013156)
vdemidov   
30-10-2013 10:25   
Ну так и в первом результате слово Могилев присутствует причем на куче языков.
(0013157)
Yurec66   
30-10-2013 10:45   
На картинке, которая приложена есть только два варианта. В первом совершенно не то слово, во втором включение слова Могилев идет через буку "ё", а не как я написал через "е". Если внимательно посмотреть файл BY.txt, то слово "Могилев" присутствует рядом со словами "Магілёў,Могилев,Могильов,Могилёв,"(строка 7031). Почему программа не выводит искомое слово если оно есть?
(0013158)
Yurec66   
30-10-2013 10:48   
(edited on: 30-10-2013 10:50)
Вот еще один баг отыскал. Попытался ввести в строку поиска слово "могилев" в нижнем регистре. (см. картину в приложениях)

ps
дополнительный вариант "Могилёв" - все кроме искомого слова.

(0013160)
Garl   
30-10-2013 12:08   
ошибка io - из за того что файл открыт вами в другой программе
для остальных вариантов есть ссылка Full Description - там полностью строка в которой найдёно совпадение.

как по моему так всё работает даже лучше чем надо.
(0013161)
vdemidov   
30-10-2013 12:20   
Не, с ошибкой нужно бороться. Я только из-за нее этот тикет еще не закрыл.
(0013162)
Garl   
30-10-2013 12:53   
так а на пальцах объясние что не так ищется, как я понимаю тут проблема с Ё-фиакцией.
или то что в caption результатов поиска выводится не то что искали?
(0013163)
vdemidov   
30-10-2013 12:58   
Я про ошибку IO error
(0013164)
Garl   
30-10-2013 13:02   
надо сделать try?
(0013165)
Yurec66   
30-10-2013 13:14   
>для остальных вариантов есть ссылка Full Description
В которой перечислен всевозможный бред кроме того что нужно?
"MVQ,Magiljou,Maguilov,Mahileu,Mahiliou,Mahiliou,Mahiljou,Mahiljov,Mahiljow,Mahiljou,Mahilou,Mahilou,Mahilyow,Mahileu,Mogil'ov,Mogilev,Mogileva,Mogilew,Mogiliavas,Mogiliovas,Mogiljov,Mogilov,Mogilev,Mogileva,Moguilev,Mohylew"

>или то что в caption результатов поиска выводится не то что искали?
именно

Мало того, что Full Description совершенно бесполезная фича, в которой нет привязки ни к региону, ни к области... Зачем тогда она ваще нужна? Зачем нужен предлагаемый список, если я не знаю куда на карте он меня направляет? Одно название "Новоселки" вам выдаст 15-20 совпадений по разным регионам Беларуси. А как мне знать где то что я ищу?

Лучше уж тогда убрать Full Description , чтобы не сбивало с толку.
(0013166)
vdemidov   
30-10-2013 13:28   
>надо сделать try?
Заменить на нормальное чтение при помощи TFileStream или чего-то на нем основанного.
(0013167)
Garl   
30-10-2013 13:55   
>>или то что в caption результатов поиска выводится не то что искали?
> именно
ок давайте разберём структуру файла на пальцах:
см картинку,
какое из полей выводить в качестве имени? (сейчас выводится 4, или 3 поле)

от Full Description отакзываться не считаю правильным ибо лишней информация не будет.
(0013168)
Yurec66   
30-10-2013 14:15   
(edited on: 31-10-2013 09:03)
Может структура файла изначально придумана не грамотно? 2 и 3 поля дублируют друг друга. В качестве имени(я так понимаю то, что должно выводиться в списке найденного) нужно выводить искомое слово с точным совпадением. А уж в Full Description дополнительно можно прописать все остальные элементы 4-го поля. Остальную галематью убрать ! В противном случае в дополнительной информации смысла 0. К чему эта фраза Europe/Minsk ? Какая смысловая полезность?

(0013172)
zed   
30-10-2013 18:45   
>Не, с ошибкой нужно бороться. Я только из-за нее этот тикет еще не закрыл.
Согласен с Yurec66, что исправлять нужно не только I/O.
(0013175)
Yurec66   
30-10-2013 20:22   
>Одно название "Новоселки" вам выдаст 15-20 совпадений по разным
Прошу прощения, немного ошибся. При поиске объекта новоселки выдало 120 совпадений по официальной базе. Почему это знаю, да потому, что как то пришлось написать программу используя коды СОАТО. Так вот при выборе населенного пункта моя программа мало того, что показывала к какой области относится название, так еще нужно было смотреть район и более того сельсовет, чтобы точно определиться с выбором. Т.к. в одно районе но в разных сельсоветах могут быть две одинаковые деревни. (см. прикрепленное фото вверху)
(0013176)
Garl   
31-10-2013 06:01   
>В противном случае в дополнительной информации смыслы 0. К чему эта фраза Europe/Minsk ? Какая смысловая полезность?
так оно есть в файле, я его только вывожу, а смысловую нагрузку - пусть думет тот кому оно надо :)

в теории Europe/Minsk отображает местоположение, допустим есть города с одинаковыми названиями в африке и в европе, так вот там будет видно что и где.

з.ы.
могли бы и сами поправить и пул реквест сделать
(0013178)
Yurec66   
31-10-2013 09:07   
(edited on: 31-10-2013 09:08)
>в теории Europe/Minsk отображает местоположение
Ну это очень глобальное определение местоположения.

>могли бы и сами поправить и пул реквест сделать
Не совсем понял что поправить и что означает выражение пул реквест сделать ?

(0013179)
Garl   
31-10-2013 09:41   
вот исходник модуля поиска по *.txt
https://bitbucket.org/sas_team/sas.planet.src/src/c73a7031381d60d291302e3bc31a89c6c5009727/GeoCoder/u_GeoCoderByTXT.pas?at=default

можете написать как должно быть.
(0013180)
Yurec66   
31-10-2013 14:07   
>можете написать как должно быть.
Знаете, ковыряться в чужом коде - не лучшее занятие, когда недостающие типы и пр. находятся в других модулях.

Я думаю для начала действительно нужно привести сам исходный файл, в данном случае By.txt, к удобочитабельному виду, с необходимой информацией без лишних "дополнений". А что искать и что выводить - я уже озвучивал. Если 100% совпадение - можно сразу позиционировать по координатам, а если есть варианты (100% + доп.) - вот тогда их можно вывести в предлагаемый список выбора.
(0013181)
Yurec66   
31-10-2013 14:10   
Наименование населенных пунктов с принадлежностью к конкретному региону, области, району и т.д. найти можно. Другое дело где брать координаты искомого?
(0013182)
zed   
31-10-2013 17:03   
>Знаете, ковыряться в чужом коде - не лучшее занятие, когда недостающие типы и пр. находятся в других модулях.
Знаете, а настройка среды для разработки SAS, занимает несколько минут и даже есть готовая виртуалка. Вопрос скорее в том, хотите ли вы реально улучшить программу, которой пользуетесь. Для тех кто хочет - преград нету, а остальные найдут сотню отговорок.

>Я думаю для начала действительно нужно привести сам исходный файл
А я думаю, что вы обращаетесь не по адресу. Этими файлами (содержимым и форматом) заведуют ребята с geonames.org, вот им и выскажите свои мысли по поводу смысловой нагрузки полей и проч. Наше дело - парсинг и отображение результатов.
(0013183)
Garl   
31-10-2013 17:17   
наше дело сделать чтобы всё работало "из коробки" скачал положил и готово!
(0013184)
Yurec66   
31-10-2013 18:12   
>Знаете, а настройка среды для разработки SAS, занимает несколько минут и даже есть готовая виртуалка
А вот про это слышу впервые

>Для тех кто хочет - преград нету, а остальные найдут сотню отговорок
Желание есть огромное, другое дело как получится... У каждого программиста свой стиль, а посему все равно разруливать придется сперва.

>Этими файлами (содержимым и форматом) заведуют ребята с geonames.org
Оооо... ну это полный абзац. Вы хотите, чтобы неосведомленный человек что то сразу понял из того множества непонятных букф?
(0013185)
zed   
31-10-2013 18:16   
>чтобы неосведомленный человек что то сразу понял
Осведомляйтесь, в шею никто не гонит.

>множества непонятных букф
Какое конкретно множество вам не понятно?
(0013186)
Yurec66   
31-10-2013 18:21   
>Какое конкретно множество вам не понятно?
Да хотя бы на кого выходить, чтобы понять кто формирует этот файл, какая структура полей, откуда берутся данные и т.д.
(0013187)
zed   
31-10-2013 18:30   
Советую побродить по их сайту, там всё есть:
-GeoNames Team
-Readme.txt

А тут это уже будет явный оффтоп.
(0013189)
Yurec66   
31-10-2013 21:36   
Установил виртуальную машину и запустил на ней поиск. Так вот, там находит все прекрасно Могилев.(см. картинку выше). Правда там
(0013190)
Garl   
01-11-2013 03:55   
>Так вот, там находит все прекрасно Могилев.
а какая ревизия исходников в виртуалке?
(0013191)
Garl   
01-11-2013 04:18   
ёлки маталки, так Ваш могилёв же на Украине, а мы его в by.txt ишем...
(0013192)
Yurec66   
01-11-2013 07:31   
>а какая ревизия исходников в виртуалке?
Ваш сленг порою непонятен. Имеется ввиду какая разница в исходниках? Не могу сказать, пытался разбираться - так и не смог пока найти событие обработки ComboBox для поиска. Да впрочем не простой это и CmboBox оказывается. Теперь я начинаю понимать, почему vdemidov написал "а способов пофиксить это не добавив кучу новых глюков я пока не вижу.". Но все равно не могу принять это за оправдание такого мастера как он.

>ёлки маталки, так Ваш могилёв же на Украине, а мы его в by.txt ишем...
Эээ... пардонс. На Украине есть Могилев Подольский, а в Беларуси - Могилев. Вот вы и сам еще раз убедились для чего нужна более информативная инфа, чтобы видеть какой объект нам предлагает программа для перехода по координатам.

Разобравшись со структурой файла BY.txt действительно понял, что там в принципе все по делу. Можно только определиться с нужными полями и выбирать оттуда информацию. Там всего то нужно 2-3 поля задействовать и все.
(0013193)
Garl   
01-11-2013 07:38   
>Там всего то нужно 2-3 поля задействовать и все.
так а мы чего и делаем то, (ищем по всей строке)
а затем выводим
заголовок:
2 поле, если оно пустое - тогда третье
          sname := VTabArray.Strings[3];
          if sname = '' then begin
            sname := VTabArray.Strings[2];
          end;

щирота\долгота
          slat := VTabArray.Strings[4];
          slon := VTabArray.Strings[5];
описание
          sdesc :=
            VTabArray.Strings[17] + #$D#$A +
            VTabArray.Strings[01] + #$D#$A +
            VTabArray.Strings[02] + #$D#$A +
            VTabArray.Strings[03] + #$D#$A +
            VTabArray.Strings[18] + #$D#$A;


предложения?
(0013194)
Yurec66   
01-11-2013 08:31   
C выводом каких полей нужно подумать как лучше. В первую очередь нужно разобраться почему программа не находит слово, которое 100% присутствует в файле.
(0013195)
Garl   
01-11-2013 08:33   
давайте конкретный файл и конкретный пример слова.
у меня есть BY.txt размером 4,085,794 байт.
давайте конкретно на нём обкатывать.
(0013196)
Yurec66   
01-11-2013 09:04   
(edited on: 01-11-2013 09:05)
Я вчера скачал свежий BY.txt (в TC размер 4106173). Может это не существенно будет для нашей проверки.
Строка №7028 - в 4-м поле есть включение "Mohylew,Магілёў,Могилев,Могильов,Могилёв,Могиљов". Т.е точно есть слово "Могилев" и точно есть слово "Могилёв". Так вот при искомых словах "Могилев", "Могилёв" ни то ни другое не находятся. Почему то выводятся Могилевцы, Могилевская область и пр., но только не то , что нам нужно.

(0013197)
Yurec66   
01-11-2013 09:07   
Что то наталкивает на мысль, то возможно это связано с кодировкой, т.к. в этом одном файле присутствуют слова в разных кодировках.
(0013198)
zed   
01-11-2013 09:09   
У всех файлов с geonames одна кодировка - utf-8.
(0013199)
Garl   
01-11-2013 09:12   
ок скачал 4,106,173

строка 7028
625662 Makarychy Makarychy Makarichi,Makarychy, М а к а р и ч и, М а к а р ы ч ы 52.9743 28.3158 P PPL BY 05 0 171 Europe/Minsk 2012-01-18

иль я не прав?
(0013200)
Garl   
01-11-2013 09:22   
наша строка 7031

625665 Mahilyow Mahilyow MVQ,Magiljou,Maguilov,Mahileu,Mahiliou,Mahilioŭ,Mahiljou,Mahiljov,Mahiljow,Mahiljoŭ,Mahilou,Mahiloŭ,Mahilyow,Mahilëŭ,Mogil'ov,Mogilev,Mogileva,Mogilew,Mogiliavas,Mogiliovas,Mogiljov,Mogilov,Mogilëv,Mogiļeva,Moguilev,Mohylew,Магілёў,Могилев,Могильов,Могилёв,Могиљов 53.9168 30.3449 P PPLA BY 06 369200 184 Europe/Minsk 2013-06-27

слово "Могилев" в ней есть точно
и она выводится в первом же результате поиска
только выводится как "Могиљов" - в этом загвоздка?
(0013201)
Garl   
01-11-2013 09:31   
итак:
код
            l := length(sname);
            while (copy(sname,l,1)<>',') and (l>0) do dec(l);
            sname := copy(sname,l+1,length(sname)-l);
берёт из строки
'MVQ,Magiljou,Maguilov,Mahileu,Mahiliou,Mahiliou,Mahiljou,Mahiljov,Mahiljow,Mahiljou,Mahilou,Mahilou,Mahilyow,Mahileu,Mogil'ov,Mogilev,Mogileva,Mogilew,Mogiliavas,Mogiliovas,Mogiljov,Mogilov,Mogilev,Mogileva,Moguilev,Mohylew,Магілёў,Могилев,Могильов,Могилёв,Могиљов'

самое последнее название, т.к. оно является местным.
если не устраивает - предложите алгоритм какое из вышеуказанных названий из строки нужно выводить? и как его вытяскивать , учитывая что строка может быть и пустой.
(0013202)
Yurec66   
01-11-2013 09:40   
>У всех файлов с geonames одна кодировка - utf-8.

name : name of geographical point (utf8) varchar(200)
asciiname : name of geographical point in plain ascii characters, varchar(200)

>и она выводится в первом же результате поиска
Где? Не увидел.

>только выводится как "Могиљов" - в этом загвоздка?
Как вы считаете, если бы Москва выводилась ка Мысква, это было бы то же самое?

И если слово присутствует 100% то почему оно именно не выводится? Или как я уже писал при 100% совпадении при нахождении просто позиционировать на карте без вывода доп. информации. А в случае нахождения 2-х и долее одинаковых 100% совпадений выводить варианты для выбора.
(0013203)
Yurec66   
01-11-2013 09:49   
>самое последнее название, т.к. оно является местным.
Могиљов Сколько живу в Беларуси ни разу не слыхал такого диалекта
(0013204)
Garl   
01-11-2013 10:04   
>>и она выводится в первом же результате поиска
> Где? Не увидел.
Snap_001.jpg

> А в случае нахождения 2-х и долее одинаковых 100% совпадений выводить варианты для выбора.
так оно и делается.
только как узнать 100% совпадение или нет?
к примеру если набрать "Красное" выйдет и "Красное" и "Красное Село" что есть правильно? что выводить в заголовок результата поиска?
везде "Красное" ?

>>только выводится как "Могиљов" - в этом загвоздка?
> Как вы считаете, если бы Москва выводилась ка Мысква, это было бы то же самое?
с точки зрения алгоритма - да
(0013205)
Yurec66   
01-11-2013 10:24   
(edited on: 01-11-2013 10:32)
>только как узнать 100% совпадение или нет?
Выполнять поиск используя дилемитеры. Это не сложно, если мы поиск ведем конкретно по 4-му полю.

ps
как вариант функция из Rx
function IsWordPresent(const W, S: string; const WordDelims: TCharSet): Boolean;

Берем 4-е поле как целую строку, подсчитываем кол-во запятых. И в цикле перебираем каждое слово используя WordDelims как [','] на точное совпадение.

(0013206)
zed   
01-11-2013 10:26   
Yurec66
Вот вы процитировали, но смысл не поняли. Поле asciiname - это то же, что и поле name, только без национальных символов - они все заменяются на ansii символы. Скорее всего сделано для совместимости с программами, не умеющими работать с юникодом.

Повторяю, все файлы идут в utf-8 кодировке. Об этом чётко написано в самом начале readme: The data format is tab-delimited text in utf8 encoding.

Garl
>самое последнее название, т.к. оно является местным.

Нет, оно не является местным. В этом поле через запятую идут альтернативные названия на различных языках. Конкретно Могиљов - это название города на сербском языке.
(0013207)
Garl   
01-11-2013 11:38   
>Нет, оно не является местным. В этом поле через запятую идут альтернативные названия на различных языках. Конкретно Могиљов - это название города на сербском языке.

наши действия?
мутить хитрый вывод заголовка?
(0013208)
zed   
01-11-2013 11:56   
(edited on: 01-11-2013 11:59)
>мутить хитрый вывод заголовка?
Там ничего хитрого и Yurec66 уже описал примерный алгоритм. Только тебе там никаких дополнительных функций не нужно - подстрока парсится тем же TStringList на ура.

(0013209)
Garl   
01-11-2013 12:12   
https://bitbucket.org/sas_team/sas.planet.src/pull-request/235/2238
(0013210)
Yurec66   
01-11-2013 14:04   
Смотрю комментов не добавилось, а появилась картинка после поиска по слову "могилев". Так вот, конфуз однако. На карте стрелка позиционирована верно, хоть не видно имени, но верно. Однако в предлагаемом списке красным подчеркнуто не является истиной. Присмотритесь внимательно, там написано "Europe/Kiev" а это есть Украина. А на Украине нет города "Могилев", есть "Могилев подольский". Если быть точным, то в кассах Ж/Д наш Белорусский Могилев у них идет как "Могилев на Днепре". Но не суть. Пока одобрям по поиску сказать не могу, если подчеркнуто именно то, на что вы считаете позиционирована стрелка на карте.
(0013211)
zed   
02-11-2013 18:06   
Garl
Сейчас имена нормально выводит, но не позиционирует на Могилев. Одно починил, второе сломал :(
(0013212)
Garl   
03-11-2013 10:10   
> но не позиционирует на Могилев.
так и было. при количестве результатов > 1 результаты сотрируются по
 отдалённости от текущего центра карты и выбирается ближайший.