Вверх ↑
Этот топик читают: Гость
Ответов: 11
Рейтинг: 0
#1: 2010-08-27 01:31:00 ЛС | профиль | цитата
Описываю ситуацию: в компоненте "Список строк" (ListBox) имеется огромное количество файлов (путь+имя) которые добавляются через диалог открытия файлов (множественный выбор), так вот, над этими файлами (из списка) должна происходить операция (переименовывание+копирование), но у меня не получается заставить что бы обрабатывались все файлы из списка (желательно по очереди) т.к. в конечном каталоге (куда должны копироваться) появляется только последний из списка файл. Как исправить ситуацию (заставить обрабатываться все файлы по очереди)? (Если требуется проект на текущий стадии то скажите куда выложить что бы вы могли посмотреть)...
карма: 1

0
Ответов: 1891
Рейтинг: 110
#2: 2010-08-27 01:37:16 ЛС | профиль | цитата
Перебрать все элементы массива, примерно так:

code_20240.txt

карма: 0
%time%
0
файлы: 1code_20240.txt [478B] [145]
Ответов: 11
Рейтинг: 0
#3: 2010-08-27 02:26:59 ЛС | профиль | цитата
Большое спс, разобрался...
------------ Дoбавленo в 02.08:
К сожалению проблемы продолжаются, при копировании файлов появляется вопрос: заменить ли уже существующие файлы (компонент DirTools), в свойствах компонента можно выставить напротив NoConfirmation значение faste (будет предложено пользователю решение) и true (все запрашиваемые компонентом действия как вопрос о замене и т.д. будут разрешены), а можно ли выставить значение что бы на все вопросы шло faste (то есть если уже есть файл в папке с таким именем то не будет появляться вопрос о замене)???
------------ Дoбавленo в 02.26:
Что бы было понятно чего я хочу узнать вот переделанный ужатый исходник (почему то не могу прикрепить файлом):

Make(delphi)
ver(4.04 build 184)
Add(MainForm,2953706,21,105)
{
Width=393
Height=384
Position=1
}
Add(ODialog,15552959,77,63)
{
Select=1
link(onExecute,1384599:doAdd,[])
}
Add(Button,8632286,28,63)
{
Left=5
Top=5
Width=70
Caption="Добавить"
link(onClick,15552959:doExecute,[])
}
Add(FilePartElm,8430676,189,161)
{
Point(Part)
link(onPart,8576255:doModify,[(450,167)(450,314)])
}
Add(StrCase,8576255,679,308)
{
Type=1
link(onModify,15650940:doString,[])
}
Add(DirTools,15245143,875,385)
{
link(Source,11119161:Item,[(881,371)(146,371)])
link(Dest,15423582:Item,[(888,373)(928,373)(928,433)(832,433)])
}
Add(ListBox,1384599,126,63)
{
Left=80
Top=5
Width=300
Height=155
}
Add(Button,16412347,84,161)
{
Left=5
Top=25
Width=70
Caption="Старт"
link(onClick,11119161:doEnum,[])
}
Add(ArrayEnum,11119161,140,161)
{
link(onItem,8430676:doPart,[])
link(Array,1384599:Array,[])
}
Add(StyleXP,3612110,21,154)
{
}
Add(ListBox,10333713,812,308)
{
Left=80
Top=190
Width=300
Height=155
link(onChange,15423582:doEnum,[(856,314)(856,361)(796,361)(796,391)])
}
Add(FormatStr,15650940,756,308)
{
Mask="%1%2"
Point(FString)
link(onFString,10333713:doAdd,[])
link(Str1,2145970:Text,[])
}
Add(Edit,2145970,756,231)
{
Left=80
Top=165
Width=300
Text="C:files_rename"
}
Add(ArrayEnum,15423582,826,385)
{
link(onItem,15245143:doCopy,[])
link(Array,10333713:Array,[])
}
карма: 1

0
Ответов: 356
Рейтинг: 31
#4: 2010-08-27 02:33:29 ЛС | профиль | цитата
A888R писал(а):
куда выложить

Обмен файлами
A888R писал(а):
true (все запрашиваемые компонентом действия как вопрос о замене и т.д. будут разрешены)
A888R писал(а):
можно ли выставить значение что бы на все вопросы шло faste (то есть если уже есть файл в папке с таким именем то не будет появляться вопрос о замене)???

... и ничего не понял
карма: 0

0
Ответов: 11
Рейтинг: 0
#5: 2010-08-27 02:44:44 ЛС | профиль | цитата
olDjeka писал(а):
можно ли выставить значение что бы на все вопросы шло faste (то есть если уже есть файл в папке с таким именем то не будет появляться вопрос о замене)???

... и ничего не понял


По умолчанию в компоненте DirTools, в свойствах "NoConfirmation", можно выставить только 2 варианта:
- пользователь сам будет решать что делать с возникающими вопросами
- на всё автоматически выдавать согласие (на замену и прочее)

Можно ли создать 3-й вариант (?) :
- на всё автоматически выдавать несогласие (отмену)...
карма: 1

0
Ответов: 356
Рейтинг: 31
#6: 2010-08-27 02:51:32 ЛС | профиль | цитата
Попробуй поставить NoErrorUI в True.
карма: 0

0
Ответов: 11
Рейтинг: 0
#7: 2010-08-27 03:11:23 ЛС | профиль | цитата
Это не то... жду других вариантов...
------------ Дoбавленo в 03.11:
Тему можно закрывать, я нашёл решение (перестроил половину схемы, усложнил операции но больше никаких вопросов не вылетает)...
карма: 1

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)