Вверх ↑
Этот топик читают: Гость
Ответов: 15
Рейтинг: 1
#31: 2010-01-15 15:07:28 ЛС | профиль | цитата
Вручную написал - нажал удалить - эффекта ноль.
Удалил файл, нажал вторую кнопку - создается пустой файл (это нормально, ничего страшного). Удалил файл.
Нажал первую кнопку, создался файл со строкой wow.test.ru. Нажал вторую кнопку - ноль эффекта.
Перезапустил программу - первая кнопка - файл создался со строкой, вышел, перезапустил программу - вторая кнопка - ноль эффекта.
Нажал первую кнопку, создал. Перезапустил, нажал опять первую - в файле появилось две одинаковых строки...
карма: 0

0
Ответов: 1376
Рейтинг: 197
#32: 2010-01-15 15:21:10 ЛС | профиль | цитата
Вот пробуй добавлять/удалять...
code_16510.txt
карма: 1

0
файлы: 1code_16510.txt [2.3KB] [223]
Ответов: 15
Рейтинг: 1
#33: 2010-01-15 15:27:14 ЛС | профиль | цитата
Всё работает, но баг "я случайно нажал два раза кнопку и всё полетело в задницу" остался.
wow.test.ru
wow.test.ru
wow.test.ru
wow.test.ru
wow.test.ru
wow.test.ru
wow.test.ru
wow.test.ru
wow.test.ru
карма: 0

0
файлы: 1code_16512.txt [109B] [126]
Ответов: 1376
Рейтинг: 197
#34: 2010-01-15 15:32:03 ЛС | профиль | цитата
У меня нормально добавляется и удаляется, штук 20 добавил и "30" удалил...
карма: 1

0
Ответов: 15
Рейтинг: 1
#35: 2010-01-15 15:37:08 ЛС | профиль | цитата
Нет, я не про то. Можно ли сделать, чтобы при любом количестве нажатий на кнопку в файле была только одна строка (защита от случайных лишних нажатий)? И соответственно, чтобы он удалял все строки сразу.

Вот сейчас осматривал входы/выходы на компоненте... Надежно ли, например, если поставить проверку на число строк, блокировать первую кнопку?
карма: 0

0
Ответов: 1376
Рейтинг: 197
#36: 2010-01-15 15:43:16 ЛС | профиль | цитата
Про "все строки сразу", для этого есть точка doClear у StrList, а за контролем количества строк в списке бери значение Count этого списка
карма: 1

0
Ответов: 2293
Рейтинг: 678
#37: 2010-01-15 15:44:48 ЛС | профиль | цитата
Frolov, надежно получить индекс строки по имени и если он равен -1 (такой строки нет), то добавить её.
карма: 11

0
Ответов: 1376
Рейтинг: 197
#38: 2010-01-15 15:53:14 ЛС | профиль | цитата
Вот попробую такую вариацию
code_16513.txt
карма: 1

0
файлы: 1code_16513.txt [2.9KB] [218]
Ответов: 15
Рейтинг: 1
#39: 2010-01-15 16:16:31 ЛС | профиль | цитата
Надо бы заблокировать еще первую кнопку... Сейчас попробую переделать.
------------ Дoбавленo в 16.39:
Кнопку сделал...Странно, doClear не очищает файл...

