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

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

Автор: vito333
Дата сообщения: 10.04.2006 13:28
OdesitVadim

Цитата:
Решил влиться в ряди плагинописателей

ряды нестройные, надо честно сказать - редкие ряды

но надо сказать, что ваша поддержка заставляет меня как-то ответственнее относиться к проекту, придётся соответствовать




а сервис надо таки менять, да.
Вот уже который месяц собираюсь страничку простейшую сваять, да там и выкладывать.
Только вот умения нет.


Добавлено:
http://slil.ru/22672379


Добавлено:

Цитата:
vito333 если сделаеш какой-либо способ с плагина дать команду марку открыть файл (можно например с помощью посылки сообщений)

хорошая мысль, я как-то задумывался над тем, что в следующей инкарнации марка буду API делать сразу, но видимо начнём сейчас

сообщения загрузки прямой файла нет, но сегодня сделаю, да и этот файл ресурсов буду в плагин sdk вкладывать
[more]
сообщения слать главному окну
часть сообщений не работает, так как уже не используются
выбирать сообщения IDM_...
#define IDFIND 3
#define IDREPLACE 4
#define IDREPLACEALL 5
#define IDM_SEPARATOR 101
#define IDI_MARK 101
#define IDM_MENUEND 102
#define IDM_ACCELASSIGN 103
#define IDM_ACCELRESET 104
#define IDM_ABOUT 105
#define IDM_NEW 106
#define IDM_OPEN 107
#define IDM_EXIT 108
#define IDM_SAVEWINPOSITION 109
#define IDM_FONTWIN 110
#define IDM_FONTOEM 111
#define IDM_BACKGRCOLOR 112
#define IDM_FONTCOLOR 113
#define IDW_STATUSBAR 114
#define IDM_SELECTALL 115
#define IDM_PRINTPREVIEW 116
#define IDM_WINDOWTILEVERT 117
#define IDM_WINDOWTILEHORIZ 118
#define IDM_WINDOWCASCADE 119
#define IDM_WINDOWICONS 120
#define IDM_PRINT 121
#define IDM_PRINTSETUP 122
#define IDM_SAVEAS 123
#define IDM_FONTKOI 124
#define IDM_UNDODETAILED 125
#define IDC_TOOLBAR 125
#define IDM_WORDWRAP 126
#define IDM_PROPERTIES 127
#define IDM_SHOWURLS 128
#define IDM_FIND 129
#define IDM_UNDO 130
#define IDM_REDO 131
#define IDM_CUT 132
#define IDM_COPY 133
#define IDM_PASTE 134
#define IDM_DELETE 135
#define IDC_REBAR 136
#define IDM_SHOWTOOLBAR 137
#define IDC_TABBAR 138
#define IDM_FONTINCREASE 139
#define IDM_FONTDECREASE 140
#define IDV_UPDATEINFOS 141
#define IDM_OPENWITHMARK 142
#define IDM_SHOWTABBARALWAYS 143
#define IDM_DELETELINE 144
#define IDM_CLOSE 145
#define IDD_ABOUT 146
#define IDD_ACCELASSIGN 147
#define IDM_CLOSEALL 148
#define IDM_SAVE 149
#define IDM_POPUP 150
#define IDM_LANG_RU 151
#define IDM_LANG_ENG 152
#define IDB_MARK16 155
#define IDD_FIND 156
#define IDD_OFNSAVE 157
#define IDD_OFNLOAD 158
#define IDD_INSERTTIMEDATE 159
#define IDM_INSERTTIMEDATE 160
#define IDD_FILEASSOCIATIONS 160
#define IDB_TOOLBAR16 162
#define IDD_GOTO_DLG 163
#define IDI_SBSAVED 164
#define IDI_SBSAVEDDIS 165
#define IDI_SBWORDWRAP 166
#define IDI_SBWORDWRAPDIS 167
#define IDM_OPENASDOS 171
#define IDD_DIALOG1 171
#define IDD_TRANSPARENCY 171
#define IDM_OPENASWIN 172
#define IDD_SETTINGS 172
#define IDM_OPENASKOI8R 173
#define IDD_SETTINGSPAGE1 173
#define IDM_OPENASUTF16LE 174
#define IDD_SETTINGSPAGE2 174
#define IDM_OPENASUTF8 175
#define IDD_SETTINGSPAGE3 175
#define IDC_WRITEUTFSIGN 176
#define IDD_FORMATTIMEDATE 176
#define IDM_CHARLOWER 177
#define IDD_TABSTOPS 177
#define IDM_CHARUPPER 178
#define IDD_PRINTPREVIEW 178
#define IDM_MRUCLEAR 179
#define IDM_FILEASSOCIATE 180
#define IDM_SAVEALL 181
#define IDM_RELOAD 182
#define IDM_TABBARONTOP 183
#define IDM_ONEINSTANCEONLY 184
#define IDM_PSEUDOSDI 185
#define IDM_KEEPSPACELEFT 186
#define IDM_SYNTAXHL_OFF 187
#define IDM_SYNTAXHL_AUTO 188
#define IDM_PRINTBLACKWHITE 189
#define IDM_INDENTTAB 190
#define IDM_UNINDENTTAB 191
#define IDM_TOOGLESTAYONTOP 192
#define IDM_KEEPFILETIME 193
#define IDM_TIME12AMPM 194
#define IDM_KEEPFINDDLGPOS 195
#define IDM_SYSTEMASSODLG 196
#define IDM_RUNCHARMAP 197
#define IDM_GOTOLINE 198
#define IDM_CAPITALIZE 199
#define IDM_RTFCOMPACTORASSO 200
#define IDM_CONVERT_TO 201
#define IDM_CONVERT_TO_866 202
#define IDM_CONVERT_TO_1200 203
#define IDM_CONVERT_TO_20866 204
#define IDM_CONVERT_TO_65001 205
#define IDM_CONVERT_TO_1251 206
#define IDM_FINDNEXT 207
#define IDM_COLLECTCLIPBOARD 208
#define IDM_TRANSPARENCY 210
#define IDM_MINIMIZETOTRAY 211
#define IDM_KEEPCURSORPOS 212
#define IDM_GOBACK 213
#define IDM_GOFORWARD 214
#define IDM_OPENASAS 215
#define IDM_FORMATTIMEDATE 216
#define IDM_SETTINGSDLG 217
#define IDM_SETTABSTOPS 219
#define IDM_SHOWFORMATCHARS 220
#define IDM_ALIGNLEFT 221
#define IDM_ALIGNRIGHT 222
#define IDM_ALIGNCENTER 223
#define IDM_ALIGNJUSTIFY 224
#define IDM_DLL_0 300
#define IDM_DLL_1 301
#define IDM_DLL_2 302
#define IDM_DLL_3 303
#define IDM_DLL_4 304
#define IDM_DLL_5 305
#define IDM_DLL_6 306
#define IDM_DLL_7 307
#define IDM_DLL_8 308
#define IDM_DLL_9 309
#define IDC_HOTKEY1 1003
#define IDC_COMBOFIND 1005
#define IDC_COMBOREPLACE 1006
#define IDC_RADIOVEZDE 1007
#define IDC_RADIOVPERED 1008
#define IDC_RADIONAZAD 1009
#define IDC_CHECKREGISTR 1010
#define IDC_CHECK2 1011
#define IDC_CHECKWHOLEWORD 1011
#define IDC_CHECKFINDINSEL 1012
#define IDC_CHECKREGEXP 1013
#define IDC_COMBOCHOOSECP 1014
#define IDC_STATICCP 1016
#define IDC_STATICCP2 1017
#define IDC_COMBOCHOOSECP2 1018
#define IDC_CHECKCPAUTOCHOOSE 1019
#define IDC_LISTTIMEDATE 1020
#define IDC_EDITOPENFILE 1021
#define IDC_EDITOPENPREVIEW 1021
#define IDC_CHECK1 1024
#define IDC_KEEPTIMEDATE 1024
#define IDC_KEEPPOSITION 1024
#define IDC_FILEASSOCIATIONS 1025
#define IDC_ASSOHELP 1026
#define IDC_PROGRESS_FINDREP 1030
#define IDC_BTNDOWNLOAD 1033
#define IDC_BTNGOFORUM 1034
#define IDC_GOTO 1035
#define IDC_GOTO_STATIC 1036
#define IDC_GOTO_CHAR 1037
#define IDC_GOCHAR_STATIC 1038
#define IDC_LINE_COUNT 1039
#define IDC_LINE_COUNT2 1040
#define IDC_CHAR_COUNT 1040
#define IDC_MARK32 1043
#define IDC_MARKTITLE 1044
#define IDC_SLIDERTRANSP 1046
#define IDC_MAX 1047
#define IDC_NONE 1048
#define IDC_COMBOCHOOSECRLF 1049
#define IDC_SETTINGSTREE 1052
#define IDC_FRAME 1053
#define IDC_STATICCRLF 1054
#define IDC_CLOSEONREPALL 1056
#define IDC_EDITTIME 1058
#define IDC_EDITDATE 1059
#define IDC_SYMBOLBETWEEN 1061
#define IDC_TIME1 1062
#define IDC_TIME2 1063
#define IDC_TIME3 1064
#define IDC_TIME4 1065
#define IDC_TIME5 1066
#define IDC_TIME6 1067
#define IDC_TIME7 1068
#define IDC_TIME8 1069
#define IDC_TIME9 1070
#define IDC_TIME10 1071
#define IDC_RESULT 1072
#define IDC_DATE1 1073
#define IDC_TIMETITLE 1075
#define IDC_TIME11 1076
#define IDC_TIME12 1077
#define IDC_DATE2 1078
#define IDC_DATE3 1079
#define IDC_DATE4 1080
#define IDC_DATE5 1081
#define IDC_DATE6 1082
#define IDC_DATE7 1083
#define IDC_DATE8 1084
#define IDC_DATE9 1085
#define IDC_DATE10 1086
#define IDC_DATE11 1087
#define IDC_DATE12 1088
#define IDC_DATE13 1089
#define IDC_TIMETITLE1 1090
#define IDC_DATETITLE1 1091
#define IDC_DATETITLE 1092
#define IDC_EDITTABSTOPS 1093
#define IDC_BUTTON1 1095
#define IDC_BUTTONPRINTPRE 1095
#define IDM_PLUGINMENUITEM_DUMMY 4000
[/more]

