Вверх ↑
Ответов: 198
Рейтинг: 2
#1: 2013-01-30 07:04:01 ЛС | профиль | цитата
Спасибо за советы, конечно моя красноречивая речь не дала правильное и точное задание, т. к. хотелось, что бы люди долго не читали )) Да и сам я не знал, что положение адмиан будет меняться, как оказалось, после использования файла в другой программе.

В общем сделал программу на основании предоставленной уважаемым Poputchik. Спасибо ему, что научил пользоваться перебором строк!

Не могу сюда добавить файлы, пишет: "У вас не хватает прав для выполнения этой операции", хотя и упаковал в .rar, хотел поделиться результатом... Если конечно кому может быть интересно...
------------ Дoбавленo в 07.00:
Собственно вот код:

Make(delphi)
ver(4.04 build 184)
Add(MainForm,2953706,21,105)
{
Width=556
Height=462
}
Add(Button,1689517,133,112)
{
Left=30
Top=30
Width=120
Height=35
Caption="Загрузить данные"
link(onClick,12510340:doEvent1,[])
}
Add(Memo,709049,308,84)
{
Left=175
Top=15
Width=350
Height=130
FileName="Баланс.txt"
}
Add(Memo,1649115,781,522)
{
Left=175
Top=150
Width=350
Height=130
FileName="Баланс.txt"
}
Add(ArrayEnum,10730766,322,224)
{
link(onItem,8727575:doSplit,[])
link(onEndEnum,11455724:doEvent1,[])
link(Array,709049:Array,[])
}
Add(StrPart,8727575,434,224)
{
Char=":"
Point(Left)
link(onSplit,16091837:doCompare,[(478,230)(478,272)(422,272)(422,314)])
}
Add(If_else,16091837,434,308)
{
Op2=String(admin balance)
link(onTrue,4286571:doSplit,[(520,314)(520,132)])
link(onFalse,7926257:doSplit,[])
link(Op1,8727575:Left,[])
}
Add(StrPart,7926257,525,315)
{
Char=":"
Point(Left)
link(onSplit,2509880:doSplit,[])
link(Str,16609027:Var2,[])
}
Add(StrPart,2509880,567,315)
{
Char=" "
Point(Right)
Point(Left)
link(onSplit,13083083:doOperation,[(621,321)(621,370)])
}
Add(Math,13083083,637,364)
{
OpType=7
Op2=50
link(onResult,3707098:doEvent1,[])
link(Op1,12966959:Var3,[(643,356)])
}
Add(Math,12159808,630,427)
{
OpType=1
link(onResult,5436151:doString,[(674,433)(674,470)(513,470)(513,489)])
link(Op1,12966959:Var2,[(636,411)(580,411)])
link(Op2,13083083:Result,[])
}
Add(GetDataEx,12966959,574,351)
{
link(Data,2509880:Left,[])
}
Add(FormatStr,5436151,525,483)
{
DataCount=3
Mask="%1:%2.0 %3"
link(onFString,7212352:doEvent2,[(632,489)(632,510)])
link(Str1,7926257:Left,[])
link(Str2,12159808:Result,[(538,465)(636,465)])
link(Str3,2509880:Right,[(545,404)(573,404)])
}
Add(Memory,15688061,763,294)
{
}
Add(Math,7294821,756,364)
{
link(onResult,15688061:doValue,[(800,370)(800,340)(750,340)(750,300)])
link(Op2,16474984:Var2,[])
}
Add(Hub,3707098,693,364)
{
link(onEvent1,7294821:doOperation,[])
link(onEvent2,12159808:doOperation,[(742,377)(742,420)(618,420)(618,433)])
}
Add(StrPart,4286571,574,126)
{
Char=":"
Point(Left)
link(onSplit,16151577:doSplit,[])
link(Str,16609027:Var1,[(580,121)(531,121)])
}
Add(StrPart,16151577,616,126)
{
Char=" "
Point(Right)
Point(Left)
link(onSplit,5518028:doValue,[(656,132)(656,258)])
}
Add(GetDataEx,16609027,525,277)
{
Angle=3
link(Data,10730766:Item,[(328,282)])
}
Add(FormatStr,16328745,903,287)
{
DataCount=3
Mask="%1:%2.0 %3"
link(onFString,7212352:doEvent1,[(940,293)(940,445)(694,445)(694,503)])
link(Str1,4286571:Left,[(909,223)(580,223)])
link(Str2,10873381:Result,[(916,207)(863,207)(863,408)(832,408)])
link(Str3,16151577:Right,[(923,184)(622,184)])
}
Add(Hub,7212352,707,497)
{
InCount=2
OutCount=1
link(onEvent1,1649115:doAdd,[(730,503)(730,528)])
}
Add(Memory,5518028,665,252)
{
Point(Data)
link(Data,16151577:Left,[(671,219)(629,219)])
}
Add(Math,10873381,826,364)
{
link(onResult,16328745:doString,[(880,370)(880,293)])
link(Op1,16474984:Var3,[(832,334)])
link(Op2,5518028:Value,[(839,288)(671,288)])
}
Add(GetDataEx,16474984,763,329)
{
link(Data,15688061:Value,[])
}
Add(Hub,11455724,364,231)
{
OutCount=6
link(onEvent1,10873381:doOperation,[(602,237)(602,370)])
link(onEvent2,1872525:doClear,[(618,244)(618,597)])
link(onEvent3,1872525:doLoad,[(618,251)(618,618)])
link(onEvent4,2755335:doString,[(606,258)(606,475)])
link(onEvent5,1649115:doSave,[(580,265)(580,563)])
link(onEvent6,1872525:doSave,[(618,272)(618,625)])
}
Add(Hub,12510340,224,112)
{
OutCount=5
link(onEvent1,709049:doLoad,[])
link(onEvent2,1649115:doClear,[(290,125)(290,535)])
link(onEvent3,5518028:doClear,[(452,132)(452,265)])
link(onEvent4,15688061:doClear,[(500,139)(500,307)])
link(onEvent5,10730766:doEnum,[(280,146)(280,230)])
}
Add(Memo,1872525,858,584)
{
Left=175
Top=285
Width=350
Height=130
FileName="Доход.txt"
}
Add(Time,16319379,882,385)
{
Format="D.M h:m"
}
Add(FormatStr,2755335,854,469)
{
Mask="%1 Налог = %2"
link(onFString,1872525:doAdd,[(898,475)(898,533)(846,533)(846,590)])
link(Str1,16319379:FormatTime,[(860,457)(888,457)])
link(Str2,16474984:Var1,[(867,415)(760,415)(760,334)])
}

------------ Дoбавленo в 07.04:
Только финальная версия работает при открытии формы, и форму закрывает...
Собственно, что и требовалось...

Сорри за коряво расставленные модули, после того как все начало получаться уже лень было что-то двигать

Второй раз уже пригодился ваш "HiAsm не язык программирования как таковой", спасибо разработчикам
карма: 0

0