Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
6 / 6 / 0
Регистрация: 08.04.2022
Сообщений: 52

Нужен исходник по созданию определенного количества папок

04.05.2023, 11:27. Показов 5569. Ответов 115

Студворк — интернет-сервис помощи студентам
Доброго времени суток, пользуюсь скриптами... VBS PoSH, CMD там сделать множество каталогов не такая уж проблема, подумал пару месяцев назад подучить VB6, хотел посмотреть смогу ли использовать его в администрировании... но увы информации мало, да и программы нашел по мимо ТС-а, которые могут как переименовывать, так и создавать множество папок. А вот по VB так и не нашел ничего, хотелось бы найти исходник или пример... Если нет ни у кого на этом форуме, то и искать уже, наверное, бесполезно.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.05.2023, 11:27
Ответы с готовыми решениями:

Подсчитать количество символов в названиях папок и добить нулями до определённого количества
Привет всем! Необходимо решить очень сложную задачу... Что имеем: Есть неограниченное количество папок, их названия и длину названий...

Нужен исходник для расчёта комплектации материалов или т.п. Исходник с расчётами, таблицами
Добрый день всем) Нужна помощь. Занимаюсь расчётами стоимость материалов и стоимость в оконной конторе. Создал для себе эксель...

Батник по созданию папок
Всем привет. Помогите написать бат, который создает папку в папке. Например: Папка 1\Папка 2\Папка 3\ Папка 4\... и т.д.

115
6 / 6 / 0
Регистрация: 08.04.2022
Сообщений: 52
05.05.2023, 16:54  [ТС]
Студворк — интернет-сервис помощи студентам
Что-то похожее еще на stackoverflow
0
6 / 6 / 0
Регистрация: 08.04.2022
Сообщений: 52
05.05.2023, 17:06  [ТС]
Еще одна похожая, но бесполезная хоть и функционалом, жаль исходников нет. Еще есть плагины, но плагины при переносе ломают часто файл. Вот предпочитаю не использовать их.
Вложения
Тип файла: zip List_of_files_v13.zip (18.7 Кб, 22 просмотров)
0
Любитель
 Аватар для Тим70
1039 / 746 / 160
Регистрация: 27.01.2019
Сообщений: 1,509
05.05.2023, 17:36
Addmmin, Самое простое
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Command1_Click()
Dim n As Integer, Name As String, i As Integer
On Error Resume Next
n = Int(InputBox("Введите количество папок"))
Name = InputBox("Введить путь и основное имя папки (например с:\New_Dir")
    For i = 1 To n
        MkDir Name & i
    Next
If Err Then MsgBox "Что то пошло не так": Err.Clear
End Sub
Добавлено через 12 минут
После 7 строки можно добавить
Visual Basic
1
Print "Создана  " & Name & i
,что бы был виден результат.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
05.05.2023, 19:16
Не понимаю, чем вам не понравилась моя функция?
Цитата Сообщение от Addmmin Посмотреть сообщение
Public Function MakeDir
Нашли зачем-то где-то такую же функцию как у меня, то что я писал

Добавлено через 1 минуту
Вот я писал уже Нужен исходник по созданию определенного количества папок

Добавлено через 3 минуты
Логика моей функции MakeDir лучше, так как она не создаёт никаких временных промежуточных массивов, а значит она будет работать быстрее.

Добавлено через 21 минуту
Цитата Сообщение от Addmmin Посмотреть сообщение
Что-то похожее еще на stackoverflow
Это для VB.Net

Добавлено через 21 минуту
Цитата Сообщение от Addmmin Посмотреть сообщение
List_of_files_v13.zip (18
Там нет исходников, без приложенных исходников запускать какие-то левые EXE точно не стану
0
1386 / 842 / 91
Регистрация: 08.02.2017
Сообщений: 3,585
Записей в блоге: 1
07.05.2023, 06:41
Думал накидать по быстренькому прогу, но застопорился на диалоге выбора папки. В итоге решил сделать на VBA, с экселевским диалогом.
Вложения
Тип файла: zip ТурбоСоздательПапок.zip (25.5 Кб, 8 просмотров)
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 11:41
Цитата Сообщение от testuser2 Посмотреть сообщение
на диалоге выбора папки
А что сложного в диалоге выбора папки? На этом форуме есть масса примеров как это сделать.
0
1386 / 842 / 91
Регистрация: 08.02.2017
Сообщений: 3,585
Записей в блоге: 1
07.05.2023, 11:53
Цитата Сообщение от HackerVlad Посмотреть сообщение
А что сложного в диалоге выбора папки?
Да в общем-то наверное ни чего, так только немножк )
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 12:29
Цитата Сообщение от testuser2 Посмотреть сообщение
на диалоге выбора папки
Чтобы ты не искал, скину свой модуль, который точно работает:

