Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

11 Ноябрь 2019, 23:51 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Справка - Перлы  (Прочитано 4465 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Стартовое сообщение: 17 Ноябрь 2010, 15:31 »

Цитата:
Инструкция Name [время выполнения]
Переименовывает существующий файл или каталог.
Синтаксис:
Name Старое_имя As String As Новое_имя As String
Параметры:
Старое_имя, Новое_имя. Любые строковые выражения, которые указывают имя файла, включая путь. Здесь можно также использовать URL-нотацию.
Пример:
Sub ExampleReName
On Error Goto Error
Filecopy "c:\autoexec.bat", "c:\temp\autoexec.sav"
Назовите "c:\temp\autoexec.sav" как "c:\temp\autoexec.bat"
end
Error:
if err = 58 then
msgbox "Файл уже существует"
end if
end
еnd sub
Записан

Свобода информации - свобода личности!
bormant
Глобальный модератор
*
Offline Offline

Сообщений: 927



« Ответ #1: 18 Ноябрь 2010, 13:53 »

Должно было быть:
Цитата:
Инструкция Name [время выполнения]

Переименовывает существующий файл или каталог.

Синтаксис:
Name Старое_имя As String As Новое_имя As String

Параметры:
Старое_имя, Новое_имя. Любые строковые выражения, которые указывают имя файла, включая путь. Здесь можно также использовать URL-нотацию.

Пример:
Sub ExampleReName
On Error Goto Error
FileCopy "c:\autoexec.bat", "c:\temp\autoexec.sav"
Name "c:\temp\autoexec.sav" As "c:\temp\autoexec.bat"
End
Error:
If Err = 58 Then
  MsgBox "Файл уже существует"
End If
End
End Sub
Семантика: Name (OldName As String) As (NewName As String)
Записан

Автору на яд. Поддержать форум.
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #2: 18 Ноябрь 2010, 21:59 »

Первый раз вижу такой оригинальный подход, но дело даже не в этом...
Тут ещё две проблемы - во первых пример не с Name а с FileCopy, а вторая видимо объясняет первую - нет такой инструкции.
А раньше вроде была - я потому в справку и полез, что она у меня не заработала.
Записан

Свобода информации - свобода личности!
bormant
Глобальный модератор
*
Offline Offline

Сообщений: 927



« Ответ #3: 19 Ноябрь 2010, 11:36 »

Первый раз вижу такой оригинальный подход
Думаю, всё таки не первый, вспомните "длинный" синтаксис оператора открытия файла:
Open {ИмяФайла As String} [For Режим] [Access Режим_ввода/вывода] [Защита] As [#]{НомерФайла As Integer} [Len = ДлинаБД]

Кстати, тоже с семантической ошибкой: -- Len -- речь о длине одной записи, а не о длине БД, кстати, там ниже обозвано правильно -- ДлинаЗаписи.

Тут ещё две проблемы - во первых пример не с Name а с FileCopy, а вторая видимо объясняет первую - нет такой инструкции.
А раньше вроде была - я потому в справку и полез, что она у меня не заработала.
Пример и с Name (только его там в коде перевели как "Назовите"), и с FileCopy. Обе инструкции существуют, достаточно сделать ошибку в синтаксисе (например, поменять As на "," или наоборот), чтобы в этом убедиться.
« Последнее редактирование: 19 Ноябрь 2010, 11:40 от bormant » Записан

Автору на яд. Поддержать форум.
bormant
Глобальный модератор
*
Offline Offline

Сообщений: 927



« Ответ #4: 19 Ноябрь 2010, 11:52 »

Вообще, для русской справки есть у меня одна сумасшедшая идея -- либо заключить в фигурные скобки указания типов элементов, поскольку они частью команды не являются, либо вообще вынести тип в описание параметра:

Было:
Open ИмяФайла As String [For Режим] [Access Режим_ввода/вывода] [Защита] As [#]НомерФайла As Integer [Len = ДлинаБД]

Станет 1:
Open ИмяФайла {As String} [For Режим] [Access Доступ] [Защита] As [#]НомерФайла {As Integer} [Len=ДлинаЗаписи {As Integer}]

Станет 2:
Open ИмяФайла [For Режим] [Access Доступ] [Защита] As [#]НомерФайла [Len=ДлинаЗаписи]
ИмяФайла {As String} -- строковая переменная ...
Режим -- ключевое слово, допустимые значения: Binary, Append, Input, Output. ...
Доступ -- ключевое слово, допустимые значения: Read, Write, Read Write. ...
Защита -- ключевое слово, допустимые значения: Shared, Lock Read, Lock Write, Lock Read Write. ...
НомерФайла {As Integer} -- целое от 0 до 511 ...
ДлинаЗаписи {As Integer} -- ...

Но объём работы пугает.
« Последнее редактирование: 19 Ноябрь 2010, 11:55 от bormant » Записан

Автору на яд. Поддержать форум.
dr.Faust
Администратор
**
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 340


« Ответ #5: 25 Ноябрь 2010, 23:08 »

 В замешательстве
Стыдно... Ай, стыдно.

А идея мне кажется здравой - вовсе не сумасшедшей.
А нельзя ли тут использовать регулярные выражения? (c)  Подмигивающий
Записан

Свобода информации - свобода личности!
bormant
Глобальный модератор
*
Offline Offline

Сообщений: 927



« Ответ #6: 26 Ноябрь 2010, 00:19 »

А нельзя ли тут использовать регулярные выражения? (c)  Подмигивающий
-- А эти ягоды можно есть? -- Можно, только отравишься. (q) одно известное кино.
Записан

Автору на яд. Поддержать форум.
Рыбка Рио
Форумчанин
***
Offline Offline

Сообщений: 1 678


« Ответ #7: 7 Май 2011, 18:22 »

Up.
Записан

ubuntu 12.04 + LibO3.6.0
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!