Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 4698
Рейтинг: 426
#1: 2009-04-16 19:08:57 ЛС | профиль | цитата
Посмотрел работы zeta211 и составил небольшую программу -- кредитор. Выполняет роль кредита в банке! Прибавляет %-ы А ты платишь их... Конечно, схема не совершенна и составлена ради забавы(от нефига делать )
------------ Дoбавленo в 19.09:
Add(MainForm,2953706,21,105)
{
Width=408
Height=323
BorderStyle=1
Position=1
}
Add(StringTableMT,4307544,273,189)
{
Width=400
Height=265
Columns=#7:Имя=120|9:Кредит=90|15:%ед времени=86|17:Остпереплата=100|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(Index)
Point(Matrix)
}
Add(Button,16232423,98,140)
{
Top=265
Width=105
Height=25
Caption="Добавить"
link(onClick,6250000:doShow,[])
}
Add(Button,29924,98,182)
{
Left=105
Top=265
Width=105
Height=25
Caption="Удалить"
link(onClick,13049277:doData,[])
}
Add(Button,11664347,98,224)
{
Left=210
Top=265
Width=190
Height=25
Caption="Внести сумму за клиента"
link(onClick,8613843:doShow,[])
}
Add(ChildFormEx,6250000,147,140)
{
link(onOK,11292650:doEvent1,[])
}
BEGIN_SDK
Add(EditMultiEx,10491074,21,21)
{
WorkCount=#40:doShow=Показывает диалог внесения данных|
EventCount=#69:onOK=Событие происходит при окончании внесения данных и нажатия на ОК|
Width=321
Height=228
link(doShow,1650598:doShowModal,[(28,27)(28,139)])
}
Add(MainForm,1650598,35,105)
{
Left=35
Top=105
Width=285
Height=144
Visible=1
BorderStyle=3
Position=1
Point(doShowModal)
}
Add(Edit,8609253,182,42)
{
Left=85
Top=5
Width=190
Text=""
}
Add(Label,7463906,133,42)
{
Left=10
Top=5
Width=70
Height=17
Caption="Имя клиента"
}
Add(Edit,6583289,182,84)
{
Left=85
Top=30
Width=190
Text=""
}
Add(Label,9277217,133,84)
{
Left=10
Top=30
Width=40
Height=17
Caption="Кредит"
}
Add(Label,10312809,133,140)
{
Left=10
Top=60
Width=111
Height=17
Caption="Процентед времени"
}
Add(Edit,3132006,182,140)
{
Left=120
Top=55
Width=40
Text=""
}
Add(Label,7690813,224,140)
{
Left=164
Top=57
Width=9
Height=17
Caption=""
}
Add(Edit,10078947,266,140)
{
Left=175
Top=55
Width=40
Text=""
}
Add(Button,1766755,84,189)
{
Left=81
Top=86
Width=115
Height=25
Caption="ОК"
link(onClick,3583545:doAdd,[])
}
Add(MT_Add,3583545,133,189)
{
link(onAdd,659469:doAdd,[])
link(Data,8609253:Text,[(139,131)(188,131)])
}
Add(MT_Add,659469,182,189)
{
link(onAdd,10446178:doAdd,[])
link(Data,6583289:Text,[])
}
Add(MT_Add,10446178,224,189)
{
link(onAdd,3865872:doAdd,[])
link(Data,3132006:Text,[(230,181)(188,181)])
}
Add(MT_Add,3865872,266,189)
{
link(onAdd,1025160:doEvent1,[])
link(Data,10078947:Text,[])
}
Add(Hub,1025160,308,189)
{
link(onEvent1,10491074:onOK,[(332,195)(332,27)])
link(onEvent2,1650598:doClose,[(332,202)(332,238)(23,238)(23,132)])
}
END_SDK
Add(MT_MultiMem,1748805,224,140)
{
Count=4
}
Add(Hub,11292650,189,140)
{
OutCount=4
link(onEvent1,1748805:doValue,[])
link(onEvent2,940522:doString,[(219,153)(219,195)])
link(onEvent3,9761730:doData,[(215,160)(215,260)(109,260)(109,272)])
link(onEvent4,8343942:doTimer,[(215,167)(215,251)(86,251)(86,342)])
}
Add(FormatStr,940522,224,189)
{
DataCount=4
Mask="%1;%2;%3/%4;%2"
link(onFString,4307544:doAdd,[])
link(Str1,1748805:Value1,[])
link(Str2,1748805:Value2,[])
link(Str3,1748805:Value3,[])
link(Str4,1748805:Value4,[])
}
Add(DoData,13049277,147,182)
{
link(onEventData,14728232:doEvent1,[])
link(Data,4307544:Index,[(153,175)(191,175)(191,233)(293,233)])
}
Add(Timer,8343942,98,336)
{
Enable=1
link(onTimer,6554365:doEnum,[])
}
Add(StrList,3217054,252,266)
{
}
Add(ArrayRW,15961972,315,329)
{
@IsLib=True
link(Array,7469572:Var2,[(321,325)(272,325)])
link(Index,4960346:Var3,[(328,322)(205,322)(205,380)])
}
Add(DoData,9761730,119,266)
{
Data=Integer(0)
link(onEventData,3217054:doAdd,[])
}
Add(Hub,14728232,189,182)
{
link(onEvent1,4307544:doDelete,[(234,188)(234,209)])
link(onEvent2,3217054:doDelete,[(207,195)(207,221)(170,221)(170,286)])
}
Add(FastMathParse,3604941,245,336)
{
DataCount=1
MathStr="%1 + 1"
ResultType=0
link(onResult,15961972:doWrite,[])
}
Add(GetDataEx,7469572,259,308)
{
link(Data,3217054:Array,[])
}
Add(GetDataEx,4960346,182,371)
{
Angle=3
link(Data,6554365:Index,[(167,380)])
}
Add(If_else,6726043,357,329)
{
link(onTrue,6777825:doEvent1,[])
link(Op1,2199491:GetData,[(363,322)(351,322)(351,429)(363,429)])
link(Op2,3604941:Result,[(370,317)(294,317)(294,376)(251,376)])
}
Add(EventFromData,2199491,357,385)
{
link(onEvent,12508672:doRead,[])
}
Add(MatrixRW,12508672,406,385)
{
X=2
link(onRead,10123894:doSplit,[])
link(Matrix,8459812:Var2,[])
link(Y,255344:Var2,[])
}
Add(StrPart,10123894,462,385)
{
Char="/"
Point(Left)
link(onSplit,2199491:doData,[(506,391)(506,379)(345,379)(345,391)])
}
Add(FastMathParse,15270680,476,329)
{
DataCount=3
MathStr="%1 + (%3 * (%2 / 100))"
ResultType=0
link(onResult,8932889:doWrite,[(516,335)(516,293)])
link(X1,3891685:GetData,[])
link(X2,10123894:Left,[(489,317)(515,317)(515,426)(468,426)])
link(X3,5394839:GetData,[])
}
Add(EventFromData,3891685,476,280)
{
link(onEvent,8932889:doRead,[])
}
Add(MatrixRW,8932889,525,280)
{
X=3
link(onRead,3891685:doData,[(569,286)(569,274)(464,274)(464,286)])
link(Matrix,2489349:Var3,[(531,247)])
link(Y,4693138:Var2,[(552,268)(573,268)])
}
Add(GetDataEx,8459812,399,238)
{
link(Data,4307544:Matrix,[(412,234)(300,234)])
}
Add(GetDataEx,255344,420,357)
{
Angle=3
link(Data,4960346:Var1,[(195,366)])
}
Add(Hub,6777825,441,329)
{
link(onEvent1,15270680:doCalc,[])
link(onEvent2,11338630:doWrite,[])
}
Add(Memory,15223060,602,280)
{
Default=Integer(0)
}
Add(Hub,4346445,210,336)
{
link(onEvent1,3604941:doCalc,[])
link(onEvent2,6726043:doCompare,[(290,349)(290,335)])
}
Add(EventFromData,5394839,490,210)
{
link(onEvent,10632275:doRead,[])
}
Add(MatrixRW,10632275,539,210)
{
X=1
link(onRead,5394839:doData,[(583,216)(583,204)(478,204)(478,216)])
link(Matrix,2489349:Var1,[(545,198)(461,198)])
link(Y,4693138:Var3,[(566,198)(593,198)(593,296)])
}
Add(GetDataEx,2489349,448,238)
{
Angle=3
link(Data,8459812:Var3,[])
}
Add(GetDataEx,4693138,560,287)
{
Angle=2
link(Data,4960346:Var2,[(573,437)(195,437)])
}
Add(ChildFormEx,8613843,147,224)
{
link(Matrix,2489349:Var2,[(153,215)(213,215)(213,262)(461,262)])
link(Y-matrix,4307544:Count,[(160,212)(208,212)(208,244)(279,244)])
}
BEGIN_SDK
Add(EditMultiEx,15497658,21,21)
{
WorkCount=#50:doShow=Показывает диалог внесения денег за клиента|
DataCount=#25:Matrix=Определяет матрицу|34:Y-matrix=Определяет строку матрицы|
Height=235
link(doShow,5242739:doShowModal,[(31,27)(31,97)])
}
Add(MainForm,5242739,42,63)
{
Left=35
Top=105
Width=209
Height=81
Visible=1
BorderStyle=3
Position=1
Point(doShowModal)
}
Add(Button,2020487,63,154)
{
Left=55
Top=25
Width=90
Height=25
Caption="ОК"
link(onClick,15063501:doEvent1,[])
}
Add(Label,6705,63,112)
{
Left=5
Top=5
Width=38
Height=17
Caption="Сумма"
}
Add(Edit,691511,189,112)
{
Left=45
Top=2
Width=150
Text="100"
}
Add(MatrixRW,13110747,133,154)
{
X=3
link(onRead,8999622:doCalc,[])
link(Matrix,15497658:Matrix,[(139,55)(27,55)])
link(Y,14534761:GetData,[])
}
Add(FastMathParse,8999622,182,154)
{
MathStr="%1 - %2"
ResultType=0
link(onResult,13110747:doWrite,[(224,160)(224,193)(128,193)(128,167)])
link(X2,691511:Text,[])
}
Add(Hub,15063501,105,154)
{
link(onEvent1,13110747:doRead,[])
link(onEvent2,5242739:doClose,[(126,167)(126,202)(30,202)(30,90)])
}
Add(EventFromData,14534761,154,70)
{
link(onEvent,9452701:doCalc,[])
}
Add(FastMathParse,9452701,196,70)
{
DataCount=1
MathStr="%1 - 1"
ResultType=0
link(onResult,14534761:doData,[(240,76)(240,64)(142,64)(142,76)])
link(X1,15497658:Y-matrix,[(202,46)(34,46)])
}
END_SDK
Add(StyleXP,2368616,21,140)
{
}
Add(ArrayEnum,6554365,154,336)
{
link(onItem,4346445:doEvent1,[])
link(Array,7469572:Var1,[(160,317)])
}
Add(ArrayRW,11338630,525,329)
{
elink(15961972)
link(Array,7469572:Var3,[(531,317)])
link(Index,255344:Var3,[(538,321)(519,321)(519,366)])
link(Value,15223060:Value,[(545,321)(608,321)])
}
карма: 10
0
Ответов: 1304
Рейтинг: 405
#2: 2009-04-16 20:44:10 ЛС | профиль | цитата
Assasin, если это программа-шутка(ради забавы), то кроме уныния, она ничего у меня не вызвала . Не обижайся, но чего-то ты забыл добавить, чтобы получилось (ради забавы).
карма: 3

