Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6771 → Rev 6770

/programs/cmm/dicty/dicty.c
2,18 → 2,21
#include "lang.h--"
#endif
 
#define MEMSIZE 4096 * 1024 * 2
#include <strings.h>
#include <gui.h>
#include <obj\box_lib.h>
#define MEMSIZE 0x8000
#include "..\lib\strings.h"
#include "..\lib\io.h"
#include "..\lib\gui.h"
#include "..\lib\obj\box_lib.h"
 
#ifdef LANG_RUS
#define WINDOW_TITLE "‘«®¢ à¨ª 2.3"
#define WINDOW_TITLE "‘«®¢ à¨ª 2.2"
#define DICTIONARY_NOT_FOUND "‘«®¢ àì ­¥ ­ ©¤¥­"
#define DICTIONARY_LOADED "‘«®¢ àì § £à㦥­"
#define WORD_NOT_FOUND "‘«®¢® ­¥ ­ ©¤¥­® ¢ á«®¢ à¥"
#define ERROR "Žè¨¡ª  #%d"
#else
#define WINDOW_TITLE "Dictionary v2.3"
#define WINDOW_TITLE "Dictionary v2.2"
#define DICTIONARY_NOT_FOUND "Dictionary not found"
#define DICTIONARY_LOADED "Dictionary loaded"
#define WORD_NOT_FOUND "Word isn't found in the dictionary"
#define ERROR "Error #%d"
20,17 → 23,12
#endif
 
proc_info Form;
char edit_text[256], search_word[256], translate_result[4096];
char edword[256], search_word[256], translate_result[4096];
#define TOPH 45
 
unsigned char eng_rus[] = FROM "eng_rus.dict""\0";
unsigned char rus_eng[] = FROM "rus_eng.dict""\0";
dword io_buffer_data;
 
#define TEXT_ENG_RUS "ENG\26RUS"
#define TEXT_RUS_ENG "RUS\26ENG"
#define TEXT_VOC_R_E "ENG RUS"
#define TEXT_VOC_E_R "RUS ENG"
#define TEXT_VOCABULARIES "ENG RUS"
#define ENG_RUS 0
#define RUS_ENG 1
#define BUTTON_CHANGE_LANGUAGE 10
37,10 → 35,9
int active_dict=2;
 
int mouse_dd;
edit_box edit1= {200,13,13,0xffffff,0x94AECE,0xffffff,0x94AECE,0x10000000,248,#edit_text,#mouse_dd,100000000000010b};
edit_box edit1= {200,13,13,0xffffff,0x94AECE,0xffffff,0x94AECE,0x10000000,248,#edword,#mouse_dd,100000000000010b};
 
 
 
void main()
{
int id;
48,8 → 45,8
OpenDictionary(ENG_RUS);
if (param)
{
strcpy(#edit_text, #param);
edit1.size=edit1.pos=strlen(#edit_text);
strcpy(#edword, #param);
edit1.size=edit1.pos=strlen(#edword);
Translate();
}
SetEventMask(0x27);
89,6 → 86,7
edit_box_draw stdcall(#edit1);
DrawWideRectangle(edit1.left-2, edit1.top-2, edit1.width+3, 25, 2, 0xffffff);
DrawRectangle(edit1.left-3, edit1.top-3, edit1.width+4, 26, system.color.work_graph);
WriteText(Form.width-120, edit1.top+3, 0x90, system.color.work_text, TEXT_VOCABULARIES);
DrawTranslation();
DrawLangButtons();
}
99,11 → 97,9
void DrawLangButtons()
{
dword direction;
DrawBar(Form.width-120, edit1.top+3, 100, 25, system.color.work);
DefineButton(Form.width-88, edit1.top-4+3, 20, 20, BUTTON_CHANGE_LANGUAGE, system.color.work_button);
WriteText(Form.width-82, edit1.top-1+3, 10000001b, system.color.work_button_text, "\26");
if (active_dict == ENG_RUS) direction = TEXT_VOC_R_E; else direction = TEXT_VOC_E_R;
WriteText(Form.width-120, edit1.top+3, 0x90, system.color.work_text, direction);
if (active_dict == ENG_RUS) direction = "\26"; else direction = "\27";
WriteText(Form.width-82, edit1.top-1+3, 10000001b, system.color.work_button_text, direction);
}
 
void Translate()
110,12 → 106,12
{
dword translation_start, translation_end;
 
sprintf(#search_word, "\10%s\13", #edit_text);
sprintf(#search_word, "\10%s\13", #edword);
strupr(#search_word);
 
if (!edit_text) goto _TR_END;
if (!io.FILES_SIZE) || (!edword) goto _TR_END;
 
translation_start = strstr(io_buffer_data, #search_word);
translation_start = strstr(io.buffer_data, #search_word);
if (!translation_start)
{
strcpy(#translate_result, WORD_NOT_FOUND);
134,19 → 130,23
 
void OpenDictionary(dword dict_id)
{
dword res;
if (dict_id==active_dict) return;
active_dict = dict_id;
if (active_dict==ENG_RUS)
if (io.buffer_data) free(io.buffer_data);
if (active_dict==ENG_RUS) res=io.read("dictionaries/eng - rus.dict");
if (active_dict==RUS_ENG) res=io.read("dictionaries/rus - eng.dict");
if (!io.buffer_data)
{
io_buffer_data=#eng_rus;
strcpy(#search_word, TEXT_ENG_RUS);
sprintf(#search_word, ERROR, res);
strcpy(#translate_result, DICTIONARY_NOT_FOUND);
}
if (active_dict==RUS_ENG)
else
{
io_buffer_data=#rus_eng;
strcpy(#search_word, TEXT_RUS_ENG);
if (active_dict==ENG_RUS) strcpy(#search_word, TEXT_ENG_RUS);
if (active_dict==RUS_ENG) strcpy(#search_word, TEXT_RUS_ENG);
strcpy(#translate_result, DICTIONARY_LOADED);
}
strcpy(#translate_result, DICTIONARY_LOADED);
DrawTranslation();
}