Ru-Board.club
← Вернуться в раздел «Программы»

» Mark - небольшой удобный редактор

Автор: Harrier
Дата сообщения: 21.01.2006 09:40
Ну, вот сказал.
Автор: vito333
Дата сообщения: 21.01.2006 13:52
так, если и сейчас это имеет место, то:
1. пооткрывай файлов 5-10, чтобы наполнить список
2. посмотри ветку реестра HKEY_CURRENT_USER\Software\Mark Editor\MRU\
там собственно и хранятся ключи вида MRU1, MRU2 и т.д.
Значением каждого ключа и является строка с именем файла, например "E:\===Lib===\Dicts\Bases\korolew_enru.txt"
3. если в реестре эти имена отображены нормально, значит ошибка при считывании, если (как было у меня) вместо строк короткие наборы цифр или букв, значит проблема при сохранении.
Эта информация позволит мне конкретно покопаться в нужном месте.
4. что за система? какие установки?
Автор: Harrier
Дата сообщения: 21.01.2006 18:51
vito333

Интересно, что при тесте всё получилось! Открыл кучу файлов, потом посмотрел историю и там нормально отобразились имена. Совершенно не понятно, потому, что всегда были "квадраты". Посмотрел ветки в реестре, там тоже имена отображаются нормально. Может это исправления в последней версии? Хотя, когда эту версию установил, то в списке файлов были квадраты... После этого список очистил. И вот только сейчас для теста проделал то, что ты попросил. Всё сработало.
Автор: ALeXkRU
Дата сообщения: 21.01.2006 20:23
не подскажете, почему с новой версией при открытии (и любом действии) появляются вот такие ошибки:
и
Автор: vito333
Дата сообщения: 22.01.2006 06:05
Harrier
всё как раз понятно - в реестре были некорректные записи, они в новой бетке так и отображались как есть, а почистив список ты избавился от квадратов в реестре.

Добавлено:
ALeXkRU
посмотрю. А старая версия работает ОК?
Автор: Harrier
Дата сообщения: 22.01.2006 09:24
vito333

Ok.
Автор: vito333
Дата сообщения: 22.01.2006 09:41
[x] 22.01.06 найдены пропавшие тултипы в статусбаре.

Добавлено:
ALeXkRU
должно работать теперь
Автор: ALeXkRU
Дата сообщения: 22.01.2006 14:23
vito333
теперь - такая вылезает:

раз тридцать шесть подряд

Добавлено:

Цитата:
А старая версия работает ОК?

у меня сохранилась только от 19.10 - работает
Автор: ent
Дата сообщения: 22.01.2006 21:30
ALeXkRU
У меня такая же проблема.
vito333
Версия от 28-12-2005 работает нормально.
Автор: vito333
Дата сообщения: 23.01.2006 04:03
- мелкие багфиксы.

ALeXkRU

Цитата:
раз тридцать шесть подряд

представляю твои эмоции

теперь должно работать чисто
Автор: ALeXkRU
Дата сообщения: 23.01.2006 04:56
vito333
уррра!!! заработала © (кот Матроскин)
спасибо
Автор: ent
Дата сообщения: 23.01.2006 10:08
ALeXkRU
Подтверждаю!
vito333
Быстро починенное не считается сломавшимся. (c) Ent.
Спасибо.
Автор: l_Instructor_l
Дата сообщения: 24.01.2006 16:58
Я всех категорически приветствую.

У меня вопрос к vito333. Видел на форуме, что ты используешь TM_PLAINTEXT, вопрос в следующем, как тебе удалось победить RichEdit баг, когда в конце текста имеется \r\n - не возможно перейти на последнюю строку и скролл также не спускается до конца при прокрутке. Редактор пишется на чистом API (открытый исходный код) используется richedit20.dll. Уже изнемогаю, помогает только TM_RICHTEXT, но он не пригоден по причине того, что он форматирует специальные символы шрифта при вставке из буфера. Буду признателен за помощь.
Автор: vito333
Дата сообщения: 25.01.2006 03:02
l_Instructor_l
я специально не боролся с таким глюком. Может дело в том, что Марк сейчас может на автомате использовать как richedit20, так и richedit50w и под ХР глюка нет (на richedit50w)? либо ещё какие настройки вляют.
Автор: l_Instructor_l
Дата сообщения: 25.01.2006 11:28
Спасибо за ответ буду искать.
Автор: vito333
Дата сообщения: 25.01.2006 15:56
l_Instructor_l
вообще заморочек с начальной настройкой ричедит-окна было много. Покопайся.
Автор: eLsIe
Дата сообщения: 25.01.2006 22:26
Заметил в версии от 20 января, но, возможно, было и раньше.
Захожу в "Поиск и замена", набираю, что искать и на что заменить; нажимаю "Заменить все". Слева от "Искать" появляется "градусник" и всё замирает. Нажимаю "Заменить" - срабатывает "заменить всё"... Вместо "Заменить" можно нажать "Искать" - эффект тот же. В версии от 23 января (вверху написано 22 января, но по дате файлов...) всё работает (точнее - не работает) так же...
Автор: vito333
Дата сообщения: 26.01.2006 04:21
eLsIe
исправлено.
Появилось в последних паре бет.
Автор: sabio
Дата сообщения: 26.01.2006 11:15
Есть небольшая проблемка.
При вставке из буфера mark не сбрасывает форматирование и прочие rich-text атрибуты. Например, цвет фона, таблицы и т.д. Конечно, после сохранения и повторного открытия это все исчезает. Но все-таки как-то странно наблюдать в _текстовом_ редакторе разноцветный текст, всякие рамочки и пр.
Автор: l_Instructor_l
Дата сообщения: 26.01.2006 11:20
vito333
Если ты писал на API, то возможно заметишь какую нибудь особенность у нижеприведенного минимального приложения, в сравнении со своим. Просто этот код самый минимум - уже не знаю куда рыть.