0
Ответов: 4641
Рейтинг: 334
#3: 2009-04-16 22:09:19 ЛС | профиль | цитата
Assasin, а элементы тоже шутки ради?
Зачем StringTableMT воткнул...и с обычной бы работало!
И че ты так близко элементы ставишь и линии друг на друга. Ведь есть рекомендации
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 485
Рейтинг: 86
#4: 2009-04-16 22:15:16 ЛС | профиль | цитата
Ravilr писал(а):
И че ты так близко элементы ставишь и линии друг на друга. Ведь есть рекомендации
Assasin писал(а):
Посмотрел работы zeta211

карма: 0

1
Голосовали:Administrator
Ответов: 4641
Рейтинг: 334
#5: 2009-04-16 22:17:01 ЛС | профиль | цитата
да и че за привычка компонент ХР вставлять. Устал удалять!!! Каждый компонент Делфи приближает хиасмистов к пиратщине!!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:Астрамак, Administrator, sla8a
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2009-04-16 23:22:28 ЛС | профиль | цитата
Assasin, за приделывание схемы вторым сообщением удалять топики буду
карма: 27
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#7: 2009-04-17 00:06:54 ЛС | профиль | цитата
Ravilr писал(а):
Каждый компонент Делфи приближает хиасмистов к пиратщине!!

