Double Commander

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

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

Аватара пользователя
B4rr4cuda
энтузиаст
Сообщения: 693
Зарегистрирован: 28.12.2007 06:48:35

Сообщение B4rr4cuda »

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

Сообщение Alexx2000 »

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

У меня тоже локаль UTF-8, все отображается нормально. Попробуй другой шрифт выбрать.
Аватара пользователя
B4rr4cuda
энтузиаст
Сообщения: 693
Зарегистрирован: 28.12.2007 06:48:35

Сообщение B4rr4cuda »

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

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

Сообщение B4rr4cuda »

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

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

Сообщение B4rr4cuda »

Ступил я немного с портом. В поставке fpc есть модули для работы с луа.
PS:Простите если излишне настойчив, но идея встроенного интерпретатора мне очень нравится.
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

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

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

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

Сообщение B4rr4cuda »

Устанавливаться будет к примеру в /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")
Аватара пользователя
Brainenjii
энтузиаст
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Сообщение Brainenjii »

может не в тему, но тут что-то есть про лазарус и LUA...
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

Очень даже в тему :)
Это как я понял как раз аналог 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
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

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

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


да вообщето поравну куда, если дойдет до мейнтеров то они сам разберутся, а себе ставить куда угодно можно, я предпочитаю подобный софт в /opt/doublecmd
а в /usr и подобное только дебы автомотом ставят.
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

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

Тоже неплохая идея, у меня в /opt сейчас Лазарус стоит.
Сейчас уже почти сделал создание rpm пакетов.
Святослав
незнакомец
Сообщения: 5
Зарегистрирован: 10.01.2008 19:09:51

Сообщение Святослав »

Ребята! Посмотрите на: http://x-diesel.com
Там лежит уже готовый файлменеджер, который вы собираетесь писать. Бесплатный. Под Windows. Зачем есчьой раз изобретать калесо, а?
Аватара пользователя
Alexx2000
постоялец
Сообщения: 490
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи
Контактная информация:

Сообщение Alexx2000 »

Я о нем прекрасно знаю (и писали здесь уже о нем). :)
Еще если ввести в Google запрос "Бесплатный файловый менеджер" найдется еще десяток аналогичных программ. И так с большинством программ. Как говориться все уже написано до нас.
Да и он только под Windows.
m_guest
постоялец
Сообщения: 193
Зарегистрирован: 14.08.2005 15:10:21

Сообщение m_guest »

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

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

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

Читаем на форуме UC:
Да, верно, изначально проект задумывался как коммерческий (как минимум по той причине, что автору, то есть мне, надо чем-то питаться...). Для России и близлежащих стран программа либо останется бесплатной, либо цена будет символическая 0.3-0.5$ (30-50 центов). Для западных пользователей также цена предполагается весьма низкая.
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

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


ну даже если предположить что лениво топик с начало прочитать, а ума прочитать первое сообщения не хватает, то хотя бы 3 последние сообщения прочитать можно было ? и понять что ДС не только для венды . .
Ответить