Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Пробел в имени файла на vb6.0

Ответить
Настройки темы
Разное - [решено] Пробел в имени файла на vb6.0

Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Изменения
Автор: blackeangel
Дата: 12-02-2017
Всем привет.
Как разбить на колонки строку
Код: Выделить весь код
File name 0 0 755
По пробелу?
Что делать если имя файла содержит пробел?
Сплит разобьет на 5 столбцов, а надо на 4: file name в первом столбце, а все остальное вследующих.

Отправлено: 13:56, 01-02-2017

 

Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Iska, посмотрите что получилось в этих строках
Код: Выделить весь код
/system(/.*)?		u:object_r:system_file:s0               
/system/bin/e2fsck	--	u:object_r:fsck_exec:s0
Думаю в них так же пробелы будут. Ну не может один и тот же код, работать по разному на 3х компах.

Отправлено: 00:16, 21-02-2017 | #41



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Поменял вывод групп в одну строку, на:
Код: Выделить весь код
Debug.Print "[" & .Item(0) & "]" & vbTab & "[" & .Item(1) & "]"
дабы умещалось в окне Immediate. Результат (начало вывода):
Код: Выделить весь код
/system(/.*)?       u:object_r:system_file:s0               
[/system(/.*)?] [u:object_r:system_file:s0]

/system/bin/e2fsck  --  u:object_r:fsck_exec:s0             
[/system/bin/e2fsck]    [u:object_r:fsck_exec:s0]

/system/bin/fsck\.f2fs  --  u:object_r:fsck_exec:s0
[/system/bin/fsck\.f2fs]    [u:object_r:fsck_exec:s0]

/system/bin/fsck_msdos  --  u:object_r:fsck_exec:s0
[/system/bin/fsck_msdos]    [u:object_r:fsck_exec:s0]

…
Показывайте Ваш код (можете весь проект упаковать в архив и выложить).

Отправлено: 00:50, 21-02-2017 | #42


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Iska,
Код: Выделить весь код
'file_contexts
file_contexts = CreateObject("Scripting.FileSystemObject").OpenTextFile(App.Path & "\file_contexts", 1).ReadAll
file_contexts = Replace(file_contexts, "  " & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, " " & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, vbTab & vbTab & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, vbTab & vbLf, vbCrLf)
file_contexts = Replace(file_contexts, vbLf, vbCrLf)
'file_contexts = Replace(file_contexts, vbTab, " ")
'file_contexts = Replace(file_contexts, "--", "")
'file_contexts = Replace(file_contexts, "       ", " ")
'file_contexts = Replace(file_contexts, "      ", " ")
'file_contexts = Replace(file_contexts, "     ", " ")
'file_contexts = Replace(file_contexts, "    ", " ")
'file_contexts = Replace(file_contexts, "   ", " ")
'file_contexts = Replace(file_contexts, "  ", " ")
file_contexts = Replace(file_contexts, vbCrLf & vbCrLf, vbCrLf)
'разбиваем на строки
contexts = Split(file_contexts, vbCrLf)
'бьем на столбцы
ReDim arr5(UBound(contexts), 1)
'For i = LBound(contexts) To UBound(contexts)
'    If InStr(1, contexts(i), "#") = 0 Then
'     If InStr(1, contexts(i), "/system/") > 0 Then 'Or InStr(1, contexts(i), "/vendor/") > 0 Then 'âûáèðàåì òîëüêî ïàïêó system è vendor
'          arr = Split(contexts(i))
'        For j = LBound(arr) To UBound(arr)
'            arr5(i, j) = arr(j)
'        Next
'      End If
'    End If
'Next
'через регулярки
Set objRegExp = CreateObject("VBScript.RegExp")
'objRegExp.Pattern = "^(.*) +(u:object_r:.+)$"
'objRegExp.Pattern = "^(.*?) +(u:object_r:.+) *$"
objRegExp.Pattern = "^(.+?)[\s-]+(u:object_r:.*?) *$"
    For Each elem In contexts
    If InStr(1, elem, "/system/") > 0 Then
        If objRegExp.Test(elem) Then
         With objRegExp.Execute(elem).Item(0).Submatches
            For i = 0 To .Count - 1
                        arr5(j, i) = .Item(i)
            Next
            j = j + 1
        End With
   End If
 End If
Next

Erase contexts
contexts = DeleteBlankRows(arr5, 1) 'удаляем пустые строки по 2 столбцу
Erase arr5

-------
Забудем боль, забудем страх -
И только ветер в парусах!


Последний раз редактировалось blackeangel, 21-02-2017 в 06:02.


Отправлено: 05:49, 21-02-2017 | #43


Аватара для blackeangel

Старожил


Сообщения: 329
Благодарности: 3

Профиль | Отправить PM | Цитировать


Iska, проблема решилась удалением всех строк с replace.
Спасибо.

Отправлено: 09:02, 21-02-2017 | #44


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата blackeangel:
… replace. »
Я подозревал что-то вроде этого.

Отправлено: 12:22, 21-02-2017 | #45



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Пробел в имени файла на vb6.0

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - копирование выбранного файла в определенное место и добавление к имени файла даты x800 Скриптовые языки администрирования Windows 0 19-02-2014 20:39
CMD/BAT - Использование имени файла для правки в теле файла. xkafkax Скриптовые языки администрирования Windows 8 20-07-2013 11:06
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. OSArev Скриптовые языки администрирования Windows 2 30-01-2011 11:58
Ошибка - Каракули в реестре "Синтаксическая ошибка в имени файла,имени папки или метке тома" permas Microsoft Windows 2000/XP 2 20-02-2010 19:30
Разное - [решено] Пробел в конце имени папки DuoStorm Microsoft Windows 2000/XP 1 17-04-2008 19:18




 
Переход