Вверх ↑
Этот топик читают: Гость
Ответов: 1397
Рейтинг: 50
#1: 2008-12-30 09:13:57 ЛС | профиль | цитата
Нажимая последовательно кнопку осуществляем выдачу элементов из ListBox. Почему при следующем круге необходимо два раза давить на кнопку? В чем ошибка?
Add(MainForm,2953706,21,105){
Width=395
Height=275
}
Add(ListBox,4313538,260,144)
{
Left=255
Top=62
Width=35
Height=100
FileName="pochta.txt"
Strings=#1:r|1:f|1:v|1:b|1:m|
}
Add(ArrayRW,863698,316,224)
{
link(onRead,4756942:doText,[])
link(Array,4313538:Array,[(322,206)(280,206)])
}
Add(BitBtn,5018303,120,224)
{
Left=10
Top=66
Width=105
Height=25
Font=[Arial,8,0,0,1]
TabOrder=5
FrameColor=-16777188
Caption="Жми!"
link(onClick,13089735:doEvent1,[])
}
Add(Hub,13089735,175,224)
{
InCount=3
OutCount=5
link(onEvent1,1052212:doNext,[])
link(onEvent2,2839218:doCompare,[(223,237)(223,318)])
}
Add(Counter,1052212,233,224)
{
Min=-1
Default=-1
Point(Max)
link(onNext,863698:doRead,[])
link(Max,4704314:Var1,[(239,212)])
}
Add(If_else,2839218,238,312)
{
link(onTrue,1052212:doReset,[(282,318)(282,281)(221,281)(221,244)])
link(Op1,1052212:Count,[(244,284)(239,284)])
link(Op2,4704314:Var2,[(251,267)(251,267)])
}
Add(GetDataEx,4704314,238,203)
{
Angle=1
link(Data,4313538:Count,[(273,212)])
}
Add(Edit,4756942,364,224)
{
Left=125
Top=65
Width=120
Height=25
}
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#2: 2008-12-30 10:11:55 ЛС | профиль | цитата
Просто Count это не Index.Кончный Index= Count -1

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
2
Голосовали:flud, Валерий
Ответов: 876
Рейтинг: 101
#3: 2008-12-30 10:17:57 ЛС | профиль | цитата

Add(ListBox,4313538,448,196)
{
Left=255
Top=62
Width=35
Height=100
FileName="pochta.txt"
Strings=#1:r|1:f|1:v|1:b|1:m|
}
Add(ArrayRW,863698,462,364)
{
link(onRead,4756942:doText,[])
link(Array,4313538:Array,[])
}
Add(BitBtn,5018303,196,364)
{
Left=10
Top=66
Width=105
Height=25
Font=[Arial,8,0,0,1]
TabOrder=5
FrameColor=-16777188
link(onClick,13089735:doEvent1,[])
}
Add(Hub,13089735,252,364)
{
OutCount=4
link(onEvent1,1052212:doNext,[])
link(onEvent2,2839218:doCompare,[(314,377)(314,517)])
}
Add(Counter,1052212,385,364)
{
Min=-1
Point(Max)
link(onNext,863698:doRead,[])
link(Max,5889732:Var1,[(391,338)])
}
Add(If_else,2839218,385,511)
{
link(onTrue,1052212:doReset,[(429,517)(429,419)(373,419)(373,384)])
link(Op1,1052212:Count,[])
link(Op2,5889732:Var2,[])
}
Add(Edit,4756942,511,364)
{
Left=125
Top=65
Width=120
Height=25
}
Add(MainForm,2953706,140,266)
{
Width=395
Height=275
link(onCreate,16318049:doOperation,[])
}
Add(GetDataEx,5889732,385,329)
{
Angle=1
link(Data,16318049:Result,[(419,338)])
}
Add(Math,16318049,413,280)
{
OpType=1
Op2=1
ResultType=0
link(Op1,4313538:Count,[(419,260)(461,260)])
}

p.s
Когда научите HiAsm с русским языком нормально работать.
карма: 1

2
Голосовали:Валерий, EcsTasY
Ответов: 1397
Рейтинг: 50
#4: 2008-12-30 12:24:14 ЛС | профиль | цитата
Спасибо всем. В принципе так и подозревал, но думал есть более оригинальный способ.
------------ Дoбавленo:

flud, в твоей схеме ошибочка. При первом нажатии на кнопку выдается символ f, а не r.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#5: 2008-12-30 12:27:11 ЛС | профиль | цитата
Валерий, Компонент Counter верхние точки Min и Max имеет ввиду.
Если хочешь их использовать, то нужно открыть точки doMin, doMax и только после подачи события на эти точки он "увидит верхние "
Это какраз то, чего ни ты ни flud и не подозревали , делая линк на верхнюю точку Max.

Мой пример почемуто загрузился не полностью, поэтому я его удалил.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 876
Рейтинг: 101
#6: 2008-12-30 13:37:51 ЛС | профиль | цитата
Tad писал(а):
Мой пример почемуто загрузился не полностью, поэтому я его удалил.


