Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Взаимодействие функции Shell и CommonDialog / 9 сообщений из 9, страница 1 из 1
26.02.2019, 10:45
    #39779184
JamesMilner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
Доброго времени суток! В своей программе хочу реализовать простую возможность при нажатии батона открывать нужный текстовый файл, предварительно выбрав его через CommonDialog. Делаю это так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub cmd_Form2_Wiev_Click()

  CommonDialog2.Filter = " Текстовые файлы  (*.TXT)|*.TXT"
    CommonDialog2.ShowOpen
Form2_Text3.Text = CommonDialog2.FileName
Shell ("notepad.exe Form2_Text3.Text ")
End Sub



Это один из 3 вариантов, которые я перепробовал.
Пробовал через запись в переменную:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub cmd_Form2_Wiev_Click()
Dim a As String

    CommonDialog2.Filter = " Текстовые файлы (*.TXT)|*.TXT"
    CommonDialog2.ShowOpen
a = CommonDialog2.FileName
Shell ("notepad.exe a ")
End Sub



И пробовал напрямую :
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub cmd_Form2_Wiev_Click()


    CommonDialog2.Filter = " Òåêñòîâûå ôàéëû (*.TXT)|*.TXT"
    CommonDialog2.ShowOpen

Shell ("notepad.exe  CommonDialog2.FileName ")
End Sub



Однако во всех случаях Бэйсик видит исключительно как переменную указанное значение в Shell, а не как путь к файлу.
...
Рейтинг: 0 / 0
26.02.2019, 10:53
    #39779190
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
Бейсик видит, что вы написали в коде:

Код: vbnet
1.
Shell ("notepad.exe a ")



а написали вы бред..
...
Рейтинг: 0 / 0
26.02.2019, 11:02
    #39779196
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
JamesMilnerОднако во всех случаях Бэйсик видит исключительно как переменную указанное значение в Shell, а не как путь к файлу.почему вы считаете, что бейсик должен догадаться заменить именно "а" на вашу строку, а не, скажем, "notepad" или "exe"?

Гуглите "конкатенация строк"
...
Рейтинг: 0 / 0
26.02.2019, 11:19
    #39779202
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
И кстати так нельзя делать

Код: vbnet
1.
a = CommonDialog2.FileName



Потому что пользователь может вбить в CommonDialog любой бред с клавиатуры. Нужно проверить введенные данные перед использованием.
...
Рейтинг: 0 / 0
26.02.2019, 11:37
    #39779218
JamesMilner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
Eolt, просто я не догоняю пока, почему Бэйсик не распознаёт запись в виде CommonDialog2.FileName как диррективу , готовый адрес. Если же этот полный путь прописать руками, то файл открывается успешно
...
Рейтинг: 0 / 0
26.02.2019, 11:57
    #39779228
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
JamesMilner,

начните с простенького

Код: vbnet
1.
2.
3.
4.
Dim a as String, b as String, k as String
a = "ssssss"
b = "a"
k = a

чему будут равны переменные b и k и почему?
...
Рейтинг: 0 / 0
26.02.2019, 11:58
    #39779229
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
JamesMilnerEolt, просто я не догоняю пока, почему Бэйсик не распознаёт запись в виде CommonDialog2.FileName как диррективу , готовый адрес. Если же этот полный путь прописать руками, то файл открывается успешно

Не распознает, потому что у вас ошибка в коде. Очень грубая.
...
Рейтинг: 0 / 0
26.02.2019, 12:07
    #39779234
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
JamesMilner,
Код: vbnet
1.
Shell "notepad.exe " & a
...
Рейтинг: 0 / 0
26.02.2019, 13:57
    #39779297
JamesMilner
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Взаимодействие функции Shell и CommonDialog
Казанский, Большое спасибо!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Взаимодействие функции Shell и CommonDialog / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]