Double Commander

Файловый менеджер

Модератор: Модераторы

Сообщение B4rr4cuda » 13.01.2008 23:54:23

Да, и ещё такую вещь спросить хотел:
Дц скомпилен под gtk (1), локаль системы - utf-8.
Все русские надписи отображаются коректно, кроме имен файлов в файл-панелях, где страшно глючит кодировка кирилицы и выводит бессмысленный набор символов, как будто попыталиcь юникодный набор в koi8-r сконвертить.
При этом если попытаться переименовать (Shift+F6), отображается нормально, также нормально отображается в диалогах копирования\перемещения\удаления.
Так вот, это баг дц или моей системы?
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Сообщение Alexx2000 » 14.01.2008 01:54:33

Скриптовый язык это конечно хорошо, только не все сразу :)

У меня тоже локаль UTF-8, все отображается нормально. Попробуй другой шрифт выбрать.
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Сообщение B4rr4cuda » 14.01.2008 03:14:10

И ещё забавные вопросы возникли:
куда в лине будет устанавливаться DC?
Где будет храниться файл конфига?
Если UseIniInProgramDir будет 1, а прав на запись в этот каталог не будет, то писать в .config?
Почему default.bar хранится не в .config, а в основной папке?

В общем надо продумать систему расположения файлов, учитывая разграничения прав доступа никсов.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Сообщение B4rr4cuda » 14.01.2008 03:34:39

Спасибо, с отображением помог шрифт terminus - iso10646-1.

То что не все сразу - это понятно. :) Просто, реализовав скрипты можно будет облегчить себе жизнь. То же динамичекое меню скриптом формировать. Благо в луа и модуль для парсинга xml есть. Или еще круче, скрипт динамически формирует меню во время работы. Удобно. А в случае ошибки поправить и выложить скриптик, а не перекомпилить весь проект или искать ошибку в 5-ти модулях...
Просто потом будет поздно, придется через анал прикручивать. А сейчас самое оно. И базовый функционал уже реализован и рефакторинг со дня на день ожидается. Интерфейс точно переботать надо, очень уж диалоги неудобные....
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Сообщение B4rr4cuda » 14.01.2008 14:47:16

Ступил я немного с портом. В поставке fpc есть модули для работы с луа.
PS:Простите если излишне настойчив, но идея встроенного интерпретатора мне очень нравится.
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Сообщение Alexx2000 » 14.01.2008 18:43:46

B4rr4cuda писал(а):В общем надо продумать систему расположения файлов, учитывая разграничения прав доступа никсов.

Устанавливаться будет к примеру в /usr/local/lib/doublecmd
В /usr/bin symlink на бинарник doublecmd
Конфиги будет хранить:
1) UseIniInProgramDir=1, в каталоге программы, будет что-то типа portable версия
2) UseIniInProgramDir=0, в /home/username/.config/doublecmd
Ступил я немного с портом. В поставке fpc есть модули для работы с луа.

Вот только как это использовать, что-то примеры найти не смог.
Как к например получить доступ к объектам программы :?:
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Сообщение B4rr4cuda » 14.01.2008 20:29:37

Устанавливаться будет к примеру в /usr/local/lib/doublecmd

Тогда уж лучше /usr/local/share/doublecmd

Вот только как это использовать, что-то примеры найти не смог. Как к например получить доступ к объектам программы

Если использовать Lua4Delphi, то так:
Код: Выделить всё
F = GetObject('Form1');
X = CreateObject('TLabel', false, F);
X.Name ='New_Label'
X.Parent = F.Panel1;
X.Left = 20;
X.Top = 30;

Это надстройка над VCL для луа. Правда я ещё не пробовал её в лазаре. Скорее всего надо будет адаптировать. Чем собственно и займусь.

А вообще информации очень мало. Сейчас собираю документацию, сорцы, осваиваю луа и его использование из fpc.

Только что тестовый примерчик наконец-то заработал:
Код: Выделить всё
uses lua,lualib,lauxlib;
..........
function lua_print(L: Plua_State): Integer; cdecl;
var
   i, n: Integer;
