Форум » LetoDB, HbNetio. » Как в LetoDB грамотно сменить слеш с правого на » Ответить

Как в LetoDB грамотно сменить слеш с правого на

PSP: левый, стандартный для Windows? Манипуляции с отключением объявления __LINUX__ что-то не помогают... Кто знает?

Ответов - 13

AlexMyr: А в чем проблема, что-то не работает? Я использую cPath := "//127.0.0.1:2812/" и нормально работает.

PSP: Все работает. Но хочется знать.

AlexMyr: Может hb_ps() поможет?


PSP: AlexMyr пишет: Может hb_ps() поможет? Это касается той оси, на которой запущено приложение. Тут не об этом. Я поясню. Если использовать "/", то все работает. Если поменять на"\", то не работает. В винде используется "\", а в линуксе "/". Хотелось бы, чтобы пути выглядели "нативней" что-ли... Я так понимаю, что сепаратор определяется при компиляции сервера leto. В server.prg есть такой код: [pre2]#ifdef __LINUX__ ANNOUNCE HB_GTSYS REQUEST HB_GT_STD_DEFAULT #define DEF_SEP '/' #define DEF_CH_SEP '\' #else #ifndef __CONSOLE__ #ifndef __XHARBOUR__ ANNOUNCE HB_GTSYS REQUEST HB_GT_GUI_DEFAULT #endif #endif #define DEF_SEP '\' #define DEF_CH_SEP '/' #endif [/pre2] Я убирал объявление __LINUX__ из letodb.hbp, но, почему-то, ничего не изменилось. Дальше не экспериментировал. Вот и хочу услышать, как это сделать.

AlexMyr: А можно самодостаточный пример в студию для проверки?

PSP: AlexMyr пишет: А можно самодостаточный пример в студию для проверки? Дык, а какой пример? Смени в пути "/" на "\" - вот и весь пример. У меня с "\" не работает. Проверь у себя.

PSP: PS. Я понимаю, что это не играет особой роли. Просто стало интересно...

PSP: Неужели невозможно?

AlexMyr: Нужно исходники править, там еще путь через strtran проходит - cPath := StrTran( aIni[i,2,j,2], DEF_CH_SEP, DEF_SEP ), а может и еще где. Я думаю Паша что-то по конкретней скажет.

PSP: Да, кстати о hb_ps(): Паша, а может быть на сервере правильнее ее использовать, а?

PSP: PSP пишет: там еще путь через strtran проходит - cPath := StrTran( aIni[i,2,j,2], DEF_CH_SEP, DEF_SEP ) Да, это - оно. Пропустил я это место, видать...

Pasha: PSP пишет: Это касается той оси, на которой запущено приложение. Тут не об этом. Я поясню. Если использовать "/", то все работает. Если поменять на"\", то не работает. В винде используется "\", а в линуксе "/". Хотелось бы, чтобы пути выглядели "нативней" что-ли... Я так понимаю, что сепаратор определяется при компиляции сервера leto. В server.prg есть такой код: Изначально задумка Александра была такой: В строке коннекта перед именем хоста и после порта должен быть прямой слеш. Затем может использоваться как прямой, так и обратный, и на клиенте win и *nix. Сервер (win или *nix) сам преобразует слеш в прямой или обратный через strtran. Но эта схема в случае сервер win - клиент win у меня не всегда работала. Я тогда не разбирался, в чем дело, а просто ставил слеш, чтобы сервер правильно воспринимал путь. Уже не помню подробности. А что хочется ? Чтобы была возможность использовать и обратный слеш перед хостом и после порта в клиенте win ?

PSP: Pasha пишет: А что хочется ? Чтобы была возможность использовать и обратный слеш перед хостом и после порта в клиенте win ? Да. Просто для win так привычнее, имхо...



полная версия страницы