Найдено 17 результатов

GLaz
Сб июн 08, 2013 12:06 pm
Форум: Баги
Тема: Баги в v2.02 (build 905-1111)
Ответы: 599
Просмотры: 139623

Re: Баги в v2.02 (build 905-923)

Не скажу, как у меня это получилось, но на экране было два окна программы: одно нормальное (как обычно), а другое вот такое:
blank_window.jpg
GLaz
Вс июн 02, 2013 10:44 pm
Форум: Баги
Тема: Баги в v2.02 (build 905-1111)
Ответы: 599
Просмотры: 139623

Re: Баги в v2.02 (build 905-920)

При такой конфигурации мониторов (основной 1920х1080, второстепенный 1366х768): displays_config.jpg После открытия/закрытия программы на втором мониторе, окно восстанавливается неправильно. Вот скрин до закрытия: before_close.jpg Вот после открытия: after_reopen.jpg (скрины в масштабе 25%) Если откр...
GLaz
Чт ноя 27, 2008 12:42 am
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re: Нужен быстрый алгоритм сравнения WIDE-строк

Только что нарыл в документации по юникоду, что вся эта система с весами работает хорошо, пока не встречаются исключения. А именно "CJK Ideographs" и "Hangul Syllables". Первое - это что-то китайское, второе - корейский алфавит. Описано каким образом эти иероглифы раскладываются ...
GLaz
Ср ноя 26, 2008 11:51 pm
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re:

Max Diesel писал(а): Насколько я знаю для иероглифов нет разделения по регистрам. Переменная res получится равной 0.
Проверил. Этих иероглифов действительно нет в массиве. Читаю unicode стандарт и пытаюсь понять, почему.
GLaz
Ср ноя 26, 2008 10:01 pm
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re:

Я не совсем понял принципа работы этого массива... если взять два случайных юникодных символа (каждый из которых имеет код в промежутке от 0 до 65536) и посчитать по ним это: int res=weight(*wch1) - weight(*wch2); то почему-то в большинстве случаев получается 0, а не плюсовое/минусовое значение. Дл...
GLaz
Ср ноя 26, 2008 2:27 pm
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re: Нужен быстрый алгоритм сравнения WIDE-строк

Вот тот же самый алгорит сравнения, только добавил веса для сравнения без учета регистра для юникод символов 0-65535 (см. аттач). Будет работать для любого языка. Такой статический массив добавляет к исполняемому файлу 128 Кб. Если использовать какой-то упаковщик, то намного меньше (там нулей куча)....
GLaz
Ср ноя 26, 2008 8:57 am
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re:

В моем образовании есть небольшие пробелы размером с антарктиду - некоторые конструкции в этом алгоритме мне непонятны. С указателями я обычно стараюсь дел не иметь, предпочитаю строки. Если я правильно понимаю, сравнение с учетом регистра производится здесь: return static_cast<int>(*str1) - static...
GLaz
Ср ноя 26, 2008 12:06 am
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re:

ansi Brother Watson watson дает вот такой результат: Brother Watson ansi watson Сравнение строк без учета регистра - это уже третья задача :) Перевод из верхнего регистра в нижний - очень нетривиальная задача. Если для английского языка это можно сделать достаточно просто (ну и для русского и украи...
GLaz
Вт ноя 25, 2008 8:19 pm
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re: Нужен быстрый алгоритм сравнения WIDE-строк

Вот новый алгоритм, который может сравнивать числа любого размера. В качестве разделителя - точка и запятая. По скорости должен быть приблизительно такой же, как и предыдущий. Если вдруг будет баг с какой-то парой строк - пиши, отдебажу. bool is_digit(wchar_t c) { return c >= L'0' && c <= L'...
GLaz
Вт ноя 25, 2008 6:44 pm
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re:

... Проблемность этого алгоритма в том, что во-первых для дробных чисел ставится некоторый фиксированный разделитель целой и дробной части ... Насколько я понимаю разделителем может быть точка или запятая. Любой другой символ смысл вряд-ли будет иметь. Подправить будет не проблема. ... и во-вторых ...
GLaz
Чт ноя 06, 2008 2:55 pm
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re: Нужен быстрый алгоритм сравнения WIDE-строк

Вот полный алгоритм сравнения с собственным переписанным wtof. Разделитель по умолчанию - запятая. Можно легко поменять. Внутри строки распознаются флоаты, начинающиеся с цифры (а не с запятой). Надеюсь, что помог. bool is_digit(wchar_t c) { return c >= L'0' && c <= L'9'; } // converts inStr...
GLaz
Ср ноя 05, 2008 8:58 pm
Форум: Проблемы программного кода
Тема: Нужен быстрый алгоритм сравнения WIDE-строк
Ответы: 45
Просмотры: 19940

Re: Нужен быстрый алгоритм сравнения WIDE-строк

Вот вариант, когда числа сравниваются только целые. По этому же принципу можно было бы сделать и для дробных, используя _wtof, только вот разделителем бы была точка, а не запятая. Ищу как изменить стандартный разделитель в плюсах. bool is_digit(wchar_t c) { return c >= L'0' && c <= L'9'; } /...
GLaz
Пт окт 31, 2008 2:17 am
Форум: Разговорное отделение
Тема: Ваши скриншоты UC
Ответы: 6
Просмотры: 4467

Re: Ваши скриншоты UC

Три градации синего показывают насколько давно изменен файл (час, день и три дня). Красным - выделение.
GLaz
Чт окт 30, 2008 11:43 pm
Форум: Вопросы, не попадающие ни в одну из категорий
Тема: Выполнение команды dos без закрытия окна cmd.exe
Ответы: 5
Просмотры: 5535

Re: Выполнение команды dos без закрытия окна cmd.exe

Да, и насколько я понимаю, то запретить консоли закрываться не так уж и сложно, достаточно передать в cmd.exe ключ /K
GLaz
Чт окт 30, 2008 11:37 pm
Форум: Вопросы, не попадающие ни в одну из категорий
Тема: Выполнение команды dos без закрытия окна cmd.exe
Ответы: 5
Просмотры: 5535

Re: Выполнение команды dos без закрытия окна cmd.exe

Нашел, как пользоваться консолью Ctrl+O. Приятно.
То, что хочется, можно сделать комбинацией Ctrl+Enter -> Ctrl+O -> Enter
Все же приятно было бы иметь что-то типа Shift+Enter