[more=code]

Код:
#include <windows.h>
#include <richedit.h>

LRESULT CALLBACK WndProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch (Message)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
default:
return DefWindowProc(hWnd, Message, wParam, lParam);
}
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hMain;
HINSTANCE richDll;
HWND hRich;
MSG msg;
WNDCLASSEX wc;

wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(0, IDC_ARROW);
wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
wc.lpszMenuName = NULL;
wc.lpszClassName = "My Class";
wc.hIconSm = NULL;
RegisterClassEx(&wc);

hMain = CreateWindowEx(0, "My Class", "My Title", WS_OVERLAPPEDWINDOW, 0, 0, 640, 480, 0, 0, hInstance, 0);
richDll = LoadLibrary("RICHED20.DLL");
hRich = CreateWindowEx(0, "RichEdit20A", NULL, WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|ES_MULTILINE|ES_DISABLENOSCROLL|ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_NOHIDESEL|WS_BORDER, 10, 10, 400, 400, hMain, 0, hInstance, 0);

SendMessage(hRich,EM_SETTEXTMODE,TM_PLAINTEXT|TM_MULTILEVELUNDO|TM_MULTICODEPAGE,0);
SendMessage(hRich,WM_SETTEXT,0,(LPARAM)"Last line with carriage return\r\n");
SetFocus(hRich);

ShowWindow(hMain, nCmdShow);
UpdateWindow(hMain);

while (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

FreeLibrary(richDll);
return msg.wParam;
}
Автор: ArtLonger
Дата сообщения: 26.01.2006 12:11
vito333
UPX, please...
Автор: WildCat
Дата сообщения: 26.01.2006 13:09
А чего-то после одного из последних обновлений, Mark перестал запоминать последнюю строчку поиска -- приходится каждый раз заново набирать, а раньше, при нажатии Ctrl+F, в поле ввода была выделенная предыдущая строчка поиска. Можно поправить? А то удобно было
Автор: vito333
Дата сообщения: 26.01.2006 16:48
sabio
хорошо, поправлю, уже не раз мне об этом говорили.
ArtLonger
да вроде выложил сегодня.
WildCat
скачай. Сегодня я тихо выложил подправленную версию.

Добавлено:
l_Instructor_l
укороти свой пост, не надо простыни вешать.
Я выложу тебе свои настройки ричедита.

[more=Смотри тут]

