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

Компьютерный форум 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

 

Ветеран


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

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


Что значит «частичное совпадение»? Поясните и проиллюстрируйте кодом.

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



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

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


Аватара для blackeangel

Старожил


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

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


Цитата Iska:
Что значит «частичное совпадение»? Поясните и проиллюстрируйте кодом.
Код: Выделить весь код
For i = 1 To UBound(Arr1, 1)
For j = 1 To UBound(Arr2, 1)
If Len(Arr2(j, 1)) > 0 Then
If InStr(1, Arr2(j, 1), Arr1(i, 1)) > 0 Then
Arr2(j, 2) = Arr1(i, 1)
End If
End If
Next j
Next i

For i = 1 To UBound(Arr3, 1)
For j = 1 To UBound(Arr2, 1)
If Len(Arr2(j, 1)) > 0 Then
If InStr(1, Arr2(j, 1), Arr3(i, 1)) > 0 Then
Arr2(j, 3) = Arr3(i, 1)
End If
End If
Next j
Next i
rn = Arr2
Например 2 массива, в одном есть перечень обозначений, во втором такой же перечень но с различными добавками на конце. Надо наложить один массив на другой, и определить есть или нет хотя бы обозначений из массива 2 в массиве 1. То есть только instr. Словарь такое может?

ПС вы даже не сходили по ссылке и не глянули что например в массиве я потом делю на файлы и папки те строки. Словарь это тоже не может. Ну и зачем инструмент который не может того что мне нужно? Да, он быстрый, но не гибкий.

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


Ветеран


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

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


blackeangel, «проиллюстрируйте кодом» подразумевает код, который можно исполнить и увидеть результат. То есть, готовый пример. Каково содержимое Arr1, Arr2 и Arr3?

Цитата blackeangel:
ПС вы даже не сходили по ссылке и не глянули »
Я ходил и глядел. У меня нет большого желания сидеть и детально разбираться в портянке плохо структурированного кода. Смотрю на него — и будто во времена Fortran-IV вернулся. Я про то и говорю, что Вы зарылись в эти массивы, и не делаете ни шага влево, ни шага вправо, хотя есть ещё целая куча объектов, но Вы их не используете.

Цитата blackeangel:
например в массиве я потом делю на файлы и папки те строки. Словарь это тоже не может. »
Может, может .


Цитата blackeangel:
Ваш шаблон подо все подойдет? Вроде да. Или ошибаюсь? »
Прогнал по шаблону — совпали все строки.

P.S. Добавлю ещё про массивы: у Вас куча кода уходит попросту на борьбу с недостатками многомерных массивов.

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


Аватара для blackeangel

Старожил


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

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


Цитата Iska:
Может, может .
Ну ка ну ка, а то вдруг откажусь сегодня ж от массивов?
Цитата Iska:
P.S. Добавлю ещё про массивы: у Вас куча кода уходит попросту на борьбу с недостатками многомерных массивов.
Количество строк мне не мешает
Ну ка что там за борьба с коррупцией?

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

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


Отправлено: 06:54, 13-02-2017 | #24


Аватара для blackeangel

Старожил


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

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


Iska, трудно было подсказать?
Вот так работает в массив
Код: Выделить весь код
Private Sub Command1_Click()
Dim objFSO
Dim arrContent
Dim objRegExp

Dim elem
Dim i


Set objFSO = CreateObject("Scripting.FileSystemObject")

With objFSO.OpenTextFile("C:\system_statfile.txt")
    arrContent = Split(.ReadAll(), vbCrLf)
    .Close
End With
ReDim arr(UBound(arrContent), 4)
Set objRegExp = CreateObject("VBScript.RegExp")

objRegExp.Pattern = "^(.+) (\d+) (\d+) (\d+)(?:| (.+))$"
'
    For Each elem In arrContent
        If objRegExp.Test(elem) Then
         With objRegExp.Execute(elem).Item(0).Submatches
            For i = 0 To .Count - 1
                        arr(j, i) = .Item(i)
            Next
            j = j + 1
        End With
    End If
Next
End Sub

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


Отправлено: 21:36, 14-02-2017 | #25


Ветеран


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

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


blackeangel, подсказать мне не трудно. Но Вы должны отчётливо понимать две вещи:
  1. Размещать, а затем удалять свои сообщения, имеющие существенное отношение к теме, не есть красиво и правильно.
  2. Iska не сидит в ожидании вопроса на конференции днями и ночами для немедленного обслуживания клиентов пользователей, он обычный человек со своими потребностями и обязанностями.

Отправлено: 15:34, 15-02-2017 | #26


Аватара для blackeangel

Старожил


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

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


Цитата Iska:
blackeangel, подсказать мне не трудно.
В чем же тогда было дело? Зачем надо было настаивать на том что не нужно?
В прочем, этот форум не для выяснения отношений.

А теперь о погоде.
Как теперь наступила пора подобрать другой шаблон разбивающий на 2 столбца например, такое
Код: Выделить весь код
/system/children mad u:object_r:childrens mad
Где разделитель на столбцы может быть одним, двумя, тремя ... n пробелами. Вторая часть всегда начинается с
Код: Выделить весь код
u:object_r:
Что надо менять уже в имеющемся шаблоне?

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


Ветеран


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

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


Цитата blackeangel:
В чем же тогда было дело? »
Я же написал — в чём. В предыдущем собщении.


Цитата blackeangel:
Что надо менять уже в имеющемся шаблоне? »
Как-то так (не проверялось):
Код: Выделить весь код
^(.+) +(u:object_r:.*)$
Ну, и подгрупп будет, соответственно, две.

Если не сработает, попробуйте заэкранировать часть шаблона так: «u\:object_r\:». Не помню, надо ли экранировать двоеточие, або нет.
Это сообщение посчитали полезным следующие участники:

Отправлено: 01:28, 19-02-2017 | #28


Аватара для blackeangel

Старожил


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

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


Iska, все хорошо, только он оставляет пробелы в конце 1го столбца, а этого не надо бы....
в переменных типа такого проскакивает
Код: Выделить весь код
"/system/bin/mcd          "
а хотелось бы чтобы разбивал правильно
Код: Выделить весь код
"/system/bin/mcd"

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


Отправлено: 22:16, 19-02-2017 | #29


Ветеран


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

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


Цитата blackeangel:
Iska, все хорошо, только он оставляет пробелы в конце 1го столбца, а этого не надо бы.... »
Вот что значит — не проверять. Попробуйте так (и опять не проверялось ):
Код: Выделить весь код
^(.+?) +(u:object_r:.*)$
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:27, 19-02-2017 | #30



Компьютерный форум 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




 
Переход