Вверх ↑
Этот топик читают: Гость
Ответов: 817
Рейтинг: 52
#1: 2009-11-03 12:06:08 ЛС | профиль | цитата
Приятного времени суток господа!

Хочу перебирать массив, но не весь сразу, а работать с каждой записью по отдельности
Допустим:
Сейчас у меня создается список строк, каждая строка это имя файла.
Я читаю из масива первое имя, работаю с этим файликом в пакетном режиме.
После окончания работы надо из масива прочитать вторую строку (имя файла) и поработать с ним
и т.д.
Сейчас у меня читается только последняя строка, т.е. массив перебирается в миг,
хотя вроде по логике схема построена правильно.
Вот мой примерчик
code_15518.txt
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2009-11-03 12:26:41 ЛС | профиль | цитата
code_15518.txt писал(а):
error

карма: 10
0
Ответов: 817
Рейтинг: 52
#3: 2009-11-03 13:12:15 ЛС | профиль | цитата
code_15519.txt
карма: 1

0
файлы: 2code_15518.txt [4.4KB] [230], code_15519.txt [4.5KB] [178]
Разработчик
Ответов: 4698
Рейтинг: 426
#4: 2009-11-03 13:14:55 ЛС | профиль | цитата
объявился code 15518.txt в вашем сообщении вместе с ...19.txt

карма: 10
0
Ответов: 817
Рейтинг: 52
#5: 2009-11-03 13:18:11 ЛС | профиль | цитата
Assasin писал(а):
объявился code 15518.txt в вашем сообщении вместе с ...19.txt

Я аж сам испугался. САЙТА-ШАЙТАН
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#6: 2009-11-03 13:21:09 ЛС | профиль | цитата
А вот так попробуй
code_15520.txt
карма: 10
0
файлы: 1code_15520.txt [5.1KB] [201]
Ответов: 817
Рейтинг: 52
#7: 2009-11-03 14:03:41 ЛС | профиль | цитата
Assasin,
не, не работает

карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#8: 2009-11-03 14:18:42 ЛС | профиль | цитата
А что именно, так же читается только последняя строка
карма: 10
0
Ответов: 817
Рейтинг: 52
#9: 2009-11-03 14:23:38 ЛС | профиль | цитата
Читается все что указал, только зацикливается и выходной файлик растет и растет
Ща смотрю где это зацикливание может происходить
------------ Дoбавленo в 16.27:
Сделал так