Я не понял, конечно, за что Dilma тебе плюс поставил, но судя по твоим словам надо вообще отказаться от пакета Windows, тк он весь написан на Delphi. Если ты хотел сказать что-то другое, так и надо было правильно выражаться. А проблема в стиле XP, только потому, что FPC не может пристегивать нормально ресурсы и не причем здесь никакая пиратщина. Помнится мне, кто-то обещался это дело с FPC год назад довести до ума...
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2009-04-17 00:28:57 ЛС | профиль | цитата
поддержал акцию против StyleXP
карма: 27
0
Ответов: 5227
Рейтинг: 587
#9: 2009-04-17 08:34:42 ЛС | профиль | цитата
Assasin, типичная ошибка злоупотребленя МТ потоками, там было достаточно FormatStr для добавления записи в таблицу.
Для таких простых операций твой алгоритм с матрицами (запутаный) весьма тяжек для понимания, я думаю вот такого набора элементов в замен было бы достаточноcode_12818.txt

Не торопись, семь раз отмерь один отреж
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1code_12818.txt [742B] [225]
Разработчик
Ответов: 4698
Рейтинг: 426
#10: 2009-04-17 09:05:51 ЛС | профиль | цитата
Dilma, извени, я пост оставил, а схему забыл прилепить... А правку нажать что-т не додумался.
С StyleXP все ясно, в следующих постах не буду с ХР.
А на счет содержания элементов
Assasin писал(а):
Конечно, схема не совершенна и составлена ради забавы(от нефига делать)