//============================================================================
//
// Инициализация нового RichEdit окна
//
BOOL classDoc::RTFinit ()
//
//
{
//goto EX;
    //SendMessage(_hRTF,WM_SETTEXT,0,(LPARAM)L""); // нужно, если ставить TM_PLAINTEXT
    SendMessage(_hRTF,EM_SETTEXTMODE,/*TM_PLAINTEXT|*/TM_MULTILEVELUNDO|TM_MULTICODEPAGE,0); //TM_MULTICODEPAGE - default
    InitCharFormat     (_cf);
    SetRTF_BkGrColor (_BkGrColor);
    //InitCharFormat     (_cf);
    SetRTF_FontColor (_fontColor);
    
    
    SendMessage(_hRTF,EM_SETEDITSTYLE,SES_EMULATESYSEDIT|SES_XLTCRCRLFTOCR,SES_EMULATESYSEDIT|SES_XLTCRCRLFTOCR);
    //SendMessage(_hRTF,EM_SETMARGINS,EC_LEFTMARGIN/*|EC_USEFONTINFO*/,20);

    // selection bar
    //SendMessage(hRTF, EM_SETOPTIONS, ECOOP_OR, ECO_SELECTIONBAR);
    //SendMessage(_hRTF, EM_SETOPTIONS, ECOOP_AND, ~ECO_SELECTIONBAR);

    ::SendMessage(_hRTF,EM_SETLANGOPTIONS,0,
        ::SendMessage(_hRTF,EM_GETLANGOPTIONS,0,0) & ~IMF_AUTOFONT );

    ::SendMessage(_hRTF,EM_SETTYPOGRAPHYOPTIONS,TO_ADVANCEDTYPOGRAPHY,TO_ADVANCEDTYPOGRAPHY);

    /* --- увеличиваем ограничение размера текста --- */
    ::SendMessage(_hRTF,EM_EXLIMITTEXT,0,INT_MAX-2);

    _docSettings.WW ? WordwrapOn () : WordwrapOff ();
    _docSettings.ShowURLs ? HighlightURLs (TRUE) : HighlightURLs (FALSE); // тормозит загрузку

    /* --- set event mask --- */
    ::SendMessage( _hRTF,EM_SETEVENTMASK,0,
        ENM_MOUSEEVENTS|
        ENM_KEYEVENTS|
        ENM_CHANGE|    // смотреть через WM_COMMAND! какое-то изменение в риче
        ENM_DRAGDROPDONE| // совершена операция драг-н-дроп - надо поправить формат шрифта !!!
        ENM_DROPFILES|
        ENM_LINK|
        //ENM_OBJECTPOSITIONS|
        //ENM_PROTECTED|
        //ENM_REQUESTRESIZE| // дико тормозит загрузку-ресайз РТФ-а !!!
        //ENM_SCROLL|
        //ENM_SCROLLEVENTS|
        ENM_SELCHANGE//|
        //ENM_UPDATE
        );

    // ЧТОБЫ КАК НОВЕНЬКИЙ )))
    ::SendMessage (_hRTF, EM_EMPTYUNDOBUFFER,0,0);
    ::SendMessage (_hRTF, EM_SETMODIFY,FALSE,0);
//EX:
    return TRUE;
}

стили самого окна при создании думаю малозначимы.
[/more]
Автор: sabio
Дата сообщения: 26.01.2006 19:12

Цитата:
UPX, please...

Я вот не понимаю этого. А самому запустить UPX -9 mark.exe - это так сложно что ли?
Автор: vito333
Дата сообщения: 27.01.2006 01:49
sabio
а ты попробуй сначала сам
Автор: l_Instructor_l
Дата сообщения: 27.01.2006 08:00
Спасибо vito за код. К сожалению, проблема не решилась, но кое какие мысли появились.
Автор: piterplus
Дата сообщения: 30.01.2006 01:04
К сожалению в последней версии в "окне поиск и замена" перестали запоминаться слова предыдущих поисков и в выпадающем списке только остались старые. Удалил в реестре в ветке find все FH1, FDH2 и т.д., после этого список вообще перестал открываться. Вернулся пока к старой версии, там все работает.
Автор: ShIvADeSt
Дата сообщения: 30.01.2006 01:21
piterplus

Цитата:
К сожалению в последней версии в "окне поиск и замена" перестали запоминаться слова предыдущих поисков и в выпадающем списке только остались старые.

есть такая тема
А вот еще одна находка. Для примера запускаем DxDiag.exe заходим в закладку Дисплей там копируем из ричедита текст
Неполадок не найдено.
Для проверки DirectDraw нажмите кнопку "Проверка DirectDraw".
Для проверки Direct3D нажмите кнопку "Проверка Direct3D".

Теперь запускаем Марк, и обнаруживаем следующее поведение:
если мы вставляем текст при помощи ctrl+v то текст вставляется в текущей для марка раскраске и настройках шрифта, если вставляем при помощи shift+insert то вставляется в настройках ричедита средства диагностики, то есть кружочки слева. маленькие черные буковки. То есть реализация методов вставки различны для двух казалось бы одинаковых действий.
Более интересное наблюдение будет если мы скопируем текст из закладки Файлы ДиректХ, при вставке в марк если первой была вставка по ctrl+v то шрифт нормальный, при последующей ставке по shift+insert текст вставляется уже с настройками средства дагностики, как бы мы потом не вставляли.
Автор: vito333
Дата сообщения: 30.01.2006 14:19
[x] 30.01.06 не запоминалась история поиска-замены.
Автор: vito333
Дата сообщения: 31.01.2006 02:01
ShIvADeSt

я пока не осознал чётко, как бы мне перехватить встроенную вставку по CTRL-V в ричедите, потому до сих пор нет единообразной нормальной вставки.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Какой нужен формат?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.