Добавлено:

Цитата:
а также возможность вешать плагины на определённый горячие кнопки

подумаю, как сделать
Автор: Harrier
Дата сообщения: 10.04.2006 14:08
vito333


Цитата:
Вот уже который месяц собираюсь страничку простейшую сваять, да там и выкладывать.
Только вот умения нет.


В общем-то я могу этим заняться, опыт есть. )
Если интересно, то давай в ПМ разговор продолжим.

Добавлено:
Если честно, то не знаю для чего нужен плагин "калькулятор", а вот плагин, который мог конвертировать текств в транслит и обратно, был бы весьма полезен. "Цифирица" давно устарела, да и просто не нужна была бы.
Автор: vito333
Дата сообщения: 10.04.2006 14:49
Harrier

Цитата:
не знаю для чего нужен плагин "калькулятор"

он как раз и нужен для того, чтобы когда понадобится кому-то, то он есть

насчёт сайта - ок, договорилсь, подумаю, чего хочу, и напишу. (Хотя на самом деле хочу симпатичный неброский дизайн и легкость выкладки файлов и новостей.)
Автор: OdesitVadim
Дата сообщения: 10.04.2006 14:52
Так чё, наваять? Скачал, посмотрел. Но она ищё может делать как-бы "перевод" с английского. До вечера принимаются предложения по этому плагину, а дома буду клепать