карма: 10
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#11: 2009-04-17 11:23:22 ЛС | профиль | цитата
andrestudio писал(а):
ошибка злоупотребленя МТ потоками, там было достаточно FormatStr

А вот это высказывание, совершенно неправильно. Сейчас уже существует таблица, которая понимает только MT и до бублика ей FormatStr, тк как не понимает она разделителей. Я уже писал, что MT-технология -- это будущее HiAsma.

К тому же, StringTableMT заточена именно для работы с MT и остальные методы оставлены только для совместимости. Это -- переходной тип таблицы от старой StringTable к новой MTStrTbl
карма: 22

0
Ответов: 5227
Рейтинг: 587
#12: 2009-04-17 11:32:37 ЛС | профиль | цитата
nesco, писалось применительно к приведёной схеме где было два лишних преобразования.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#13: 2009-04-17 12:17:08 ЛС | профиль | цитата
andrestudio писал(а):
писалось применительно к приведёной схеме

В этой схеме есть один плюс -- попытка исследовать MT-поток, но как-то он деревянно применен к таблице, которая и без преобразования его читать может

Вот так надо было сделать, применительно к этой схеме


Add(MainForm,11224167,224,119)
{
Width=408
Height=323
BorderStyle=1
Position=1
}
Add(StringTableMT,4307544,371,126)
{
Width=400
Height=265
Columns=#7:Имя=120|9:Кредит=90|15:%ед времени=86|17:Остпереплата=100|
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(Index)
Point(Matrix)
Point(doMT_Add)
}
Add(Button,16232423,224,161)
{
Top=265
Width=105
Height=25
Caption="Добавить"
link(onClick,6250000:doShow,[])
}
Add(Button,29924,224,203)
{
Left=105
Top=265
Width=105
Height=25
Caption="Удалить"
}
Add(Button,11664347,224,245)
{
Left=210
Top=265
Width=190
Height=25
Caption="Внести сумму за клиента"
}
Add(ChildFormEx,6250000,273,161)
{
link(onOK,11292650:doEvent1,[])
}
BEGIN_SDK
Add(EditMultiEx,10491074,21,21)
{
WorkCount=#40:doShow=Показывает диалог внесения данных|
EventCount=#69:onOK=Событие происходит при окончании внесения данных и нажатия на ОК|
Width=321
Height=228
link(doShow,1650598:doShowModal,[(28,27)(28,125)])
}
Add(MainForm,1650598,35,91)
{
Left=35
Top=105
Width=285
Height=144
Visible=1
BorderStyle=3
Position=1
Point(doShowModal)
}
Add(Edit,8609253,133,84)
{
Left=85
Top=5
Width=190
Text=""
}
Add(Label,7463906,133,42)
{
Left=10
Top=5
Width=70
Height=17
Caption="Имя клиента"
}
Add(Edit,6583289,175,84)
{
Left=85
Top=30
Width=190
Text=""
}
Add(Label,9277217,175,42)
{
Left=10
Top=30
Width=40
Height=17
Caption="Кредит"
}
Add(Label,10312809,217,42)
{
Left=10
Top=60
Width=111
Height=17
Caption="Процентед времени"
}
Add(Edit,3132006,217,84)
{
Left=120
Top=55
Width=40
Text=""
}
Add(Label,7690813,259,42)
{
Left=164
Top=57
Width=9
Height=17
Caption=""
}
Add(Edit,10078947,259,84)
{
Left=175
Top=55
Width=40
Text=""
}
Add(Button,1766755,56,182)
{
Left=81
Top=86
Width=115
Height=25
Caption="ОК"
link(onClick,2287822:doEvent1,[])
}
Add(Hub,1025160,308,189)
{
link(onEvent1,10491074:onOK,[(332,195)(332,27)])
link(onEvent2,1650598:doClose,[(332,202)(332,238)(23,238)(23,118)])
}
Add(MT_AddData,6516851,133,189)
{
Count=4
link(onAdd,1025160:doEvent1,[])
link(Data1,8609253:Text,[])
link(Data2,11742093:Var2,[])
link(Data3,10522511:FString,[(153,181)(223,181)])
link(Data4,11742093:Var3,[(160,156)])
}
Add(FormatStr,10522511,217,140)
{
Mask="%1/%2"
Point(FString)
link(Str1,3132006:Text,[])
link(Str2,10078947:Text,[(230,128)(265,128)])
}
Add(Hub,2287822,98,182)
{
link(onEvent1,10522511:doString,[(124,188)(124,146)])
link(onEvent2,6516851:doAdd,[])
}
Add(GetDataEx,11742093,133,147)
{
link(Data,6583289:Text,[(146,133)(181,133)])
}
END_SDK
Add(Hub,11292650,315,161)
{
OutCount=4
link(onEvent1,4307544:doMT_Add,[])
}

карма: 22

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