из за русских кракозябр в кнопке, если скопировать кнопку в хиасм, а потом сюда, у меня получаются краказябры


Add(BitBtn,5018303,120,224)
{
Left=10
Top=66
Width=105
Height=25
Font=[Arial,8,0,0,1]
TabOrder=5
FrameColor=-16777188
Caption="Жми!"
link(onClick,13089735:doEvent1,[])
}

Tad выкладывай свой пример

а я исправил свой


Add(ListBox,4313538,399,84)
{
Left=255
Top=62
Width=35
Height=100
FileName="pochta.txt"
Strings=#1:r|1:f|1:v|1:b|1:m|
}
Add(ArrayRW,863698,413,252)
{
link(onRead,4756942:doText,[])
link(Array,4313538:Array,[])
}
Add(BitBtn,13171637,147,252)
{
Left=10
Top=66
Width=105
Height=25
Font=[Arial,8,0,0,1]
TabOrder=5
FrameColor=-16777188
link(onClick,13089735:doEvent1,[])
}
Add(Hub,13089735,203,252)
{
OutCount=4
link(onEvent1,1052212:doNext,[])
link(onEvent2,2839218:doCompare,[(265,265)(265,310)(265,405)])
}
Add(Counter,1052212,336,252)
{
Min=-1
Default=-1
Point(Max)
Point(doMax)
link(onNext,7177718:doEvent,[])
link(Max,5889732:Var1,[(342,226)])
}
Add(If_else,2839218,336,399)
{
link(onTrue,1052212:doReset,[(380,405)(380,307)(324,307)(324,272)])
link(Op1,1052212:Count,[])
link(Op2,5889732:Var2,[])
}
Add(Edit,4756942,462,252)
{
Left=125
Top=65
Width=120
Height=25
}
Add(MainForm,13737221,91,154)
{
Width=395
Height=275
link(onCreate,16318049:doOperation,[])
}
Add(GetDataEx,5889732,336,217)
{
Angle=1
link(Data,16318049:Result,[(370,226)])
}
Add(Math,16318049,364,168)
{
OpType=1
Op2=1
ResultType=0
link(onResult,1052212:doMax,[(408,174)(408,226)(324,226)(324,279)])
link(Op1,4313538:Count,[(370,148)(412,148)])
}
Add(Debug,7177718,385,252)
{
link(onEvent,863698:doRead,[])
}
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#7: 2008-12-30 16:13:05 ЛС | профиль | цитата
На

Add(ListBox,4313538,511,168)
{
Left=255
Top=62
Width=35
Height=100
FileName="pochta.txt"
Strings=#1:r|1:f|1:v|1:b|1:m|
}
Add(ArrayRW,863698,525,245)
{
link(onRead,4756942:doText,[])
link(Array,4313538:Array,[])
}
Add(BitBtn,13171637,392,245)
{
Left=10
Top=66
Width=105
Height=25
Font=[Arial,8,0,0,1]
TabOrder=5
FrameColor=-16777188
Caption="Жми"
link(onClick,1052212:doNext,[])
}
Add(Counter,1052212,448,245)
{
Max=0
Default=-1
Point(Max)
Point(doMax)
link(onNext,863698:doRead,[])
}
Add(Edit,4756942,574,245)
{
Left=125
Top=65
Width=120
Height=25
}
Add(MainForm,13737221,287,252)
{
Width=395
Height=275
link(onCreate,16318049:doOperation,[])
}
Add(Math,16318049,343,266)
{
OpType=1
Op2=1
ResultType=0
link(onResult,1052212:doMax,[])
link(Op1,4313538:Count,[(349,218)(524,218)])
}


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
2
Голосовали:Валерий, flud
Ответов: 1397
Рейтинг: 50
#8: 2008-12-30 16:19:47 ЛС | профиль | цитата
Минималист
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#9: 2008-12-30 16:20:39 ЛС | профиль | цитата
Лишнее оно и в Африке лишнее
If_else есть внутри Counter - зачем проверять снаружи ?
Остальное (выброшенное наружное) тоже внутри в компонентах.
Учи матчасть
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:flud
Ответов: 1397
Рейтинг: 50
#10: 2008-12-30 16:27:00 ЛС | профиль | цитата
Учу.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#11: 2008-12-30 16:30:19 ЛС | профиль | цитата
Успехов

Add(ListBox,4313538,553,154)
{
Left=255
Top=62
Width=35
Height=100
FileName="pochta.txt"
Strings=#1:r|1:f|1:v|1:b|1:m|
Point(String)
Point(doSelect)
}
Add(BitBtn,13171637,392,245)
{
Left=10
Top=66
Width=105
Height=25
Font=[Arial,8,0,0,1]
TabOrder=5
FrameColor=-16777188
Caption="Жми"
link(onClick,1052212:doNext,[])
}
Add(Counter,1052212,448,245)
{
Max=0
Default=-1
Point(doMax)
link(onNext,574708:doEvent1,[])
}
Add(Edit,4756942,574,252)
{
Left=125
Top=65
Width=120
Height=25
link(Str,4313538:String,[])
}
Add(MainForm,13737221,287,252)
{
Width=395
Height=275
link(onCreate,16318049:doOperation,[])
}
Add(Math,16318049,343,266)
{
OpType=1
Op2=1
ResultType=0
link(onResult,1052212:doMax,[])
link(Op1,4313538:Count,[(349,218)(566,218)])
}
Add(Hub,574708,497,245)
{
link(onEvent1,4313538:doSelect,[(541,251)(541,202)])
link(onEvent2,4756942:doText,[])
}