Добавлено:
vito333
А мож cms какой-нибудь стандартный заюзать?
Автор: Harrier
Дата сообщения: 10.04.2006 15:06
vito333

Ok. Ты подумай, и на счёт разделов тоже. ) Подробнее в ПМ или по e-mail обсудим.

To All

Кто умеет писать плагины, подумайте, плиз, на счёт транслитерации!
Автор: vito333
Дата сообщения: 10.04.2006 15:08
OdesitVadim

Цитата:
До вечера принимаются предложения по этому плагину

мало времени людям даёшь.

cms - это что?
Автор: OdesitVadim
Дата сообщения: 10.04.2006 16:20
vito333

Цитата:
До вечера принимаются предложения по этому плагину     

мало времени людям даёшь.

Сама идея принимается. А напильником работать прийдётся неделями (главное чтобы не годами )

Цитата:
cms - это что?

Это системы управления содержимым сайта. поставил, подкрутил и у тебя и новосной раздел, и форум и прочие прелести.
Автор: vito333
Дата сообщения: 10.04.2006 16:52
OdesitVadim
я никогда не занимался сайтостроительством, да и сайтопользованием, так что нифига не знаю конкретного. только в теории.
Автор: sabio
Дата сообщения: 10.04.2006 17:13
vito333

Цитата:
а вообще, насколько необходима подобная система?