Цитата Сообщение от testuser2 Посмотреть сообщение
Да в общем-то наверное ни чего, так только немножк
Я тебе лучше свой модуль дам, там диалог выбора папки по-лучше будет и даже с возможностью создания новой папки кстати

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
'This module is the standard Browse for Folder with a few changes
'to the BrowseCallbackProc function in order to locate the position
'of the buttons so our button/checkbox will line up
 
'===================================================
'Optimization - 2San    e-mail: apexsun@narod.ru
'http://apexsun.narod.ru/
'===================================================
 
Option Explicit
 
Private Const BIF_STATUSTEXT As Byte = &H4&
Private Const BIF_RETURNONLYFSDIRS As Byte = 1
Private Const BIF_DONTGOBELOWDOMAIN As Byte = 2
Private Const MAX_PATH As Integer = 260
Private Const WM_USER As Integer = &H400
Private Const BFFM_INITIALIZED As Byte = 1
Private Const BFFM_SELCHANGED As Byte = 2
Private Const BFFM_SETSTATUSTEXT = (WM_USER + 100)
Private Const BFFM_SETSELECTION = (WM_USER + 102)
Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Sub keybd_event Lib "User32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Sub SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Private Declare Function SHCreateDirectory Lib "shell32" (ByVal hwnd As Long, ByVal pszPath As Long) As Long
Const KEYEVENTF_KEYUP As Byte = &H2
Const GW_NEXT As Byte = 2
Const GW_CHILD As Byte = 5
Public Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
Private Type BrowseInfo
  hwndOwner      As Long
  pIDLRoot       As Long
  pszDisplayName As Long
  lpszTitle      As Long
  ulFlags        As Long
  lpfnCallback   As Long
  lParam         As Long
  iImage         As Long
End Type
Private m_CurDir As String
'Public variables to broadcast info to other mods
Dim BFhwnd As Long 'handle of the dialog
Dim R As RECT, Bt As RECT
Dim Newboy As Boolean 'We made a new folder and are relaunching the dialog
Dim Cc As String
Dim SNB As Boolean
 