Add(MainForm,2953706,21,105)
{
}
Add(DatePicker,6563230,189,168)
{
Left=70
Top=80
Width=95
Height=21
Point(DateTime)
link(OnChange,542901:doWork1,[(229,174)(229,230)])
}
Add(DatePicker,5621212,245,161)
{
Left=190
Top=80
Width=95
Height=21
Point(DateTime)
link(OnChange,542901:doWork2,[(289,167)(289,265)(229,265)(229,237)])
}
Add(Edit,10959290,231,322)
{
Left=60
Top=105
Width=225
Text="192.168.0.15"
}
Add(Button,13891554,175,238)
{
Left=5
Top=105
Caption="Искать"
link(onClick,542901:doWork3,[])
}
Add(WinExec,15078429,294,434)
{
FileName="cmd.exe"
RunEvent=1
Point(doConsoleExec)
Point(doConsoleInput)
Point(onConsoleError)
Point(onConsoleTerminate)
Point(onConsoleResult)
}
Add(FormatStr,9182579,231,455)
{
DataCount=4
Mask="findstr.exe /C:"%1" C:log\%2 >>%3ytemp.log%4"
link(onFString,15078429:doConsoleInput,[])
link(Str1,10959290:Text,[])
link(Str2,542901:Var1,[])
link(Str3,4789955:CurrentDir,[])
link(Str4,14070471:Value,[])
}
Add(Hub,6757678,189,448)
{
OutCount=3
link(onEvent1,15078429:doConsoleExec,[])
link(onEvent2,9182579:doString,[])
link(onEvent3,3994790:doTimer,[(217,468)(217,510)])
}
Add(Memory,14070471,252,392)
{
Default=String(
exit
)
}
Add(Timer,3994790,231,504)
{
Interval=500
Enable=1
link(onTimer,13804454:doData,[])
}
Add(DoData,13804454,273,504)
{
Data=String(findstr.exe)
link(onEventData,10585460:doFindName,[])
}
Add(EnumProcess,10585460,315,483)
{
DebugPrivilege=0
Point(doFindName)
Point(onNotFind)
link(onNotFind,7551092:doEvent1,[])
}
Add(Hub,7551092,357,490)
{
link(onEvent1,3994790:doStop,[(382,496)(382,544)(219,544)(219,517)])
link(onEvent2,11960336:doTimer,[])
}
Add(Dir,4789955,245,357)
{
}
Add(MultiElement,542901,238,224)
{
link(onEvent1,6757678:doEvent1,[(289,230)(289,299)(177,299)(177,454)])
link(Data1,6563230:DateTime,[(244,212)(195,212)])
link(Data2,5621212:DateTime,[])
}
BEGIN_SDK
Add(EditMulti,5287452,14,21)
{
EventCount=1
WorkCount=4
DataCount=2
VarCount=1
Width=727
Height=487
link(doWork1,14723017:In,[])
link(doWork2,8867633:In,[])
link(doWork3,11503392:In,[])
link(doWork4,14941942:doWork1,[(140,226)])
link(Var1,11913990:Value,[(20,451)(685,451)])
}
Add(StrPart,8103712,252,147)
{
Char="."
Point(Left)
link(Str,3932649:Var,[])
}
Add(StrPart,7089612,315,147)
{
Char="."
Point(Left)
link(Str,13877736:Var,[])
}
Add(For,12478370,252,203)
{
link(onEvent,6989958:doConvert,[])
link(Start,8103712:Left,[])
link(End,7089612:Left,[(265,191)(321,191)])
}
Add(DateConvertor,6989958,301,203)
{
Mode=9
Format="dd.MM.yyyy"
link(onResult,13678478:doAdd,[])
}
Add(StrList,13678478,420,203)
{
}
Add(Hub,11996321,168,147)
{
OutCount=3
link(onEvent1,8103712:doSplit,[])
link(onEvent2,14916681:doEvent1,[(374,160)(374,216)])
link(onEvent3,16271178:doEvent1,[(203,167)(203,209)])
}
Add(Hub,14916681,392,210)
{
InCount=2
OutCount=1
link(onEvent1,13678478:doClear,[])
}
Add(Hub,4360105,168,175)
{
OutCount=3
link(onEvent1,7089612:doSplit,[(298,181)(298,153)])
link(onEvent2,14916681:doEvent2,[(368,188)(368,223)])
link(onEvent3,16271178:doEvent2,[(198,195)(198,216)])
}
Add(LineBreak,7452557,14,77)
{
Caption="Начало"
Type=1
link(Data,5287452:Data1,[])
Primary=[3932649,238,42]
}
Add(LineBreak,13332294,21,63)
{
Caption="Конец"
Type=1
link(Data,5287452:Data2,[])
Primary=[13877736,294,56]
}
Add(LineBreak,3642487,126,147)
{
Caption="1"
link(Out,11996321:doEvent1,[])
Primary=[14723017,-98,-126]
}
Add(LineBreak,13789008,126,175)
{
Caption="2"
link(Out,4360105:doEvent1,[])
Primary=[8867633,-56,-147]
}
Add(Hub,16271178,224,203)
{
InCount=2
OutCount=1
link(onEvent1,12478370:doFor,[])
}
Add(LineBreak,4493828,252,329)
{
Caption="3"
link(Out,12164087:doEvent1,[])
Primary=[11503392,-140,-294]
}
Add(Memory,11913990,679,336)
{
link(onData,5287452:onEvent1,[(719,342)(719,27)])
}
Add(ArrayRW,9534850,434,336)
{
link(onRead,11913990:doValue,[])
link(Array,13678478:Array,[])
}
Add(Counter,16088695,364,336)
{
Min=-1
Default=-1
link(onNext,15419433:doCompare,[(408,342)(408,366)(352,366)(352,391)])
}
Add(Hub,12164087,294,329)
{
link(onEvent1,16088695:doReset,[(347,335)(347,356)])
link(onEvent2,14941942:doWork2,[])
}
Add(If_else,15419433,364,385)
{
Type=1
link(onTrue,9534850:doRead,[(418,391)(418,342)])
link(Op1,16088695:Count,[])
link(Op2,13678478:Count,[(377,320)(433,320)])
}
Add(HubEx,14941942,322,336)
{
link(onEvent,16088695:doNext,[])
}
END_SDK
Add(Timer,15094967,112,161)
{
Interval=2
AutoStop=1
link(onTimer,3433503:doEvent1,[])
}
Add(Hub,3433503,154,161)
{
link(onEvent1,5621212:doSetDate,[])
link(onEvent2,6563230:doSetDate,[])
}
Add(Timer,11960336,392,497)
{
Interval=3000
Enable=1
AutoStop=1
Point(onStop)
link(onStop,542901:doWork4,[(435,510)(435,282)(220,282)(220,251)])
}