Ну я бы, например, очень активно ей пользовался, если бы она была реализована в чем-то примерно Mark-овских габаритов. (AsmMindWeb не в счет - уж очень он беден в плане функциональности).
Но я вполне понимаю нежелание добавлять "фичу для единственного пользователя". И особо требовать ничего не стану. Просто мне такая возможность показалась интересной и довольно удобной, вот и решил, что, возможно, тебя она тоже заинтересует. Ну а нет, так нет.. Может быть и сам когда-нибудь наваяю себе такой wiki-редактор.


Цитата:
cms - это что?

CMS = Content Management System. Системы (обычно очень "тяжелые" и сложные) для создания сайтов и динамического управления контентом. Очень многие из них можно найти и сравнить друг с другом здесь: http://cmsmatrix.org/
Автор: striveman
Дата сообщения: 10.04.2006 19:07

Цитата:
... я вполне понимаю нежелание добавлять "фичу для единственного пользователя".


Вообще-то, идея мне кажется очень интересная!!!
Обеими руками "ЗА"!! Даже помочь готов был бы хоть чем-то - например, активным тестированием )

Уверен, что стоит только появиться подобному инструменту, так спрос на него появится очень даже немаленький!!

Так что, потенциальный пользователь уже совершенно точно не единственный! ))
Автор: ShIvADeSt
Дата сообщения: 11.04.2006 01:30
OdesitVadim

Цитата:
Надо ли делать русские название функций (типа син, кос, а мож и полные названия?)
Делать дублирующие названия (asin и arcsin будут означать одно и тоже)?

ИМХО не надо, как есть так есть, единственное что можно это asin и arcsin поддержку, а так вроде не надо. Насчет транслит-руслит ты сделаешь или мне взяться?
vito333
Когда будет готов препросмотр? Или его тоже в плагины забабахать? Хоть и тяжко придется, так как некоторые вещи придется из реестра брать.
Вот вроде полезные ссылки чтобы не изобретать велосипед и не мучаться с кодом дельфи
http://www.codeguru.com/cpp/w-p/printing/printpreview/article.php/c2943/
http://www.codeguru.com/cpp/w-p/printing/
а так вот код вызова диалога превью в бреде, сплошное АПИ
[more]
function ViewProcess(Dialog: HWnd; Message, WParam: Longint;
LParam: Longint): Longint; stdcall;
var
pdi:PDRAWITEMSTRUCT;
Range: TFormatRange;
TempRc:TRect;
FormatA:TCharFormat;
OldDC,lTextLength,i,j,k:integer;
sz:TSIZE;
s1,s2:str255;
cpp:TPOINT;
begin
ViewProcess := 1;
case Message of
wm_InitDialog:
begin
CharPos:=0;
NextPos:=0;
ipage:=1;
GetWindowText(MainWindow,s1,SizeOf(s1));
s2:='PreView: ';
lstrcat(s2,s1);
SetWindowText(Dialog,s2);
ShowWindow(Dialog,sw_Maximize);
Exit;
end;
wm_Size:
begin
GetClientRect(GetDlgItem(Dialog,102),TempRc);
k:=TempRc.Bottom;
inc(k,4);
if rcPage_.Right<=rcPage_.Bottom then
begin
j:=HIWORD(lparam)-k-2;
i:=MulDiv(j,rcPage_.Right,rcPage_.Bottom);
end
else
begin
i:=LOWORD(lparam)-k;
j:=MulDiv(i,rcPage_.Bottom,rcPage_.Right);
end;
MoveWindow(GetDlgItem(Dialog,104),
(LOWORD(lParam)-i) div 2, k,
i, j,
false);
InvalidateRect(Dialog,nil,true);
end;