Private Declare Function CreateWindowExA Lib "user32" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function CallWindowProcA Lib "user32" (ByVal lpPrevWndFunc As Long, ByVal lngHandle As Long, ByVal lngMsg As Long, ByVal lngFirstParam As Long, ByVal lngLastParam As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" (ByVal lngHandle As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private lngOldProc As Long
 
Public Function BrowseForFolder(ByRef StartDir As String, ByRef owner As Long, ByRef Title As String, ByRef ShowNewFoldButton As Boolean) As String
'Standard call for the dialog
  Dim lpIDList As Long
  Dim szTitle As String
  Dim sBuffer As String
  Dim tBrowseInfo As BrowseInfo
  Dim MakeDir As String
  
  SNB = ShowNewFoldButton
  m_CurDir = StartDir & vbNullChar
againplease:
  szTitle = Title
  With tBrowseInfo
    .hwndOwner = owner
    .lpszTitle = lstrcat(szTitle, "")
    .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN + BIF_STATUSTEXT
    .lpfnCallback = GetAddressofFunction(AddressOf BrowseCallbackProc)
  End With
  lpIDList = SHBrowseForFolder(tBrowseInfo)
  If lpIDList Then
    sBuffer = Space(MAX_PATH)
    SHGetPathFromIDList lpIDList, sBuffer
    sBuffer = Left$(sBuffer, InStr(sBuffer, vbNullChar) - 1)
  End If
    If Newboy = True Then
    'A new folder needs to be created
        Err = 0
        On Error GoTo againplease
        m_CurDir = m_CurDir + IIf(Right$(m_CurDir, 1) = "\", "", "\") + Cc & vbNullChar
        Newboy = False
        lngOldProc = 0
        
        If Cc <> "" Then
            If IsDir(SuperTrim(m_CurDir)) = False Then
                MakeDir = SuperTrim(m_CurDir)
                
                If SHCreateDirectory(0, StrPtr(MakeDir)) <> 0 Then
                    MsgBox "Ошибка создания папки!", vbExclamation
                End If
            Else
                MsgBox "Папка уже существует!", vbExclamation
            End If
        End If
        
        GoTo againplease
    End If
  If lpIDList Then
    BrowseForFolder = sBuffer
  Else
    BrowseForFolder = ""
  End If
  lngOldProc = 0
End Function
Private Function BrowseCallbackProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal lp As Long, ByVal pData As Long) As Long
Dim lpIDList As Long
Dim Ret As Long
Dim hwnda As Long, ClWind As String * 7
Dim sBuffer As String
 
On Error Resume Next
BFhwnd = hwnd
Select Case uMsg
  Case BFFM_INITIALIZED
    'If we are relaunching the dialog we want to use the existing
    'RECT to position it otherwise get new values
    If Not Newboy Then Call GetWindowRect(hwnd, R)
    With R
    Call MoveWindow(hwnd, .Left, .Top, .Right - .Left, .Bottom - .Top, True)
    End With
    Call SendMessage(hwnd, BFFM_SETSELECTION, 1, m_CurDir)
        'Lets go through all the dialogs' children till we find a Button
        hwnda = GetWindow(hwnd, GW_CHILD)
        Do While hwnda <> 0
            GetClassName hwnda, ClWind, 7
            If Left$(ClWind, 6) = "Button" Then
                Call GetWindowRect(hwnda, Bt)
                Exit Do
            End If
            hwnda = GetWindow(hwnda, GW_NEXT)
        Loop
        If lngOldProc = 0 And SNB Then
            Dim lngHandle As Long
            With Bt
            lngHandle = CreateWindowExA(0, "button", "Новая папка", &H40000000, 10, .Top - R.Top - (.Bottom - .Top) + 1, 95, .Bottom - .Top, hwnd, 0, App.hInstance, ByVal 0)
            End With
            ShowWindow lngHandle, 1
            SetProc lngHandle
        End If
  Case BFFM_SELCHANGED
    'Make the status text show the selected folder
    sBuffer = Space(MAX_PATH)
    Ret = SHGetPathFromIDList(lp, sBuffer)
    If Ret = 1 Then
      Call SendMessage(hwnd, BFFM_SETSTATUSTEXT, 0, sBuffer)
      Ret = InStr(sBuffer, vbNullChar) - 1
      m_CurDir = Left$(sBuffer, Ret)
    End If
End Select
BrowseCallbackProc = 0
End Function
Private Function GetAddressofFunction(ByRef add As Long) As Long
  GetAddressofFunction = add
End Function
Public Sub SetProc(ByVal lngHandle As Long)
    lngOldProc = SetWindowLongA(lngHandle, -4, AddressOf WinProc)
End Sub
Private Function WinProc(ByVal lngHandle As Long, ByVal lngMsg As Long, ByVal lngFirstParam As Long, ByVal lngLastParam As Long) As Long
    Static MD As Byte
    Select Case lngMsg
    Case &H201
        MD = 1
    Case &H202
        If MD = 1 Then GoNew
        MD = 0
    Case &H200
        MD = 0
    End Select
    WinProc = CallWindowProcA(lngOldProc, lngHandle, lngMsg, lngFirstParam, lngLastParam)
End Function
 
Private Sub GoNew()
    If InStr(1, m_CurDir, vbNullChar) > 0 Then m_CurDir = Left$(m_CurDir, InStr(1, m_CurDir, vbNullChar) - 1)
    
    Cc = InputBox("Введите имя новой папки:" & vbCrLf & m_CurDir & IIf(Right$(m_CurDir, 1) = "\", "", "\"), "Создание папки")
    If Cc = "" Then Exit Sub
    
    'establish the current location of the dialog so we can
    'launch the new dialog in the same location
    'Where's the window ?
    Call GetWindowRect(BFhwnd, R)
    'Simulate the 'OK' button being pressed in order to
    'close the current dialog retrieving selected path,
    'so we can make a new folder and then relaunch the dialog
    'with the new folder as the selected initial directory
    keybd_event vbKeyEscape, 0, 0, 0
    keybd_event vbKeyEscape, 0, KEYEVENTF_KEYUP, 0
    Newboy = True
End Sub
 
' Удаляет все Chr(0) в строке
Public Function SuperTrim(StringValue As String) As String
    SuperTrim = Replace(StringValue, vbNullChar, vbNullString)
End Function
 
' Проверка существования каталога
Public Function IsDir(FileName As String) As Boolean
    On Error Resume Next
    Dim DirAttr As Long
    
    If FileName <> vbNullString Then
        If Right(FileName, 1) = "\" Then
            FileName = Mid(FileName, 1, Len(FileName) - 1) ' Убрать на конце косую черту, если есть
        End If
        
        If Dir(FileName, vbDirectory + 7) <> vbNullString Then
            DirAttr = GetAttr(FileName)
            
            If (DirAttr And vbDirectory) <> 0 Then ' Если бит vbDirectory установлен, тогда...
                IsDir = True
            End If
        Else
            IsDir = False
        End If
    End If
    
    Err.Clear
End Function
Вложения
Тип файла: zip Выбор папки для testuser2.zip (4.5 Кб, 9 просмотров)
2
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 12:40
В форме вот так лучше написать будет:

Visual Basic
1
2
3
4
5
6
7
8
9
Option Explicit
 
Private Sub Command1_Click()
    Me.Caption = BrowseForFolder(App.Path, hwnd, "Выбор папки для testuser2", True)
End Sub
 
Private Sub Command2_Click()
    Me.Caption = BrowseForFolder(App.Path, hwnd, "Выбор папки для testuser2", False)
End Sub
Добавлено через 1 минуту
А какой код ты хотел проверить на Power Basic'е?
0
1386 / 842 / 91
Регистрация: 08.02.2017
Сообщений: 3,585
Записей в блоге: 1
07.05.2023, 12:42
HackerVlad, спасибо конечно, но зачем распугиать новичков такими длинными простынями. ) Я сам только менее года приобщился к VB и могу сказать, для новика по началу может быть даже сложновато разобраться со все интерейсом вб-редактора, допустим, что есть такие полезные клавиши как F4 (свойства объекта), Ctr+G(отладчик), locals (не знаю клавиши, всегда кнопкой включаю), что такое референсы и как их подключать и т.д.
Можно целый гайд для новичков написать.
1
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 12:49
Цитата Сообщение от testuser2 Посмотреть сообщение
спасибо конечно, но зачем распугиать новичков такими длинными простынями.
Я этот код выбора папки начал использовать, как раз когда был ещё новичком, давно его скачал, очень давно, сейчас только немножко модифицировал.

Добавлено через 1 минуту
Цитата Сообщение от testuser2 Посмотреть сообщение
такие полезные клавиши как F4 (свойства объекта), Ctr+G(отладчик)
Я кстати всю жизнь программировал и не знал, спасибо что сказал

Добавлено через 1 минуту
Я знал только про F2 поиск функций удобная вещь

Добавлено через 53 секунды
А что такое locals? Я не знаю.

Добавлено через 21 секунду
Вот я профессиональный программист и не знаю того что знают новички... Видишь как бывает...
0
1386 / 842 / 91
Регистрация: 08.02.2017
Сообщений: 3,585
Записей в блоге: 1
07.05.2023, 12:54
Цитата Сообщение от HackerVlad Посмотреть сообщение
А что такое locals? Я не знаю.
Окно со значениями и типами переменных в текущий момент
Миниатюры
Нужен исходник по созданию определенного количества папок  
1
1386 / 842 / 91
Регистрация: 08.02.2017
Сообщений: 3,585
Записей в блоге: 1
07.05.2023, 12:55
Цитата Сообщение от HackerVlad Посмотреть сообщение
Вот я профессиональный программист и не знаю того что знают новички...
Это профессиональное выгорание )
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 13:14
Цитата Сообщение от testuser2 Посмотреть сообщение
Окно со значениями и типами переменных в текущий момент
Я не знал о таком окошке... А как ты его вызываешь?

Добавлено через 1 минуту
Цитата Сообщение от testuser2 Посмотреть сообщение
Это профессиональное выгорание
Нет, я просто никогда не знал этого... Я чтобы посмотреть окно отладки всегда запускал проект (F5) только тогда это окошко видел... А ведь бывает иногда надо посмотреть без запуска... Например что я там надебюгпринтил...

Добавлено через 50 секунд
Так что видишь, ты знаешь больше чем я, не такой уж ты и новичок значит)))

