Работа с каталогами и файлами

Тема в разделе "Lotus - Программирование", создана пользователем 11BOSS11, 26 авг 2010.

  1. 11BOSS11

    11BOSS11 Гость

    Открытие файла для записи (проверка на существование полного пути и создание при необходимости директорий)

    допустим мне надо открыть такой файл : c:\temp\123.txt , если такой директории и файла нету, то создать его.........
    :)
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    :)
    dir, open, print

    См. в справке дизайнера раздел "File Handling"
     
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Код (LotusScript):
    Dir
     
  4. 11BOSS11

    11BOSS11 Гость

    посмотрите пожалуйста в чем ошибка,
    делаю вот таким от обрахом:
    Код (LotusScript):
    pathName$=c:\temp\123.txt

    FILENAME= Dir$(pathName$)
    :)
     
  5. Darker

    Darker Гость

    Код (LotusScript):
    mkDir
    Добавлено: Кавычки?
    Если не поможет, то двойной слэш попробуй, от платформы зависет
     
  6. 11BOSS11

    11BOSS11 Гость

    так чтоли:
    Код (LotusScript):
    pathName$="c:\temp\123.txt"
    Mkdir pathName$
    FILENAME= Dir$(pathName$)
    тоже не получается...
     
  7. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Mkdir создает директорию, а не файл!
    Добавлено: причем оно не создаст Вам сразу две директории (C:\Dir1\Dir2) -- надо создать сначала C:\Dir1, а потом C:\Dir1\Dir2
     
  8. Darker

    Darker Гость

    MkDir не относился к твоей проблеме

     
  9. 11BOSS11

    11BOSS11 Гость

    с созданием директории яразобрался с помощю MkDir , а вот как проверить есть ли уже такая директория, и елс ида то не создавать?
    - и как мне проверять есть ли файл "c:\temp\123.txt" , если нет , то создавать?



    Добавлено:
    у меня проблеа:

    есть путь: "c:\temp\123.txt"
    - проверить есть ли такой каталог , если нету создать.
    - проверить есть ли такой файл, елси нету создать.

    вот вся моя проблеа,. там далше как работать с файлами я знаю........

    а MkDir мне надо для того чтобы создать каталог если такового не имеется...
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    -для темпов - юзать получение временного каталога ср-вами нотусов
    -для созадния диров - поставить обработку ошибок, с Resume Next для случая "нужных" исключений (просто пройдет дальше, ежели сущ. каталог)
    традиционно
    -юзать java для рекурсивного создания диров :):
    Код (Text):
                // Setup directories
    File baseDir = new File("c:\\examples\\embedding");
    File outDir = new File(baseDir, "out");
    outDir.mkdirs();
    и бэкслэши не являются универсальными в ЛС (к тому же - гимор с экранирование), можно использовать прямые (в путях)
     
  11. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Код (LotusScript):
    If Dir$("c:\temp", 16) = "" Then Mkdir("c:\temp")
    If Dir$("c:\temp\123.txt", 0) = "" Then
    '...
     
  12. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    nvy
    не надо учить такому ;)...
    зачем проверять файл? - NotesStream.Open
    куча ифов, если большая вложенность - ну очень нагружает код
     
  13. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Ну так я с самого начала указал, где и что почитать. Ну а дальше — каков вопрос, таков ответ ;) .

    И потом, мы же не знаем, какая стоит задача. М.б. нужно не затирать файл, а создать новый (как Word версии сохраняет).
     
  14. 11BOSS11

    11BOSS11 Гость

    ОО всем огромнейшее спасибо за помощь!! ;)


    Добавлено: а не подскажите какой ф-ей воспольховатся для выделения из "c:\temp\123.txt" только адреса директории, инымы словамы мне надо урезать имя файла... ;)
     
  15. 11BOSS11

    11BOSS11 Гость

    вообщем если бы я знал имя файла можна было бы воспольховатся InStr и Left, а так мне надо обрезать все справа до первого слеша,...
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.081
    Симпатии:
    300
    читайте мануал, про работу со строками...
    StrLeftBack
     
  17. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    11BOSS11
    StrLeftBack( "c:\temp\123.txt" )
     
  18. 11BOSS11

    11BOSS11 Гость

    я вот так сделал:

    Код (LotusScript):
    For i=1 To Len(FILENAME)
    If Right(Left(FILENAME, i),1)="\"  Then
    ks1=i
    End If
    Next


    DIRECTORYNAME=Left(FILENAME,ks1-1)
     
  19. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
  20. 11BOSS11

    11BOSS11 Гость

    Спс!!!
    тема закрыта! ;)
     
Загрузка...
Похожие Темы - Работа каталогами файлами
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    32
  2. Hoasker
    Ответов:
    0
    Просмотров:
    65
  3. garri671
    Ответов:
    0
    Просмотров:
    58
  4. lelik200969
    Ответов:
    0
    Просмотров:
    55
  5. Kozolick
    Ответов:
    0
    Просмотров:
    145

Поделиться этой страницей