begin
   n := lua_gettop(L);
   for i := 1 to n do
   begin
     if i > 1 then
       Write(#9);
     if lua_isstring(L, i) then
       Write(lua_tostring(L, i))
     else
       Write(Format('%s:%p', [lua_type(L, i), lua_topointer(L, i)]));
   end;
   WriteLn;
   Result := 0;
end;

procedure TForm1.FormCreate(Sender: TObject);
var lulib:Plua_State;
begin
  lulib:=lauxlib.lua_open;
  lua_register(lulib, 'print', @lua_print);
  lua_dofile(lulib, PChar('hello.lua'));
  lua.lua_close(lulib);
end;


hello.lua
Код: Выделить всё
print("hello world, from Lua!\n")
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Сообщение Brainenjii » 15.01.2008 08:06:40

может не в тему, но тут что-то есть про лазарус и LUA...
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Alexx2000 » 15.01.2008 13:17:49

Очень даже в тему :)
Это как я понял как раз аналог Lua4Delphi.
В примерах есть обращение к компонентам формы:
Код: Выделить всё
-- Change the caption of the existing button
btn.Caption = 'Hello Alexx!'
-- Set its position
btn.Left = 20
btn.Top = 20
-- Add an event handler
function btn:OnClick ()
  ShowMessage('You clicked the button!')
end
-- Make it visible
btn.Visible = true
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Сообщение Attid » 15.01.2008 14:01:42

Устанавливаться будет к примеру в /usr/local/lib/doublecmd

Тогда уж лучше /usr/local/share/doublecmd


да вообщето поравну куда, если дойдет до мейнтеров то они сам разберутся, а себе ставить куда угодно можно, я предпочитаю подобный софт в /opt/doublecmd
а в /usr и подобное только дебы автомотом ставят.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение Alexx2000 » 15.01.2008 16:08:29

Attid писал(а): я предпочитаю подобный софт в /opt/doublecmd
а в /usr и подобное только дебы автомотом ставят.

Тоже неплохая идея, у меня в /opt сейчас Лазарус стоит.
Сейчас уже почти сделал создание rpm пакетов.
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Сообщение Святослав » 15.01.2008 19:04:53

Ребята! Посмотрите на: http://x-diesel.com
Там лежит уже готовый файлменеджер, который вы собираетесь писать. Бесплатный. Под Windows. Зачем есчьой раз изобретать калесо, а?
Святослав
незнакомец
 
Сообщения: 5
Зарегистрирован: 10.01.2008 20:09:51

Сообщение Alexx2000 » 15.01.2008 19:50:24

Я о нем прекрасно знаю (и писали здесь уже о нем). :)
Еще если ввести в Google запрос "Бесплатный файловый менеджер" найдется еще десяток аналогичных программ. И так с большинством программ. Как говориться все уже написано до нас.
Да и он только под Windows.
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 488
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Сообщение m_guest » 15.01.2008 19:55:26

Во-первых, ключевое словосочетание "под Windows"..Если прочитаете внимательнее эту тему, то заметите, что ФМ планируется кросс-платформенный..

Во-вторых, зачем писать одно и тоже в двух темах? (здесь и в "предлагаю написать файловый менеджер")..?

Ну и последнее, Unreal Commader отнюдь не бесплатен..Вернее, бесплатная регистрация и получение ключей..Пока..

Читаем на форуме UC:
Да, верно, изначально проект задумывался как коммерческий (как минимум по той причине, что автору, то есть мне, надо чем-то питаться...). Для России и близлежащих стран программа либо останется бесплатной, либо цена будет символическая 0.3-0.5$ (30-50 центов). Для западных пользователей также цена предполагается весьма низкая.
m_guest
постоялец
 
Сообщения: 193
Зарегистрирован: 14.08.2005 15:10:21

Сообщение Attid » 15.01.2008 19:56:58

Святослав писал(а):Ребята! Посмотрите на: http://x-diesel.com
Там лежит уже готовый файлменеджер, который вы собираетесь писать. Бесплатный. Под Windows. Зачем есчьой раз изобретать калесо, а?


ну даже если предположить что лениво топик с начало прочитать, а ума прочитать первое сообщения не хватает, то хотя бы 3 последние сообщения прочитать можно было ? и понять что ДС не только для венды . .
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Пред.След.

Вернуться в Double Commander

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Рейтинг@Mail.ru