wm_DrawItem:
begin
pdi:=PDRAWITEMSTRUCT(lParam);
OldDC:=SaveDC(pdi^.hDC);
FillRect(pdi^.hDC,pdi^.rcItem,GetStockObject(White_Brush));
SetBkColor(pdi^.hDC,GetProfileInt_('Bk',GetSysColor(COLOR_WINDOW)));
SetMapMode(pdi^.hDC,MM_ANISOTROPIC);
SetWindowExtEx(pdi^.hdc,
MulDiv(GetDeviceCaps(pdc,PHYSICALWIDTH),
GetDeviceCaps(pdi^.hdc,LOGPIXELSX),GetDeviceCaps(pdc,LOGPIXELSX)) div Zoom,
MulDiv(GetDeviceCaps(pdc,PHYSICALHEIGHT),
GetDeviceCaps(pdi^.hdc,LOGPIXELSY),GetDeviceCaps(pdc,LOGPIXELSY)) div Zoom,nil);
SetViewportExtEx(pdi^.hdc,pdi^.rcItem.right,pdi^.rcItem.bottom,nil);
if Zoom<>1 then
begin
SetViewportOrgEx(pdi^.hdc,
-tpp.x*(Zoom-1),
-tpp.y*(Zoom-1),
nil);
end;
//--------------------------------------------------------------------------
FillChar(Range, SizeOf(TFormatRange), 0);
with Range do
begin
hdc:=pdi^.hdc;
hdcTarget := pdc;
CopyRect(rcPage, rcPage_);
if HeadP then
begin
lTextLength:=wvsprintf(s1,'-%u-',@ipage);
SetWindowText(GetDlgItem(Dialog,103),s1);
GetTextExtentPoint32(pdc, s1, lTextLength,sz);
TempRc.Left:=(RcPage_.Right - sz.cx)div 2;
TempRc.Right:=rc_.Right;
TempRc.Bottom:=rc_.Top;
TempRc.Top := (rc_.Top-rcPage_.Top - sz.cy)div 2;
CopyRect(rc, TempRc);
chrg.cpMin := 0;
chrg.cpMax := 20;
FillChar(FormatA, SizeOf(TCharFormat),0);
with FormatA do
begin
cbSize := SizeOf(TCharFormat);
dwMask:= integer(CFM_FACE or CFM_CHARSET or CFM_SIZE or CFM_BOLD or CFM_ITALIC
or CFM_COLOR);
end;
SendMessage(RTF, EM_GETCHARFORMAT,
SCF_SELECTION, Longint(@FormatA));
FormatA.yHeight:=0;
SendDlgItemMessage(Dialog,103, EM_SETCHARFORMAT,
SCF_ALL, Longint(@FormatA));
SendDlgItemMessage(Dialog,103, EM_SETBKGNDCOLOR, 0, GetProfileInt_('Bk',GetSysColor(COLOR_WINDOW)));
SendDlgItemMessage(Dialog,103, EM_FORMATRANGE, 0, 0); // flush buffer
SendDlgItemMessage(Dialog,103,
EM_FORMATRANGE,
1,
longint(@Range));
end;
CopyRect(rc, Rc_);
lTextLength := SendMessage(RTF, WM_GETTEXTLENGTH, 0, 0);