Add(StyleXP,13995732,357,42)
{
}
Add(Button,13449331,175,91)
{
Left=10
Top=15
Width=130
Height=35
Font=[MS Sans Serif,10,1,0,1]
Caption="Set realm"
Data=Integer(1)
Point(doEnabled)
link(onClick,11979874:doEvent1,[])
}
Add(Label,8613662,308,42)
{
Left=10
Top=60
Width=100
Height=17
Caption="Статус программы"
}
Add(Edit,1036026,399,189)
{
Left=120
Top=60
Width=155
Text="Ожидание"
ReadOnly=0
}
Add(Button,2180237,186,228)
{
Left=145
Top=15
Width=130
Height=35
Font=[MS Sans Serif,10,1,0,1]
Enabled=1
Caption="Delete realm"
Point(doEnabled)
link(onClick,83473:doEvent1,[(221,234)(221,244)])
}
Add(DoData,11845510,252,91)
{
Data=String(wow.test.ru)
link(onEventData,3747276:doEvent1,[])
}
Add(DoData,8496228,329,224)
{
Data=String(Удалено)
link(onEventData,10288197:doWork3,[(377,230)])
}
Add(DoData,10412112,329,175)
{
Data=String(ОК)
link(onEventData,10288197:doWork1,[(377,181)])
}
Add(Edit,15689088,532,161)
{
Left=6
Top=6
Text="Debug"
ReadOnly=0
link(onChange,5931044:doAdd,[])
}
Add(StrList,5931044,658,161)
{
FileName="realmlist.wtf"
Point(onGetIndex)
Point(doGetIndex)
link(onChange,727504:doEvent1,[(702,167)(702,223)(651,224)(638,224)(638,279)])
link(onGetIndex,5931044:doDelete,[(698,174)(698,152)(646,152)(646,181)])
}
Add(HubEx,10288197,373,189)
{
link(onEvent,1036026:doText,[])
}
Add(Hub,5776027,413,91)
{
OutCount=3
link(onEvent1,1227053:doWork1,[(623,97)])
link(onEvent2,15689088:doText,[(455,104)(455,167)])
link(onEvent3,13775212:doWork2,[(613,111)(613,202)])
}
Add(Hub,13170905,399,266)
{
OutCount=4
link(onEvent1,1227053:doWork3,[(623,272)])
link(onEvent2,15689088:doText2,[(454,279)(454,174)])
link(onEvent3,13373768:doData,[(473,286)(473,230)])
link(onEvent4,13775212:doWork3,[(641,293)])
}
Add(HubEx,1227053,619,189)
{
link(onEvent,5931044:doLoad,[])
}
Add(HubEx,13775212,637,196)
{
link(onEvent,5931044:doSave,[])
}
Add(DoData,13373768,532,224)
{
Data=String(wow.test.ru)
link(onEventData,5931044:doGetIndex,[(627,230)(627,209)])
link(Data,15689088:Text,[])
}
Add(Hub,3747276,301,91)
{
link(onEvent1,5776027:doEvent1,[])
link(onEvent2,10412112:doData,[(322,104)(322,181)])
}
Add(Hub,14329316,294,266)
{
link(onEvent1,8496228:doData,[(318,272)(318,230)])
link(onEvent2,13170905:doEvent1,[(354,279)(354,272)])
}
Add(If_else,3056270,665,245)
{
Type=1
Op2=Integer(2)
link(onTrue,11812929:doData,[])
link(Op1,6075261:Var2,[])
}
Add(Hub,11979874,217,91)
{
link(onEvent1,11845510:doData,[])
link(onEvent2,9018094:doWork1,[(243,104)(243,185)(174,185)])
}
Add(HubEx,9018094,170,263)
{
link(onEvent,2180237:doEnabled,[(181,269)(181,234)])
}
Add(DoData,11812929,707,245)
{
Data=Integer(0)
link(onEventData,9018094:doWork3,[(750,251)(750,316)(174,316)])
}
Add(DoData,8435621,707,280)
{
Data=Integer(0)
link(onEventData,7982588:doWork3,[(781,286)(781,376)(164,376)])
}
Add(If_else,6750085,665,280)
{
Type=2
Op2=Integer(1)
link(onTrue,8435621:doData,[])
link(Op1,6075261:Var1,[(671,267)(650,267)(650,244)(651,236)])
}
Add(Hub,727504,644,273)
{
link(onEvent1,3056270:doCompare,[(662,279)(662,251)])
link(onEvent2,6750085:doCompare,[])
}
Add(GetDataEx,6075261,665,231)
{
link(Data,5931044:Count,[])
}
Add(Hub,83473,224,238)
{
link(onEvent1,5931044:doClear,[(448,244)(448,174)])
link(onEvent2,7982588:doWork1,[(245,251)(245,304)(193,304)(193,104)])
}
Add(HubEx,7982588,160,98)
{
Angle=3
link(onEvent,13449331:doEnabled,[(164,97)])
}
Add(DoData,5984577,252,266)
{
Data=String(wow.test.ru)
link(onEventData,14329316:doEvent1,[])
}

карма: 0

0
Ответов: 1376
Рейтинг: 197
#40: 2010-01-15 17:45:28 ЛС | профиль | цитата
Дак там же всё построено на кратковременном открытии файла, вот тебе и надо сперва открыть-очистить-закрыть. Иначе, работать с открытым файлом, открывать- добавлять/удалять/очищать и уж только потом сохранять
------------ Дoбавленo в 17.47:
После doClear сохрани файл
------------ Дoбавленo в 17.56:

Add(StyleXP,13995732,329,175)
{
}
Add(Button,13449331,147,224)
{
Left=10
Top=15
Width=115
Height=35
Font=[MS Sans Serif,10,1,0,1]
Caption="Set realm"
Data=Integer(1)
link(onClick,11979874:doEvent1,[])
}
Add(Label,8613662,280,175)
{
Left=10
Top=60
Width=100
Height=17
Caption="Статус программы"
}
Add(Edit,1036026,371,322)
{
Left=120
Top=60
Width=155
Text="Ожидание"
ReadOnly=0
}
Add(Button,2180237,158,396)
{
Left=155
Top=15
Width=120
Height=35
Font=[MS Sans Serif,10,1,0,1]
Enabled=1
Caption="Delete realm"
Point(doEnabled)
link(onClick,5984577:doData,[(203,402)(203,405)])
}
Add(DoData,5984577,210,399)
{
Data=String(wow.test.ru)
link(onEventData,14329316:doEvent1,[])
}
Add(DoData,11845510,224,224)
{
Data=String(wow.test.ru)
link(onEventData,3747276:doEvent1,[])
}
Add(DoData,8496228,301,357)
{
Data=String(Удалено)
link(onEventData,10288197:doWork3,[(349,363)])
}
Add(DoData,10412112,301,308)
{
Data=String(ОК)
link(onEventData,10288197:doWork1,[(349,314)])
}
Add(Edit,15689088,504,294)
{
Left=6
Top=6
Text="Debug"
ReadOnly=0
link(onChange,5931044:doAdd,[])
}
Add(StrList,5931044,630,294)
{
FileName="realmlist.wtf"
Point(onGetIndex)
Point(doGetIndex)
link(onChange,3056270:doCompare,[(690,300)(690,365)(625,365)(625,384)])
link(onGetIndex,5931044:doDelete,[(670,307)(670,285)(618,285)(618,314)])
}
Add(HubEx,10288197,345,322)
{
link(onEvent,1036026:doText,[])
}
Add(Hub,5776027,385,224)
{
OutCount=3
link(onEvent1,1227053:doWork1,[(595,230)])
link(onEvent2,15689088:doText,[(427,237)(427,300)])
link(onEvent3,13775212:doWork2,[(585,244)(585,335)])
}
Add(Hub,13170905,371,399)
{
OutCount=4
link(onEvent1,1227053:doWork3,[(595,405)])
link(onEvent2,15689088:doText2,[(426,412)(426,307)])
link(onEvent3,13373768:doData,[(445,419)(445,363)])
link(onEvent4,13775212:doWork3,[(606,426)])
}
Add(HubEx,1227053,591,322)
{
link(onEvent,5931044:doLoad,[])
}
Add(HubEx,13775212,602,329)
{
link(onEvent,5931044:doSave,[])
}
Add(DoData,13373768,504,357)
{
Data=String(wow.test.ru)
link(onEventData,5931044:doGetIndex,[(599,363)(599,342)])
link(Data,15689088:Text,[])
}
Add(Hub,3747276,273,224)
{
link(onEvent1,5776027:doEvent1,[])
link(onEvent2,10412112:doData,[(294,237)(294,314)])
}
Add(Hub,14329316,266,399)
{
link(onEvent1,8496228:doData,[(290,405)(290,363)])
link(onEvent2,13170905:doEvent1,[(326,412)(326,405)])
}
Add(If_else,3056270,637,378)
{
Type=1
Op2=Integer(2)
link(onTrue,11812929:doData,[])
link(Op1,5931044:Count,[])
}
Add(Hub,11979874,189,224)
{
link(onEvent1,11845510:doData,[])
link(onEvent2,9018094:doWork1,[(215,237)(215,318)(146,318)])
}
Add(HubEx,9018094,142,396)
{
link(onEvent,2180237:doEnabled,[])
}
Add(DoData,11812929,679,378)
{
Data=Integer(0)
link(onEventData,9018094:doWork3,[(722,384)(722,449)(146,449)])
}
Add(Button,13711835,476,252)
{
Left=130
Top=15
Width=20
Height=35
Font=[MS Sans Serif,8,1,0,1]
Caption="*"
link(onClick,5672403:doEvent1,[])
}
Add(Hub,5672403,532,252)
{
link(onEvent1,5931044:doClear,[(574,258)(574,307)])
link(onEvent2,13775212:doWork1,[(606,265)])
}
карма: 1

0
Ответов: 2293
Рейтинг: 678
#41: 2010-01-15 17:58:38 ЛС | профиль | цитата
Frolov, вот тебе схема которая добавит только одну строку без дублей и удалит все копии строк: code_16515.txt
А если работа идет с одной строкой имеет смысл зделать после загрузки файла проверку на наличие этой строки в файле.
карма: 11

0
файлы: 1code_16515.txt [2.5KB] [354]
Ответов: 4641
Рейтинг: 334
#42: 2010-01-15 18:58:20 ЛС | профиль | цитата
Frolov писал(а):
Надо бы заблокировать еще первую кнопку...

code_16516.txt
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_16516.txt [1.5KB] [183]
Ответов: 3851
Рейтинг: 159
#43: 2010-01-21 20:12:21 ЛС | профиль | цитата

Если ничего другого добавляться не будет, то логичнее сделать одну кнопку, а надписи на ней формировать в соответствии с наличием целевой строки..

sla8a, при удалении строк в переборе, обычно используют Type=Dec..
карма: 0
начавший
0
43
Сообщение
...
Прикрепленные файлы
(файлы не залиты)