А можно ещё и так
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:Валерий
Ответов: 1397
Рейтинг: 50
#12: 2008-12-30 16:41:51 ЛС | профиль | цитата
Ну это то я знаю!
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 70
Рейтинг: 1
#13: 2011-12-27 09:35:44 ЛС | профиль | цитата
Добрый день всем. Тоже беда с циклом. Пытаюсь победить - не получается. Суть в чем. Утилита перебирает картинки из папки Walls (нужно создать) - для этого нажимаем на значке програмы в трее. Как только перебор картинок завершается - програма вываливается с ошибкой на ХР
Make(delphi)
ver(4.04 build 184)
Add(MainForm,2953706,42,154)
{
Width=412
Height=241
Caption="WallChange"
TaskBar=1
Position=1
Point(doSetFocus)
link(onActivate,3509777:doSearch,[])
link(onCreate,1053237:doEvent1,[])
}
Add(FileSearch,3509777,161,154)
{
Dir="walls"
link(onSearch,3752004:doAdd,[])
}
Add(Desktop,5786228,707,280)
{
}
Add(StrList,3752004,217,154)
{
Point(doGetString)
Point(String)
link(onChange,7131648:doOperation,[])
}
Add(Hub,12483271,574,266)
{
link(onEvent1,3752004:doGetString,[(593,272)(593,233)(205,233)(205,202)])
link(onEvent2,863698:doRead,[(612,279)(612,286)])
}
Add(TrayIcon,4863793,133,84)
{
Hint="WallChange"
FormHook=0
ShowWORemoveIcon=0
link(onClick,5083181:doEvent,[])
}
Add(IndexToChanel,7643061,392,84)
{
Data=Integer(2)
Point(Data)
link(onEvent1,7492819:doEvent2,[(440,90)(440,279)])
link(onEvent2,2953706:doClose,[(469,97)(469,59)(14,59)(14,181)])
}
Add(Hub,7492819,462,266)
{
InCount=2
OutCount=1
link(onEvent1,12586300:doNext,[])
}
Add(IndexToChanel,5083181,182,84)
{
Data=Integer(2)
link(onEvent1,7492819:doEvent1,[(274,90)(274,118)])
link(onEvent2,5495851:doPopupHere,[(258,97)(258,76)])
}
Add(PopupMenu,5495851,301,70)
{
Menu=#7:Сменить|5:Выход|
TranspIcon=1
link(onClick,7643061:doEvent,[(349,76)(349,90)])
}
Add(Counter,12586300,518,266)
{
Max=0
Default=-1
Point(doMax)
link(onNext,12483271:doEvent1,[])
}
Add(DirTools,14553879,154,308)
{
Point(doExists)
link(onOK,12586237:doCompare,[])
link(Source,13511325:Caption,[])
}
Add(Hub,1053237,84,168)
{
OutCount=4
link(onEvent1,4863793:doHide,[(116,174)(116,97)])
link(onEvent2,14553879:doExists,[(126,181)(126,335)])
link(onEvent3,2953706:doSetFocus,[(109,188)(109,211)(30,211)(30,188)])
}
Add(If_else,12586237,203,308)
{
link(onTrue,4625193:doMessage,[])
}
Add(Message,4625193,252,308)
{
Message="Не найдена папка Walls"
Caption="Ошибка"
}
Add(Label,13511325,154,259)
{
Left=180
Top=265
Caption="Walls"
}
Add(StyleXP,9823806,882,595)
{
}
Add(Math,7131648,308,154)
{
OpType=1
Op2=1
ResultType=0
link(onResult,12586300:doMax,[(429,160)(429,293)])
link(Op1,3752004:Count,[(314,142)(272,142)(272,218)(230,218)])
}
Add(ArrayRW,863698,651,280)
{
link(onRead,5786228:doFromFile,[])
link(Array,3752004:Array,[(657,243)(237,243)])
}


карма: 0

0
файлы: 1code_26338.txt [2.2KB] [99]
Ответов: 8928
Рейтинг: 823
#14: 2011-12-27 09:55:35 ЛС | профиль | цитата
MBTY, на Win7 Ваша программка отработала нормально, без ошибок
карма: 19

0
Ответов: 70
Рейтинг: 1
#15: 2011-12-27 09:58:57 ЛС | профиль | цитата
Леонид, вот на Win7 нормально работает, да, а на ХР - нет. Причем был сначала цикл с такой же ошибкой как тут в первом посте - приходилось в конце цикла жать иконку дважды. Поправил по примеру из этой темы, как видите, а проблему не решило. Думаю, что цикл виноват, а может и не он...
карма: 0

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