chrg.cpMin := CharPos;
chrg.cpMax := lTextLength;

SendMessage(RTF, EM_FORMATRANGE, 0, 0); // flush buffer
NextPos := SendMessage(RTF,
EM_FORMATRANGE,
1,
longint(@Range));
EnableWindow(GetDlgItem(Dialog,102),NextPos<lTextLength);
SendMessage(RTF, EM_FORMATRANGE, 0, 0); // flush buffer
if NextPos<lTextLength then wvsprintf(s1,'%u&.>>',@ipage)
else wvsprintf(s1,'%u ||',@ipage);
SetWindowText(GetDlgItem(Dialog,102),s1);
end;
//--------------------------------------------------------------------------
RestoreDC(pdi^.hDC,OldDC);
exit;
end;
wm_LButtonDown, wm_RButtonDown:
begin
cpp.x:=LOWORD(lParam);
cpp.y:=HIWORD(lParam);
ClientToScreen(Dialog,cpp);
GetWindowRect(GetDlgItem(Dialog,104),TempRc);
if PtInRect(TempRc,cpp) then
begin
Zoom:=4-Zoom;
ScreenToClient(GetDlgItem(Dialog,104),cpp);
tpp :=cpp;
InvalidateRect(GetDlgItem(Dialog,104),nil,true);
end;
exit;
end;
wm_SetCursor:
begin
GetCursorPos(cpp);
GetWindowRect(GetDlgItem(Dialog,104),TempRc);
if PtInRect(TempRc,cpp) then
begin
if Zoom = 1 then SetCursor(ZoomIn) else SetCursor(ZoomOut);
exit;
end;
end;
wm_Command:
case WParam and $ffff of
101:
begin
CharPos:=0;
ipage:=1;
InvalidateRect(GetDlgItem(Dialog,104),nil,true);
Exit;
end;
102:
begin
CharPos:=NextPos;
inc(ipage);
InvalidateRect(GetDlgItem(Dialog,104),nil,true);
Exit;
end;
id_Ok,
id_Cancel:
begin
EndDialog(Dialog, 1);
Exit;
end;
end;
end;
ViewProcess := 0;
end;

procedure PreView;//взято из M$ SDK, глючит
begin
pdc:=GetPrinterDC;
if pdc>0 then
begin
rcPage_.left := 0;
rcPage_.top := 0;
rcPage_.right := MulDiv(GetDeviceCaps(pdc, PHYSICALWIDTH),
1440,
GetDeviceCaps(pdc, LOGPIXELSX));
rcPage_.bottom := MulDiv(GetDeviceCaps(pdc, PHYSICALHEIGHT),
1440,
GetDeviceCaps(pdc, LOGPIXELSY));
CopyRect(rc_, rcPage_);
if rcPage_.right > MulDiv(FldRect.Left+
FldRect.right,1440,2500) +1440 then
begin
rc_.left := MulDiv(FldRect.Left,1440,2500);
rc_.right := rc_.right - MulDiv(FldRect.right,1440,2500);
end;

if rcPage_.bottom >MulDiv(FldRect.top+
FldRect.bottom,1440,2500) +1440 then
begin
rc_.top := MulDiv(FldRect.top,1440,2500);
rc_.bottom := rc_.bottom - MulDiv(FldRect.bottom,1440,2500);
HeadP:=Head;
end else HeadP:=false;
Zoom:=1;
ZoomIn:=LoadCursor(Instance,PChar(1));
ZoomOut:=LoadCursor(Instance,PChar(2));
DialogBoxParam(Instance, PCHAR(7), MainWindow, @ViewProcess,0);
DeleteDC(pdc);
end;
end;