Добавлено через 10 минут
Это надо писать Stop в коде получается чтобы видеть переменные в окошке этом Locals либо стоп-точку добавлять (BreakPoint) я не знал об этом раньше, честно... Спасибо что сказал, теперь я понял как вызывается это окошко Locals.

Добавлено через 3 минуты
Да я про оператор Stop только нидавно узнал и то случайно подсмотрел у кого-то в кодах...

Добавлено через 19 секунд
Век живи, век учись...
0
428 / 333 / 61
Регистрация: 29.06.2019
Сообщений: 493
07.05.2023, 13:24
Цитата Сообщение от HackerVlad Посмотреть сообщение
Да я про оператор Stop только нидавно узнал
Тогда вот ещё до кучи - кроме F5 есть ещё F9 (задать точку останова) и F8 (выполнять по шагам).
Пользуйся
1
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
07.05.2023, 13:27
Вот ещё код выбора папок.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Option Explicit
 
 
Const BIF_RETURNONLYFSDIRS = &H1&
Const BIF_EDITBOX = &H10&
Const BIF_NEWDIALOGSTYLE = &H40&
Const BIF_USENEWUI = BIF_EDITBOX Or BIF_NEWDIALOGSTYLE
Const BIF_NONEWFOLDERBUTTON = &H200&
Const BIF_SHAREABLE = &H8000&
 
