Справка - Перлы

Автор dr.Faust, 17 ноября 2010, 15:31

0 Пользователи и 1 гость просматривают эту тему.

dr.Faust

ЦитироватьИнструкция 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

Должно было быть:
Цитировать
Инструкция 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

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

bormant

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

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

Цитата: dr.Faust от 18 ноября 2010, 21:59
Тут ещё две проблемы - во первых пример не с Name а с FileCopy, а вторая видимо объясняет первую - нет такой инструкции.
А раньше вроде была - я потому в справку и полез, что она у меня не заработала.
Пример и с Name (только его там в коде перевели как "Назовите"), и с FileCopy. Обе инструкции существуют, достаточно сделать ошибку в синтаксисе (например, поменять As на "," или наоборот), чтобы в этом убедиться.
Автору на яд. Поддержать форум.

bormant

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

Было:
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} -- ...

Но объём работы пугает.
Автору на яд. Поддержать форум.

dr.Faust

 :-\
Стыдно... Ай, стыдно.

А идея мне кажется здравой - вовсе не сумасшедшей.
А нельзя ли тут использовать регулярные выражения? (c)  ;)
Свобода информации - свобода личности!

bormant

Цитата: dr.Faust от 25 ноября 2010, 23:08
А нельзя ли тут использовать регулярные выражения? (c)  ;)
-- А эти ягоды можно есть? -- Можно, только отравишься. (q) одно известное кино.
Автору на яд. Поддержать форум.

Рыбка Рио

ubuntu 12.04 + LibO3.6.0