сам диалог вот его ресурс
7 DIALOG 6, 4, 282, 183
STYLE DS_SETFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_OVERLAPPEDWINDOW | WS_POPUPWINDOW | WS_VISIBLE
CAPTION "PreView ..."
FONT 8, "MS Sans Serif"
{
PUSHBUTTON "&1", 101, 10, 0, 40, 14
PUSHBUTTON "", 102, 54, 0, 40, 14
DEFPUSHBUTTON "&Close", 1, 116, 0, 44, 14
CONTROL "", 104, "STATIC", SS_OWNERDRAW | SS_SUNKEN, 0, 32, 272, 172
CONTROL "", 103, "RichEdit", NOT WS_VISIBLE | 0x00000104, 200, 16, 42, 16
}
[/more]
Автор: OdesitVadim
Дата сообщения: 11.04.2006 11:06
ShIvADeSt

Цитата:
ты сделаешь или мне взяться?

Уже начал. Скачал "цифирку", рассматриваю. Вопрос ко всем. "Циферка" умеет "переводить" текст. Надо такое или не?
Насчёт препросмотра и других "возможностей". Может vito333 чуточку наростит плагинную модель и будет оптимизировать работу марка, а навороты будут другие крутить?
Автор: vito333
Дата сообщения: 11.04.2006 11:12
ShIvADeSt
читаю по принтпревью исходники, статьи, пишу помаленьку.


Добавлено:
да, кстати, скинь мне подправленный код плагина, обновлю pluginSDK
Автор: Greay
Дата сообщения: 11.04.2006 13:05
Как добавлять плагины к программе ? Пробовал просто ложить их в директорию с программой... Mark их не видит...
Автор: vito333
Дата сообщения: 11.04.2006 13:34
Greay
создай папку Plugins_
Автор: ArtLonger
Дата сообщения: 11.04.2006 14:17
vito333
Интересно... Сейчас качается Марк версии аж от 8 декабря 2005 года...
Автор: vito333
Дата сообщения: 11.04.2006 15:24
b точно. Перезалил.

[x] 11.04.06 мелкая проблема с прозрачностью.
[+] 10.04.06 в PluginSDK добавлен markAPI.h с кодами внутренних сообщений Марка.
Автор: Harrier
Дата сообщения: 11.04.2006 17:09
OdesitVadim


Цитата:
"Циферка" умеет "переводить" текст. Надо такое или не?


ИМХО, перевод не нужен. Есть много специальных программ и словарей. Не стоит перегружать.
Автор: ShIvADeSt
Дата сообщения: 12.04.2006 05:25
Написал плагин, который делает транслит-руслит
Просто делать было нечего, вот накатал http://shivadest.nm.ru/ShTR.dll
Пытается автоматически определить направление перевода, у меня сбоев не было, вначале пытался взять за основу из бреда, но потом плюнул и написал свой алгоритм. 5500 строк переводит за полсекунды примерно (144 кила файл взял и перекинул туда и обратно).
Короче тестируйте и в шапку если все норм добавьте.
Автор: Alexander_B
Дата сообщения: 12.04.2006 07:57
ShIvADeSt

Цитата:
Написал плагин, который делает транслит-руслит

прекрасно работает
Автор: sabio
Дата сообщения: 12.04.2006 08:25
Вспомнил еще одну небольшую фичу, которая может оказаться весьма удобной: если в редакторе выделения нет, то Ctrl+Ins/Ctrl+C а также Shift+Del/Ctrl+X могли бы оперировать с текущей строкой.
Т.е. Ctrl+Ins выделяет текущую строку и копирует ее в буфер (выделение после этого остается). Ctrl+X - вырезает текущую строку в буфер.

Добавлено:
Еще одна полезная и удобная фишка: Ctrl+D - продублировать текущую строку - весьма удобный заменитель для цепочки: Home Shift+Down Ctrl+Ins Down Up Shift+Ins.
Автор: Harrier
Дата сообщения: 12.04.2006 09:07
ShIvADeSt

Если русский текст 'переделать' в транслит, а потом назад, то некоторые слова пишутся не правильно... Пример: закусочной -> zakusoсhnoy -> закусочхной.
В Cifirica такой ошибки нет.

Нужно ещё потестировать на качество перевода из русского в транслит и обратно.
Автор: ShIvADeSt
Дата сообщения: 12.04.2006 09:44
Harrier

