Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.11.2009, 01:47
Serg L вне форума Посмотреть профиль Отправить личное сообщение для Serg L Найти все сообщения от Serg L
  № 1  
Ответить с цитированием
Serg L

Регистрация: Sep 2009
Сообщений: 8
По умолчанию Сортировка по украинскому алфавиту

Вот столкнулся с такой проблемой. Выбираю из БД список фамилий на украинском языке и фамилии начинающиеся на буквы отсутствующие в русском (і, є, ї) становятся в начале списка (перед а). При чем порядок нарушен как при выборе из БД с помощью ПХП, так и при сортировке в DataGrid.
Может кто знает как решить проблему или хотя бы в каком направлении копать.

Старый 16.11.2009, 10:22
BeDLiNt вне форума Посмотреть профиль Отправить личное сообщение для BeDLiNt Найти все сообщения от BeDLiNt
  № 2  
Ответить с цитированием
BeDLiNt
 
Аватар для BeDLiNt

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Напиши свою функцию сортировки для column с фамилией.
sortCompareFunction
__________________
2+2=5

Старый 16.11.2009, 23:36
Serg L вне форума Посмотреть профиль Отправить личное сообщение для Serg L Найти все сообщения от Serg L
  № 3  
Ответить с цитированием
Serg L

Регистрация: Sep 2009
Сообщений: 8
Спасибо за подсказку. Изучу пример, если получится результат выложу, думаю еще кому-нибудь пригодится.

Добавлено через 1 час 21 минуту
Я в программировании новичек. Не подскажете где можно подсмотреть пример алгоритма сортировки по алфавиту?

Старый 17.11.2009, 02:34
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
В качестве примера:
Код AS3:
const LOWER:String = "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя";
const UPPER:String = "АБВГҐДЕЄЖЗИIЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ";
 
function sortUkr(a:String, b:String):int
{
	var i:int = Math.min(a.length, b.length);
	var j:int;
	var ai:int;
	var bi:int;
	var ca:String;
	var cb:String;
	var isUpper:Boolean;
	while (j < i)
	{
		ca = a.charAt(j);
		cb = b.charAt(j);
		ai = Math.max(LOWER.indexOf(ca), UPPER.indexOf(ca));
		bi = Math.max(LOWER.indexOf(cb), UPPER.indexOf(cb));
		if (ai < bi) return -1;
		else if (ai > bi) return 1;
		j++;
	}
	if (a.length < b.length) return -1;
	else if (a.length > b.length) return 1;
	return 0;
}
 
var arr:Array = [];
var i:int = 10;
var j:int;
var s:String;
while (i--)
{
	j = 1 + Math.random() * 10;
	s = "";
	while (j--)
	{
		if (Math.random() > 0.49)
		{
			s += LOWER.charAt((Math.random() * LOWER.length) >> 0);
		}
		else
		{
			s += UPPER.charAt((Math.random() * UPPER.length) >> 0);
		}
	}
	arr.push(s);
}
 
trace(arr.join("\r"));
trace("-------------------");
arr = arr.sort(sortUkr);
trace(arr.join("\r"));
Ну только латинские символы или знаки препинания и цифры нужно будет тоже отдельно обработать.
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:31.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.