Add(Memo,2026983,315,378)
{
Width=388
Height=313
ScrollBars=3
}
Add(MainForm,2953706,56,322)
{
Width=423
Height=517
}
Add(FileSearch,13996461,154,322)
{
Ext="*log"
}
Add(Button,8934770,154,371)
{
Left=170
Top=350
Data=String(C:\Users\User\Desktop\Trends\cache\000003.log)
link(onClick,7278360:doEvent1,[])
}
Add(Browse,12434277,98,322)
{
NewStyle=0
link(onBrowse,13996461:doSearch,[])
}
Add(RE_Search,1530893,259,378)
{
link(onMatch,2026983:doAdd,[])
link(Expression,14333510:Text,[])
}
Add(Edit,14333510,266,329)
{
Left=10
Top=315
Width=380
Height=25
Font=[MS Sans Serif,10,1,0,1]
Text="[\\\.*\\\$]"
}
Add(Hub,7278360,203,371)
{
link(onEvent1,2026983:doClear,[(301,377)(301,391)])
link(onEvent2,1530893:doExec,[])
}
Этот топик читают: Гость
Ответов: 537
Рейтинг: 14
|
|||
Нужно узнать имя папки в которой находится файл. Допустим есть такой путь C:\Users\User\Desktop\Trends\cache\000003.log нужно узнать что файл 000003.log лежит в папке cache. Задача на первый взгляд простая, но я не нашел способ как получить название папки, через регулярку тоже не получается, находит почему то только последний слеш
|
|||
карма: 4 |
|
Ответов: 8921
Рейтинг: 823
|
|||
Sersey, так что-ли:
Так
|
|||
карма: 19 |
|
Ответов: 537
Рейтинг: 14
|
|||
Программа при нажатии на кнопку просто зависла намертво. Проверял на win10 64
Редактировалось 1 раз(а), последний 2023-07-29 12:08:15 |
|||
карма: 4 |
|
Ответов: 2236
Рейтинг: 676
|
|||
Sersey, а что делает схема из первого поста или это по принципу: я тут накидал пару элементов, разберитесь сами? Планируется перебирать весь диск С или все же конкретную папку?
|
|||
карма: 11 |
|
Ответов: 8921
Рейтинг: 823
|
|||
Sersey писал(а): зависла намертво |
|||
карма: 19 |
|
Ответов: 2236
Рейтинг: 676
|
|||
Леонид, поток:
|
|||
карма: 11 |
|
Ответов: 537
Рейтинг: 14
|
|||
Программа ищет определенные файлы в папках с вложениями, расширение файла известно, сначала нужно найти все файлы, а потом брать путь к файлу по одному и как то узнать в какой папке находится файл. Например если такой путь C:\Users\User\Desktop\Trends\cache\000003.log то нужно программно получить название этой папки \cache\. Должно быть что то простое или регуляркой получать или так как компонент FilePathElm это делает, только он работает только с названием файла, а нужно получить папку в которой лежит файл
Начало программы такое
Редактировалось 2 раз(а), последний 2023-07-29 14:49:24 |
|||
карма: 4 |
|
Ответов: 8921
Рейтинг: 823
|
|||
sla8a, и с Thread, и без него время поиска почти одинаково, нагрузка процессора тоже, а вот количество найденных файлов почему-то резко отличается, с Thread выдаёт ~5000 шт, а без него аж ~300000 шт , т.е. поиск продолжается на время вывода сообщения в Edit.
Чтобы избавится от этого надо перекинуть выходы у Hub, пусть сначала остановит поиск, а потом выводит имя файла. Thread эту операцию как раз и синхронизирует --- Добавлено в 2023-07-29 15:07:22 Sersey писал(а): Нужно узнать имя папки в которой находится файлНужно вдумчивее обозначать хотелку, а у вас файл в единственном числе Ну и в чём задача -- найти все файлы и выделить из полного пути имя файла с последней папкой или ещё рассортировать если в одной папке найдётся несколько файлов Редактировалось 1 раз(а), последний 2023-07-29 15:07:22 |
|||
карма: 19 |
|
Ответов: 2236
Рейтинг: 676
|
|||
Sersey, видно вы не видите моих сообщений или не читаете их, но может это хоть пройдет:
Sersey писал(а): Программа при нажатии на кнопку просто зависла намертво. Проверял на win10 64у меня тоже, а с потоком у меня на такой же система ищет. По поводу Sersey сказать сложно, он или не видит мои сообщения или не читает. То что схему с потоком надо оптимизировать даже не обсуждается. |
|||
карма: 11 |
|
Ответов: 537
Рейтинг: 14
|
|||
Последнее это то что нужно, благодарю. Просто и быстро
|
|||
карма: 4 |
|
Ответов: 249
Рейтинг: 4
|
|||
Еще вот такой вариант один компонент
|
|||
карма: 1 |
|
11