Цитата:
Если русский текст переделать в транслит, а потом назад, то некоторые слова пишутся не правильно... Пример: закусочной -> zakusoсhnoy -> закусочхной.
В Cifirica такой ошибки нет.

Поправил, трабла была из за того, что русские и англ буквы С и с пишутся блин одинаково, а с точки зрения кода они разные поправил все на правильные, заработало.
Автор: Harrier
Дата сообщения: 12.04.2006 10:08
ShIvADeSt


Плагин действительно очень полезный.
Автор: OdesitVadim
Дата сообщения: 12.04.2006 10:13
ну ShIvADeSt, ну написал же, что сделаю.
Но мой пока работает только в одну сторону (перевод в транслит мне показался слишком простым)
Качать http://rapidshare.de/files/17795255/VTranslit.zip.html
Отличие: Он преобразовывает только выделеный текст. Если текст не выделен - он молчит.
Основная особенность - он обладает некоторой "интелектуальностью" - это не обычна замена, а иногда и анализ рядом стоящих буковок. Например j стоящая после согласной превратиться скорее всего в мягкий знак, а если после неё есть гласная a, то в буковку я.
Глюки:
Не всегда можно догадаться, как декодировать слово. Например jod - иод (программа пока пишет ёд. В общем я даже не знаю как правильно транслитом это слово написать ), но yo-moje - ё-моё (декодируется правильно)
Кстати, программа "Цифирица" тоже не может правильно декодировать это слово. также её глючит на датах вида 04.04.2006: четвёрки упорно в буковки ч превращаются
Да и работает она медленей.
Если какоето слово по вашему декодируется неверно, то соберите несколько слов на подобное правило и пришлите мне. Если Вы нашли такое слово и оно особенное (тоесть больше нет подобного), то попробйте обосновать его необходимость именно такой записи

В плагине заложена возможность подмены некоторых "особенных" слов, которые не могут декодироваться корректно в силу особенностей трансляции.

Добавлено:
ShIvADeSt
твой декодер прёт на слове windows. И вообще с буковкой w.
Автор: Harrier
Дата сообщения: 12.04.2006 13:50
Так зачем выкладывать ещё не готовый плагин? Когда оба будут готовы, тогда можно будет выбрать какой больше нравится и пользоваться.
Автор: OdesitVadim
Дата сообщения: 12.04.2006 14:04
Harrier

Цитата:
ещё не готовый плагин

Он "практически готовый". Я предварительно его проверил на десятках текстов, взятых с форумов. Сейчас думаю над проблемой различения правильной декодирования буковки w. Так как в некоторых случаях её следует декодировать как ш, а в некоторых - в.
ShIvADeSt, не в обиду будет ему сказано, демонстрирует типичное для рынка решение - побыстрей выбросить продукт, потом можно напильником доделовать.
Да, его плагин ещё на буковке j пучит.

Harrier

Цитата:
тогда можно будет выбрать какой больше нравится и пользоваться

Значит я буду дома доводить до ума плагин, но до какого ума я его доведу?
Пробуйте.Критикуйте.
Кстати, а мой плагин ты попробывал?
Автор: Harrier
Дата сообщения: 12.04.2006 17:11
OdesitVadim

Плагин попробовал. Нормально. Только ещё возможноть и русский в транслит нужно добавить.
Тогда можно будет сравнивать и качество транслитерации. )
Автор: OdesitVadim
Дата сообщения: 12.04.2006 17:14
Harrier
А лучше сделать "два в одном" или два отдельных плагина?
А также: Как лучше делать выдачу результата - заменой (так как это сейчас) или выводить окошко с запросом?
Автор: Harrier
Дата сообщения: 12.04.2006 19:08
OdesitVadim


Цитата:
А лучше сделать "два в одном" или два отдельных плагина?


ИМХО, лучше "2 in 1", чтобы не нагромождать плагинов.


Цитата:
Как лучше делать выдачу результата - заменой (так как это сейчас) или выводить окошко с запросом?


С каким запросом? Подробнее как это будет выглядеть? )

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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