------------ Дoбавленo в 16.42:
Только остается маленький вопросик.
При такой схеме все читается, но
обработался первый файлик (первая строка массива)
переходим ко второму файлику и начинаем его обрабатывать.
Выходные данные добавляюся к существующему файлику, но не с новой строки, а в конец последней строки.
т.е. после обработки первого файла имеем:
1111
2222
3333

После обработки второго файла имеем:
1111
2222
33334444
5555
6666

а надо
1111
2222
3333
4444
5555
6666

Как бы добавить перевод строки?
------------ Дoбавленo в 16.45:
Кстати, если это важно, то обработка файла происходит в пакетном режиме
и выходной файлик получается в пакетном режиме.
Это все видно из схемы
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#10: 2009-11-03 19:02:48 ЛС | профиль | цитата
А если так
code_15523.txt
карма: 10
0
файлы: 1code_15523.txt [5.9KB] [200]
Ответов: 4641
Рейтинг: 334
#11: 2009-11-03 19:17:21 ЛС | профиль | цитата
что то схему не понял....
у тебя что за файлики? Батники какие нибудь?
И что значит
-= DriveR =- писал(а):
работаю с этим файликом в пакетном режиме

в смысле он отрабатывает и дальше следующий файл.??
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 817
Рейтинг: 52
#12: 2009-11-03 19:34:08 ЛС | профиль | цитата
Ravilr писал(а):
что то схему не понял....
у тебя что за файлики? Батники какие нибудь?
И что значит-= DriveR =- писал(а)работаю с этим файликом в пакетном режиме
в смысле он отрабатывает и дальше следующий файл.??

Не, файлики это обычные текстовые файлы с набором данных, которые мне надо выборочно обработать
Обработать можно их батником, но этого не достаточно, хотя весьма эффективно,
поэтому этото эффективный кусочек я сделал на HiAsme
Пакетный режим это именно то, что ты сказал.
Подгружаем один файлик - обрабатываем
подгружаем второй - обрабатываем
и т.д.
карма: 1

0
Ответов: 4641
Рейтинг: 334
#13: 2009-11-03 19:43:05 ЛС | профиль | цитата
-= DriveR =- писал(а):
эффективный кусочек

а можно вопрос на засыпку...чем этот findstr эффективней средств хиасма....?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 4698
Рейтинг: 426
#14: 2009-11-03 19:56:39 ЛС | профиль | цитата
-= DriveR =-, работает или нет
карма: 10
0
Ответов: 817
Рейтинг: 52
#15: 2009-11-03 20:00:00 ЛС | профиль | цитата
Ravilr писал(а):
а можно вопрос на засыпку...чем этот findstr эффективней средств хиасма....?

Работает в десятки раз быстрее
Assasin писал(а):
-= DriveR =-, работает или нет

Не проверял, схема на работе, поэтому теперь только до четверга
карма: 1

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