Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

   

Spab



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

A free source code editor for Win32 and X
Русскоязычный форум поддержки

  • Один из самых настраиваемых текстовых редакторов из ныне существующих. Настраивается практически все.
  • Индивидуальная подсветка для разных языков програмирования, фолдинг для классов, функций и структур, авто-дополнение, и т.д. и т.п. ...
     
  • Scite-interest -- Discussion of the SciTE editor
  • Русский сайт SciTE (документация, FAQ, снимки экрана, утилиты, скрипты и т.д. и т.п....)
  • Мечта кодера. статья
  • Burgaud.com - US.SciTE
  • SciTE: Scintilla Text Editor with Extensions
  • Filerx, SideWinder
  • ......
     
       
  • Project file releases
  • Project summary (including basic statistics)
  • Новости со SciTE.ru
     
    Последняя версия редактора - SciTE 1.74
     
    SciTE 1.74 .52Ru-Board Edition [Сборка 20.09.2007]
    Oписание: сборки ядра  
     
    Дружественная тема: Доработка исходного кода и компилирование сборки Ru-Board Edition
     
    Нерешенные задачи и вопросы ( Для умных и талантливых форумчан )
     
    P.S. Если вы используете SciTE для своих нужд, таких как: написание HTML, CSS, Java Script, PHP и др. кода для сайта, или просто вам нравится этот редактор, поставьте пожалуйста ссылку или баннер на сайт - http://scite.ruteam.ru, благодаря этому у сайта повышается индекс цитирования, соответственно увеличивается количество пользователей редактора.

  • Всего записей: 64 | Зарегистр. 02-09-2001 | Отправлено: 03:05 04-06-2002 | Исправлено: mozers, 13:45 04-10-2007
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я не "не успел залить". Я не могу залить
    Аплоад файлов больше 100кБ обрывается
    И че там mirk наконфигурил  
    А FTP то на scite.ruteam.ru нету ((
    Отослал (еще прошлой ночью) ему все файло чтоб залил, а от него - ни слуху ни духу

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 17:50 12-03-2007
    dB6



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers
    Пришли мне, попробую.
    Ну или попробую выложить куда-нить, мот на общий фтп.
     
    Добавлено:
    А еще лучше было бы, если бы ты в аське появился

    Всего записей: 408 | Зарегистр. 09-02-2003 | Отправлено: 18:16 12-03-2007
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
            не без помощи dB6 ...
    SciTE 1.72 .36Ru-Board Edition [Сборка 12.03.2007]
    Полное описание

    Цитата:
  • Новое ядро .36Ru - множество новых возможностей
  • Добавлены новые переводы статей из документации SciTEDirector_rus.html и SciTELua_rus.html (Автор: s_mart)  
  • Вся переведенная документация сведена в единую справочную систему и снабжена перекрестными ссылками.  
  • Добавлен русский справочный файл по языку LUA (выделяем ключевое слово и нажимаем F1)
  • Новые скрипты: Open_Selected_Filename.lua, ROCheck.lua, ROWrite.lua
  • Доработаны скрипты: AutocompleteObject.lua, auto_backup.lua, FuncProcList.lua, ReadOnly.lua, html_tags_autoclose.lua
  • Доработаны API файлы: SciTELua.api, vbscript.api  

  •  
    Ядро 1.72 .36Ru
    EXE + DLL [449kB]
    Source [388kB] (только измененные файлы)
    Список всех доработок

    Цитата:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    [ParametersDialogFromLua] (Автор: VladVRO)
        В LUA Extention добавлена функция для вызова диалогового окна "Параметры" (Shift+F8)
        scite.ShowParametersDialog(text)
            где text - короткий комментарий в окне параметров.
            Возвращает false если пользователь отказался (нажал отмену или Escape) иначе true.
    Пример:
        function Dialog()
            props["1"]=props["CurrentSelection"]
            props["2"]=props["SciteDefaultHome"]
            if scite.ShowParametersDialog("Please set params") then
            print ("1="..props["1"].."\n2="..props["2"].."\n3="..props["3"].."\n4="..props["4"])
            else
                print ("Cancel")
            end
        end

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 20:34 12-03-2007
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не знаю как у вас, а у меня скрипт для сохранения RO/Hidden/System файлов (тот, что в сборке) периодичеки глючил по непонятной причине, устанавливая при сохранении все атрибуты RHS даже если файл был только с одним атрибутом R.
    В общем, я его подрехтовал ROWrite.lua Подробнее... теперь сохраняет нормально
     
    Добавлено:
    извините, поспешил   глючит так же как и предыдущий Почему ??? - неясно...

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 00:41 13-03-2007
    Midas



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Существует Lister-плагин для Total Commander'а позволяющий открывать вместо Lister'а  
    любую программу. Link: http://wincmd.ru/plugring/edloader.html
    Напрямую настроить ее для работы со SciTE'ом у меня не получилось (Параметры прог. передаются после имени файла, а это не нравиться SciTE'у)
    Написал маленькую программу для запуска SciTE'а: http://kmidas.narod.ru/files/sv.zip
    Ее надо положить в папку SciTE'а, затем настроить sv.ini, AppLoader.ini
     
    PS: У AppLoader'а есть серьезная проблема: при просмотре файлов из архива они удаляются раньше, чем запуститься программа.
     
    mozers !
     
    Посмотри скрипт еще раз: vladvro предложил изменения (to_number...) Если не поможет, то выложи сюда, что и на какой Win показывает os.getfileattr()
    PS2: C багой ReadOnly в табе борюсь

    Всего записей: 34 | Зарегистр. 22-03-2006 | Отправлено: 09:12 13-03-2007 | Исправлено: Midas, 11:03 13-03-2007
    vladvro



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Midas
    Цитата:
    Посмотри скрипт еще раз: vladvro предложил изменения (to_number...) Если не поможет, то выложи сюда, что и на какой Win показывает os.getfileattr()
    я сам потестил еще, мое изменение не лечит проблему, т.к. она кроется в os.getfileattr(),
    у меня WindowsXP (sp2),
    вот то, что выдает функция на только что созданый файл с атрибутом [R]: 4294967295
    и вот то, что выдает при корректной работе с файлом [R]: 33

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 14:35 13-03-2007
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vladvro Midas
    Да. Имено так (у меня так же ХР SP2 NTFS). Тестил с помощью
    Код:
    command.name.290.*=FileAttrNumber
    command.290.*=dostring print(props["FilePath"].." = "..os.getfileattr(props["FilePath"]))
    command.mode.290.*=subsystem:lua,savebefore:no
    command.shortcut.290.*=Alt+1
    На 2 файла с одинаковыми атрибутами выдаются совершенно разные числа
    ИМХО лучше бы переписать саму процедуру сохранения файла, чтобы SciTE не ругался, а не снимать, а потом вновь устанавливать атрибуты скриптом.

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 15:43 13-03-2007
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Midas
    Цитата:
    Написал маленькую программу для запуска SciTE'а: http://kmidas.narod.ru/files/sv.zip
    Я так понял, что она делает то же самое что мой батничек:
    Код:
    @START "" "G:\SciTE\SciTE.exe" -property:toolbar.visible=0 -property:tabbar.visible=0 -property:save.recent=0 -property:save.session=0 -property:ADDITIONAL_SHORTCUTS=Escape^|IDM_QUIT^| "%1" -menucommand:416

    Цитата:
    У AppLoader'а есть серьезная проблема: при просмотре файлов из архива они удаляются раньше, чем запуститься программа.
    Имхо надо автора долбить...
     
     
    Добавлено:
      Придумал способ для запуска внешних приложений из lua скрипта:
    Код:
    function command(cmd, mode)
        local p0 = props["command.name.299.*"]
        local p1 = props["command.299.*"]
        local p2 = props["command.mode.299.*"]
        props["command.name.299.*"] = 'tmp'
        props["command.299.*"] = cmd
        props["command.mode.299.*"] = 'subsystem:'..mode..',replaceselection:no,savebefore:no'
        scite.Perform("menucommand:2299")
    --~     scite.MenuCommand(2299)
        props["command.name.299.*"] = p0
        props["command.299.*"] = p1
        props["command.mode.299.*"] = p2
    end
     
    command('CMD /C TIME /T', 'console')
    И все бы хорошо (можно запускать и в скрытом виде и с использованием различных режимов и пр. возможностями) да только циклят и -scite.Perform и -scite.MenuCommand по страшному

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 22:00 13-03-2007
    Midas



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    1) vladvro mozers
    На томах с NTFS есть дополнительные аттрибуты: Индексирование, Сжат/Зашифрован
    Скорее всего файлы имеют разные дополнительные аттрибуты. Такую ситуацию Я проверял на разных томах/компах/системах, все работает
    Просьба: выложите сюда дополнительные аттрибуты этих файлов.
     

    Цитата:
    ИМХО лучше бы переписать саму процедуру сохранения файла, чтобы SciTE не ругался, а не снимать, а потом вновь устанавливать атрибуты скриптом.

    Будет то же самое: снимаем аттрибуты, сохраняем, устанавливаем. Без снятия аттрибутов не обойтись: в R/O файлы в принципе нельзя ничего записать (на то и аттрибут .
    И вообще, IMHO лучше реализовывать все дополнения к SciTE'у через Lua
     
    2)mozers

    Цитата:
    Я так понял, что она делает то же самое что мой батничек:

    Да, но без мигания консольного окна

    Всего записей: 34 | Зарегистр. 22-03-2006 | Отправлено: 08:59 14-03-2007
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Midas
    Цитата:
    На томах с NTFS есть дополнительные аттрибуты
    Точно так и могут быть и другие. Надо из циферы выделять только RHS отбрасывая все остальное. Идеальный случай - сделать так чтобы set|getfileattr возвращал/устанавливал  строковое значение в формате "ARHS"

    Цитата:
    выложите сюда дополнительные аттрибуты этих файлов
    Вот что выдает os.getfileattr на файлы с установленными атрибутами
    Код:
    -- = 128
    A  = 32
    AO = 12576
     O = 12544
    Что за атрибут O не спрашивайте меня - сам в недоумении что за хрень?

    Цитата:
    в R/O файлы в принципе нельзя ничего записать  
    Вообще то я всю зисть считал что атрибут - не более чем условность и если ее нарушить то писать можно в любой файл. Ты уверен? Возможно что я тут ошибаюсь...

    Цитата:
    Да, но без мигания консольного окна  
    Ну мне это дело тоже не нравится, поэтому пожаловался автору и он обещал вскорости добавить возможность запуска SciTE с параметрами непосредственно из AppLoader.

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 14:44 14-03-2007
    Midas



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    mozers

    Цитата:
    атрибут - не более чем условность

    Гм... Смысл тогда в аттрибуте ? Все программы которые пишут в RO файлы
    сначала снимают, затем устанавливают аттрибуты.
    Вопрос (для снятия/установки аттр.) знающим больше меня в LUA: Как узнать установлен ли бит в числе (и как установить какой-то бит) ?

    Всего записей: 34 | Зарегистр. 22-03-2006 | Отправлено: 17:26 14-03-2007 | Исправлено: Midas, 17:28 14-03-2007
    codewarlock1101



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Midas
    Предлагаю использовать дла снятия ридонли вбс-скрипт. который запускается из луа (плохо что только решение это не кроссплатформенное)

    Всего записей: 92 | Зарегистр. 12-03-2005 | Отправлено: 22:14 14-03-2007
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я почему-то считал что при установки Scite файл пользовательских настроек не переписываеться, ан нет. Может стоит его вообще убрать. На то они и пользовательские чтобы их писал только пользователь.

    Цитата:
    Как узнать установлен ли бит в числе (и как установить какой-то бит) ?

    Вот набросал. Я сам не очень в LUA. Там нет проверок на границы, да и с отр. числами не очень.

    Цитата:
    function ToBin(Num)
      local bin_n={};
      local i=1;
      while (Num>0)do
        bin_n[ i ] = math.fmod (Num , 2);
        Num   = math.floor(Num / 2);
        i = i + 1;
      end;
      return bin_n;
    end;
     
    function IsSetBit(Num, Bit)
      local bin = ToBin(Num);
      if( table.getn(bin) <= Bit )then
        return false;
      end;
      return (bin[ Bit+1 ]==1);
    end;
     
    function SetBit(Num, Bit)
      if(IsSetBit(Num, Bit))then
        return Num;
      end;
      return Num + 2^Bit;
    end
     
    function ResetBit(Num, Bit)
      if(IsSetBit(Num, Bit))then
        return Num - 2^Bit;
      end;
      return Num;
    end


    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 11:44 15-03-2007
    vladvro



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Как узнать установлен ли бит в числе (и как установить какой-то бит) ?

    предлагаю другой вариант решения, для меня правда C не родной язык, но вроде работает правильно.
     
    тест:
    Код:
    local i = 0
    i = math.setbit(i, 4, 1)
    print(i, math.getbit(i, 4))
    i = math.setbit(i, 4, 0)
    print(i)
     
    --- результат:
    16    1
    0
     

     
    решение:
    добавляем в файл lmathlib.c строка 205
    Код:
    static int math_getbit (lua_State *L) {
      int val = luaL_checkint(L, 1);
      int bit = luaL_checkint(L, 2);
      if (bit<0 || bit>63) return luaL_error(L, "bit must be between 0 and 63");
      lua_pushnumber(L, (val&(1<<bit))>0?1:0);
      return 1;
    }
     
     
    static int math_setbit (lua_State *L) {
      int val = luaL_checkint(L, 1);
      int bit = luaL_checkint(L, 2);
      int on = luaL_checkint(L, 3);
      if (bit<0 || bit>63) return luaL_error(L, "bit must be between 0 and 63");
      if (on<0 || on>1) return luaL_error(L, "bit value must be 0 or 1");
      lua_pushnumber(L, on==1?(val|(1<<bit)):(val-(val&(1<<bit))));
      return 1;
    }
     

    и строка 249
    Код:
      {"randomseed", math_randomseed},
      {"getbit",     math_getbit},
      {"setbit",     math_setbit},

     
     
    mozers
    новый AutocompleteObject.lua (version 1.3) ломается при вводе символа %
     
    mimir
    Цитата:
    Я почему-то считал что при установки Scite файл пользовательских настроек не переписываеться, ан нет. Может стоит его вообще убрать.

    а я уже об этом говорил...

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 14:41 15-03-2007 | Исправлено: vladvro, 14:47 15-03-2007
    Midas



    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    новый AutocompleteObject.lua (version 1.3) ломается при вводе символа %

    Возможное решение проблемы:
    AutocompleteObject.lua: 53
    Заменить  

    Код:
     
    if char ~= " " then
     

    на

    Код:
     
    if char ~= " " and char ~= "%" then
     


    Всего записей: 34 | Зарегистр. 22-03-2006 | Отправлено: 15:01 15-03-2007
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

    Мне кажется, что код не критичный по времени стоит писать на уровне скриптов, если это конечно возможно, но если хочется реализовать в виде С-функции то стоит задуматься о своей библиотеки. LUA позволяет очень просто подключать библиотеки написаные в виде DLL. Это позволяет во первых избавиться от изменения кода, а во вторых использовать эти функции не только в Scite, но в том числе и для отладки скриптов сторонними утилитами.
    Например я создал библиотеку batlib.dll куда поместил функции  

    Цитата:
    io_exec  
    io_msgbox  
    io_getfileattr  
    io_setfileattr

    Для подключения этой библиотеки достаточно просто написать require('batlib');
    Для использования можно batlib.exec , a если хочеться именно через библиотеку os то можно сделать загрузчик который грузит DLL и перекидывает функции в нужную таблицу.  
    Правда я пользуюсь LUA 5.1 (для нее и собирал библиотеку) а там были изменения. Вроде в 5.0 загружать DLL можно только через LoadLib.
    А кстати еще не было перехода в Scite на lau 5.1 ?  
     
     
    Добавлено:
    Вот скрипт для обработки атрибутов файла в виде таблицы.
    Атрибуты можно добовлять по вкусу.
     

    Цитата:
    function SetBitValue ( Num, Bit, val )
      if(val == '1' or val == 1 or val == true)then
        return SetBit ( Num, Bit );
      else
        return ResetBit(Num, Bit);
      end;
    end;
     
    function getfileattr_ex(FileName)
      local attr_i = os.getfileattr(FileName);
      local attr = {};
      attr.ro   = IsSetBit(attr_i,0);
      attr.hide = IsSetBit(attr_i,1);
      return attr;
    end;
     
    function P.setfileattr_ex(FileName, attr)
      local attr_i = os.getfileattr(FileName);
       
      if(attr.ro ~= nil) then
        attr_i = SetBitValue(attr_i,0,attr.ro);
      end;
       
      if(attr.hide ~= nil) then
        attr_i = SetBitValue(attr_i,1,attr.hide);
      end;
       
      os.setfileattr(FileName,attr_i);
      return attr;
    end;

     
    пример

    Цитата:
    --получить атрибуты
    attr = getfileattr_ex([[c:\test.txt]]);
     
    attr.ro = true; -- Установить  
    attr.hide = nil; -- Не менять
    setfileattr_ex([[c:\test.txt]],attr);

     
     

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 16:01 15-03-2007 | Исправлено: mimir, 16:42 15-03-2007
    vladvro



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    это все хорошо, вот только главной проблемы это не лечит, если функция os.getfileattr(FileName) возвращает не верные данные, число 4294967295 = 2^32-1, т.е. все биты в 1.
     
    Midas
    откуда взялось число 2080 для снятия атрибутов?

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 17:17 15-03-2007 | Исправлено: vladvro, 17:18 15-03-2007
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это очень похоже на ошибку. У меня это значение выдаеться при отсутствии файла.
     

    Цитата:
    The GetFileAttributes function retrieves a set of FAT file system attributes for a specified file or directory
    *****
    If the function succeeds, the return value contains the attributes of the specified file or directory.
     
    If the function fails, the return value is INVALID_FILE_ATTRIBUTES.


    Цитата:
    #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)

     
     
     
    Добавлено:
    вроде это то что нужно. У меня стоит только FAT пожтому не могу тестировать.

    Цитата:
    The GetFileAttributes function retrieves a set of FAT file system attribute information. GetFileAttributesEx can obtain other sets of file or directory attribute information. Currently, GetFileAttributesEx retrieves a set of standard attributes that is a superset of the FAT file system attribute information.

     
     
     
     
    Добавлено:

    Цитата:
    void push_lasterr(lua_State *L, LPTSTR lpszFunction) {  
        LPVOID lpMsgBuf;
        LPVOID lpDisplayBuf;
        DWORD dw = GetLastError();  
     
        FormatMessage(
            FORMAT_MESSAGE_ALLOCATE_BUFFER |  
            FORMAT_MESSAGE_FROM_SYSTEM,
            NULL,
            dw,
            MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
            (LPTSTR) &lpMsgBuf,
            0, NULL );
     
        lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT,  
            (lstrlen((LPCTSTR)lpMsgBuf)+lstrlen((LPCTSTR)lpszFunction)+40)*sizeof(TCHAR));  
        StringCchPrintf((LPTSTR)lpDisplayBuf,  
            LocalSize(lpDisplayBuf),
            TEXT("%s failed with error %d: %s"),  
            lpszFunction, dw, lpMsgBuf);
        
        lua_pushstring(L,(LPTSTR)lpDisplayBuf);
        LocalFree(lpMsgBuf);
        LocalFree(lpDisplayBuf);
    }
     
    static int l_getfileattr (lua_State *L) {  
        const char*FN = luaL_checkstring(L,-1);
        WIN32_FILE_ATTRIBUTE_DATA fad;
        if(0==GetFileAttributesEx(FN,GetFileExInfoStandard ,&fad)){
            lua_pushnil(L);
            push_lasterr(L,"\"getfileattr\"");
            return 2;
        }
        lua_pushnumber(L, fad.dwFileAttributes);  
        return 1;  
    }  
     
    static int l_setfileattr (lua_State *L) {  
        const char *FN = luaL_checkstring(L,-2);
        DWORD attr = luaL_checkint(L,-1);
        if(0 == SetFileAttributes(FN, attr)){
            lua_pushnil(L);
            push_lasterr(L,"\"setfileattr\"");
            return 2;
        }
        lua_pushinteger(L, 1);  
        return 1;  
    }
     


    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 17:36 15-03-2007
    vladvro



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mimir
    Цитата:
    Это очень похоже на ошибку. У меня это значение выдаеться при отсутствии файла.

    ты оказался прав на все 100%
    вот что теперь выдает мне скрипт:
    Цитата:
    > "getfileattr" failed with error 2: Не удается найти указанный файл.

    да у меня не FAT, а так же как и у mozers NTFS, и такое происходит стабильно на вновь созданный файл с новым именем.
     
    с кодом пришлось немного повозиться:
    1. не нашлось определения для StringCchPrintf, я добавил <strsafe.h>, но как я уже и говорил, я в С не силен, т.ч. если я не прав, то поправь.
     
    2. выдало предупреждение и не захотело линковаться с функцией lua_pushinteger, я заменил ее на lua_pushnumber.
     
    3. дописал скрипт ROWrite.lua:
    Код:
        -- сохраним текущии, затем снимем все аттрибуты
        local FileAttrNumber, err = os.getfileattr(FN)
        if (FileAttrNumber == nil) then
            print("> "..err)
            props['FileAttrNumber'] = 32 + iif(string.find(FileAttr,'R'),1,0) + iif(string.find(FileAttr,'H'),2,0) + iif(string.find(FileAttr,'S'),4,0)
        else
            props['FileAttrNumber'] = FileAttrNumber
        end
        os.setfileattr(FN, 2080)

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 11:20 16-03-2007
    mimir

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я использую для написагия  скриптов lua.exe ( версия 5.1 ).
    И все собирал и проверял именно на нем.
    Дополнил свою BatLib.DLL новыми функциями и написал тестовый скрипт.

    Код:
    require ("batlib");
     
    res,err = batlib.getfileattr([[test.txt]])
    print (batlib.tooem(res), batlib.tooem(err));
     
    res,err = batlib.setfileattr([[test.txt]],32)
    print (batlib.tooem(res), batlib.tooem(err));

    Мечта - чтобы это работало и в Scite.
    Для этого нужно либо пересобрать DLL с Lua 5.0 и переписать загрузчик библиотеки ,
    либо использовать Scite c Lua 5.1.
    Щас хочу попробывать Scite с LUA 5.1.  
    Пересобирать баблиотеки не хочу.
    А может скоро выпустят и офф. версию с 5.1.
     

    Цитата:
     дописал скрипт ROWrite.lua:

    А зачем? ИМХО лучше нормально сделать возврат сообщения об ошибки.
    Я просто содрал пример с MSDN (заменив MessageBox на lua_pushstring).
     
     
    Добавлено:
    ЗЫ. А как выделять текст, чтоб он подсвечивался как LUA (ну типа local, if ...)?

    Всего записей: 77 | Зарегистр. 14-01-2006 | Отправлено: 13:23 16-03-2007
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

    Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
    Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru