![]() |
#1 |
Участник
|
Всем добрый день!
Вопрос следующий: хочется открыть файл (например, \\mycomp\share\instr.doc). Если использую SHELL(xxx), надо указывать обработчик для файла, что не удобно, т.к. 1)пути у этой программы для каждого пользователя могут быть неодинаковы 2)не хочется плодить большое кол-во вариантов по CASE, да и обработчики периодически могут меняться. Если использую HYPERLINK, то все файлы с диска (будь то локальный или подключенный сетевой) беруться на ура, но сетевой диск так же неудобно подключать специально ради этого. Требуется с сетевого пути, а такие ссылки HYPERLINK передает в web browser добавляя отсебятину, в результате чего возникает ошибка и файл не открывается. Есть ли какой нибудь вариант открытия произвольного типа файла с сетевого пути (как указано выше) без указания обработчика? С уважением, Сергей Гафаров. |
|
![]() |
#2 |
Moderator
|
Пробуйте стандартным образом: START <filename.ext>
|
|
![]() |
#3 |
Участник
|
shellex Automation 'Microsoft Shell Controls And Automation'.Shell
CREATE(shellex); shellex.Open("File source"); CLEAR(shellex); или если использовать HYPERLINK пишите ссылки на файлы в виде file://... все прекрасно откроет.
__________________
Want to believe... |
|
![]() |
#4 |
Участник
|
Спасибо!
|
|
![]() |
#5 |
Участник
|
А подскажите пожалуйста какой Automation можно подключить для диалога (OPEN) открытия файла и записи его пути в текстовую переменную? А еще лучше не файла а выбора папки (тоже с путем)
|
|
![]() |
#6 |
Участник
|
Microsoft Common Dialog Control
|
|
![]() |
#7 |
Участник
|
посмотрите codeunit 412
|
|
![]() |
#8 |
Участник
|
спасибо. знал, но забыл. стар стал...
|
|
![]() |
#9 |
Участник
|
Подскажите, пожалуйся, как сделать проверку на открытие файла.
То есть если файла не найдено, вернуло ошибку. |
|
![]() |
#10 |
Участник
|
IF NOT File.OPEN('Файл') THEN
error(Ошибка) |
|
![]() |
#11 |
Участник
|
Если получать доступ к файлам через тип данных File, то у фукции Open есть возвращаемый параметр true/false. И можно отследить прошло ли открытие файла. Например
if not(file1.open('путь')) then message('файл не существует'); Еще справка по этой функции из Нава: Use this function to open an existing ASCII or binary file. As compared to CREATE (File), this function does not create the file if it does not exist. [Ok]:= File.OPEN Ok Data type: boolean If you omit this optional return value, a run-time error occurs if the system cannot find the file. If you include a return value, you must handle any errors. The possible values are: If Ok is... It means the file was... TRUE Opened FALSE Not opened (does not exist) File Data type: file Use this variable to refer to the file. |
|