На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Помощь с указанием относительного пути в VB , Помощь с указанием относительного пути в VB
    Надо указать относительный путь к папке C:\Windows.old\Users\?????????????\AppData\Local\Temp
    Где ??????? - неизвестное имя пользователя
    C:\Windows.old\Users\..\AppData\Local\Temp - ..\ не работает , вылезает ошибка что путь не найден.
      Цитата Jerenimous @
      Где ??????? - неизвестное имя пользователя

      Ну так узнайте сперва.
      Цитата Jerenimous @
      C:\Windows.old\Users\..\AppData\Local\Temp - ..\ не работает , вылезает ошибка что путь не найден.

      Правильно, потому что получается C:\Windows.old\AppData\Local\Temp
        Программа должна проверять файлы которые будут находится по данному пути, а у каждого пользователя на этом месте разные названия.
        Если у меня например C:\Windows.old\Users\Andrey\AppData\Local\Temp
        то у у другого может быть
        C:\Windows.old\Users\Ivan\AppData\Local\Temp

        Есть ли способ "пропустить" это значение и сразу приступить к папке appdata?
          Используй getuserprofiledirectory функц ию
            Цитата Jerenimous @
            Есть ли способ "пропустить" это значение и сразу приступить к папке appdata?

            Нет. Таких каталогов несколько - как система или программа определит, какой из каталогов надо "пропустить"? более того - а как ты определяешь, какой именно нужен?

            Цитата MIF @
            Используй getuserprofiledirectory функц ию

            Если бы он обращался к каталогам текущего инстанса ОС - да, но, судя по наличию в пути каталога windows.old, ему нужно лезть в каталоги предыдущего инстанса, который "подвинут" установкой текущего...
              Получить путь к директории и добавить .old ?
                MIF
                Ну это при условии, что имя учётки в новой ОС точно такое, как и в старой.
                Хотя имхо проще тупо просканить каталог на предмет подкаталогов, и подставить реально имеющееся.
                Сообщение отредактировано: Akina -
                  Ну а если путь будет следующий - C:\Users\Имя Пользователя\Downloads
                  Можно ли как-то попасть прямиком в downloads если значение "Имя Пользователя" всегда будет разным?
                    Если "Имя Пользователя" - это имя ТЕКУЩЕЙ УЧЁТНОЙ ЗАПИСИ, то элементарно:
                    ExpandedWrap disabled
                      strPath = Environ("USERPROFILE") & "\Downloads"

                    Иначе та же проблема - как выбрать нужное из нескольких абсолютно эквивалентных.

                    PS. Аналогично для начального вопроса - если речь о текущей учётной записи, то
                    ExpandedWrap disabled
                      strPath = Environ("LOCALAPPDATA") & "\Temp"
                    Сообщение отредактировано: Akina -
                      Да, "Имя Пользователя" это текущая учётная запись, но strPath = Environment("USERPROFILE") & "\Downloads" не помогло, так как программа (если она находится на рабочем столе) начинает искать по пути C:Users\Имя Пользователя\Desktop\USERPROFILE\Downloads
                      Поиск через For Each foundFile As String In My.Computer.FileSystem.GetFiles(
                      strPath,
                      FileIO.SearchOption.SearchTopLevelOnly, "*.exe")
                        Цитата Jerenimous @
                        strPath = Environment("USERPROFILE") & "\Downloads" не помогло, так как программа (если она находится на рабочем столе) начинает искать по пути C:Users\Имя Пользователя\Desktop\USERPROFILE\Downloads

                        Ох, ну до чего ж лень думать-то... откуда функцию Environment() накопал, если нет такой стандартной? код выше поправил...

                        Цитата Jerenimous @
                        Поиск через For Each foundFile As String In My.Computer.FileSystem.GetFiles

                        Мы, оказывается, даже читать не умеем... а ведь вон наверху русским по белому пишут:
                        Цитата
                        Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.
                          Да, невнимательный я :D
                          Спасибо, все работает
                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                          0 пользователей:


                          Рейтинг@Mail.ru
                          [ Script execution time: 0,0391 ]   [ 16 queries used ]   [ Generated: 19.04.24, 20:19 GMT ]