Private Sub Command1_Click()
    Dim Folder As Object
    
    With CreateObject("Shell.Application")
        Set Folder = .BrowseForFolder(hWnd, "Pick a folder", BIF_RETURNONLYFSDIRS _
                                                          Or BIF_SHAREABLE _
                                                          Or BIF_USENEWUI _
                                                          Or BIF_NEWDIALOGSTYLE _
                                                          Or BIF_NONEWFOLDERBUTTON)
    End With
    
    If Folder Is Nothing Then
        MsgBox "cancel"
    Else
        Me.Caption = Folder.Self.Path
    End If
End Sub
1
1386 / 842 / 91
Регистрация: 08.02.2017
Сообщений: 3,585
Записей в блоге: 1
07.05.2023, 13:29
Цитата Сообщение от HackerVlad Посмотреть сообщение
чтобы видеть переменные в окошке этом Locals либо стоп-точку добавлять (BreakPoint)
Или/и пошаговое выполнение F8. Есть еще окно Watches - это я еще не изучил, Object browser тоже как-то не очень. Locals прикольное окно можно видет ь методы и свойстваи типы свойств у объектов, не все, но многие.
0
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 13:36
Цитата Сообщение от The trick Посмотреть сообщение
Вот ещё код выбора папок
Как раз для новичков кстати, минимум кода)))

Добавлено через 1 минуту
Цитата Сообщение от The trick Посмотреть сообщение
Вот ещё код выбора папок
Но там не понятно как задать папку по умолчанию, при открытии диалога.

Добавлено через 2 минуты
Цитата Сообщение от testuser2 Посмотреть сообщение
Есть еще окно Watches - это я еще не изучил
Я тоже не понял что это такое.
0
428 / 333 / 61
Регистрация: 29.06.2019
Сообщений: 493
07.05.2023, 13:57
Цитата Сообщение от HackerVlad Посмотреть сообщение
окно Watches
похоже на Locals, только исследуемые объекты туда добавляются ручками. (ПКМ на переменной или даже функции -> Add Watch...)
Удобно, когда Locals перегружен информацией.
+ здесь можно добавить глобальные переменные из других модулей, которые в Locals не увидишь никогда.
2
Испарился
 Аватар для HackerVlad
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.05.2023, 14:40
testuser2, поковырялся немного в MSDN и переделал немного пример The Trick'а добавив возможность создавать новые папки в окне выбора папки. Но к сожалению, в MSDN не сказано как поменять папку по умолчанию при открытии этого диалогового окна... Может это и невозможно...

Вот супер-простой код выбора папки:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim Folder As Object
    
    With CreateObject("Shell.Application")
        Set Folder = .BrowseForFolder(hwnd, "Browse folder", 36) ' Значение 36 я взял из MSDN таким образом будет появляться кнопка создания папки
    End With
    
    If Folder Is Nothing Then
        MsgBox "cancel"
    Else
        Me.Caption = Folder.Self.Path
    End If
    
    Set Folder = Nothing ' Почистить объект
Добавлено через 1 минуту
Но то что нельзя выбрать папку по умолчанию это огромный минус конечно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.05.2023, 14:40
Помогаю со студенческими работами здесь

Реализовать подсчет количества слов из определенного количества букв в строке
Как на языке си реализовать подсчет количества слов из, например, трех букв в строке?

Нужен исходник
Нужен исходник в Делфи 7, для подбора 5 значного кода в закрытую область (от 0 до 99999) в программе Вася Диагност.

Нужен исходник приложения
Разработать приложение, демонстрирующее подсчет и вывод суммы и произведения чисел, которые выбираются из списков. Добавить splash форму...

Нужен исходник компилятора
Может быть, у кого-нибудь есть самопальные исходники компилятора языка С? (Очень желательно) Ну или, на худой конец, угостит ссылкой...

Нужен исходник сапера
Мне нужен исходник сапера на Visual Basic .net. Весь Google периискал подходящего исходники не нашел. :cry: Буду благодарен тому хто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 01.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 31.01.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru