Форум » [x]Harbour » Случайно обнаружил глюк » Ответить

Случайно обнаружил глюк

Andrey: Случайно обнаружил глюк. Если файл без мемо полей и имеет длинное имя (типа Test4_Dbf_20.04.2018-00333.dbf), то он открывается нормально в программе dbedit.exe Но если есть мемо поле (проверял для Test4_Dbf_20.04.2018-00333.fpt) то программа просто сваливается... И еще при создании длинного имени для "DBFCDX" - режется (не создаётся) расширение файла ".fpt". Приходится самому переименовывать файл.

Ответов - 9

Dima: Andrey пишет: Случайно обнаружил глюк. Да , Dbedit Пашин тоже ведет себя странно с такими именами. Хотя имя типа fhjgkshfgskjdfhgkjshdkfjghksjdhfkjhskjdfhkjshdfkjhsdk.dbf (включая FPT) скушалось нормально и глюков нет. Наверное дело в точках , тестить надо.

Pasha: Это не dbedit глючит, это dbcreate так разбирает имя файла. Считает, что все что после точки - это расширение, и не задает стандарное расширение dbf А если в имени две точки - то обрезается и имя для fpt Можно поиграться с настройкой Set( _SET_DEFEXTENSIONS, <l> ) Никогда не пользовался, это какое-то расширение харбора

Dima: Pasha пишет: Считает, что все что после точки - это расширение, и не задает стандарное расширение dbf Так может ему кормить имя через HB_FNAMEEXT и HB_FNAMENAME PS Отработали корректно на имени файла что дал Андрей


Pasha: что-то у меня не получилось открыть такой файл с fpt Лучше конечно в имени файла избегать такие спецсимволы. Особой необходимости их использовать нет.

Dima: Pasha пишет: Лучше конечно в имени файла избегать такие спецсимволы. Особой необходимости их использовать нет. +1 Или заменять точки на _ или что то иное

Andrey: Pasha пишет: Особой необходимости их использовать нет. Для DBF в своей программе - да, нет необходимости. Но вот для обмена между программами для Сбербанка, ЕИРЦ и т.д. - такое уже встречается. То ли ещё будет... Вот и озадачился этим. Dima пишет: Так может ему кормить имя через HB_FNAMEEXT и HB_FNAMENAME Это как ?

Dima: Andrey пишет: Это как ? В твоем случае если имя файла (с точками) , допустим Cfile Выдергиваем имя файла без расширения HB_FNAMENAME (Cfile) , заменяем точки на что то другое + цепляем расширение HB_FNAMEEXT (Cfile) и юзаем в Harbour Можно так же вести если надо базу стыковок , старое имя - новое имя , это если файл надо например обратно заливать.......

Andrey: Наверное и ошибка из Пост N: 5818 из этой же серии. http://clipper.borda.ru/?1-1-0-00000519-000-220-0-1524063976 Ошибка в методе oBrw:ExcelOle(cXlsFile, ...) !!! Отрезает имя файла, когда задаёшь полный путь и длинное имя файла. По тестирую у себя...

Andrey: Точно, если создавать новый файл в Ole-Excel с несколькими точками в имени файла, то Эксель может "обрезать" имя файла. На некоторых компах не режет... Странно.



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