Вверх ↑
Этот топик читают: Гость
Ответов: 30
Рейтинг: 2
#151: 2009-09-07 02:34:49 ЛС | профиль | цитата
Покажите описание!!!
карма: 0

0
Разработчик
Ответов: 26148
Рейтинг: 2126
#152: 2009-09-07 02:58:59 ЛС | профиль | цитата
BeginEnd писал(а):
Покажите описание!!!

Да пожалуйста


  PData = ^TData;
TData = record
Data_type:byte;
idata:THiInt;
sdata:string;
rdata:real;
Next:PHI_Event;
ldata:PData;
end;

Вот как раз Data_type и несет информацию о типе данных, а действующие типы данных у нас такие



data_null = 0;
data_int = 1;
data_str = 2;
data_icon = 6;
data_real = 7;
data_stream = 10;
data_bitmap = 11;
data_array = 13;
data_font = 15;
data_matr = 16;
data_jpeg = 17;
data_menu = 18;
data_object = 20;
data_break = 21;


Только String, Integer и Real передаются внутри структуры, все остальное передается как указатель через тип Integer


------------ Дoбавленo в 03.06:
А не ранова-то ли на начальном этапе заниматься разбором структуры данных, боюсь, что можно не осилить понимание происходящего
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#153: 2009-09-07 15:35:06 ЛС | профиль | цитата
Вроде парень хорошо себя показывает(с одной стороны), но я не решусь судить, сам-то знаю только как в HiAsm код напрограммировать А этого малова-то чтобы делфи полностью изучать
карма: 10
0
Разработчик
Ответов: 26148
Рейтинг: 2126
#154: 2009-09-07 23:52:36 ЛС | профиль | цитата
Assasin писал(а):
с одной стороны

Но с другой -- очень уж он тут всех "озадачить" пытается. Не по душе мне это. ИМХО
карма: 22

0
Ответов: 30
Рейтинг: 2
#155: 2009-09-08 21:35:28 ЛС | профиль | цитата
nesco писал(а):

Но с другой -- очень уж он тут всех "озадачить" пытается.


Я с Delphi 6 - года два мурыжился!!! Запарился...
А последнее время - на VB 6 - подвис... Одна точка - и все методы. Это ж - хобби, да и времени на что-то серьезное не хватает...
А с конкурсными задачами - если у кого-то что-то изящное получится, можно в хелп поставить, не все же автору пахать! Тем более прога - бесплатная!
И кстати, Касперский верещит...


------------ Дoбавленo в 22.09:
Вот такой пример.


Make(delphi)
ver(4.02 build 179)
Add(MainForm,11339219,28,21)
{
Width=387
Height=253
}
Add(Edit,7683434,273,84)
{
Left=200
Top=175
Width=145
Text=""
}
Add(MathParse,10424193,196,84)
{
DataCount=1
MathStr=""
Point(doMathStr)
Point(reCalc)
link(onResult,7683434:doText,[])
}
Add(Hub,14902312,147,77)
{
link(onEvent1,10424193:doMathStr,[(178,83)(178,97)])
link(onEvent2,10424193:doCalc,[])
}
Add(DoData,1834605,91,77)
{
Data=String()
link(onEventData,14902312:doEvent1,[])
link(Data,8214691:Text,[(97,66)(78,66)(78,123)(34,123)])
}
Add(Edit,8214691,28,70)
{
Left=10
Top=100
Width=335
Text="(2.5+2)*3.3-10/2 +2.3"
link(onEnter,1834605:doData,[])
}
Add(Label,2325402,119,21)
{
Left=10
Top=73
Width=335
Height=22
Caption="Введите выражение для вычислений и нажмите ENTER"
}
Add(Label,12390404,161,21)
{
Left=200
Top=148
Width=145
Height=22
Caption="Здесь появится ответ"
}
Add(Label,10200730,70,21)
{
Left=15
Top=20
Width=352
Height=20
Font=[MS Sans Serif,10,0,0,1]
Caption="Пример работы парсера математических выражений"
}
Add(Image,7477788,203,21)
{
Left=15
Top=40
Width=25
Height=25
Picture=[ZIPC204000078DAED92B10E82301086DBB4091D180C89E2E644222F203B23890B0BEAC47B48A2CFE693DCECCEAC775C49694481DDFE69EFBFF6BB42DAE6C787165DCBB1EFB16F6D97622514C6BB5DF75A2304E0E20EEDEBF6D7B49AB009BF659F2A8B6B780DC7B331A5C9C55C8CE35DE6669D0759ABB3390FF83E23379CF5F93479DD4E86564E86228D2CDF134F0E366992E94C97058F248AB483F3CC1FF441D39826E448FC0F1C7D0F12E2B520D58ABEC19E99E119F60EE45345221210D48A2B28FB7E9AC85710408C2C57C8DF776BF9AE029D9C7A0B20DBB8E3B1629A767C3B8BEEF86A3ECD7C5BCDA5EDFE72C9EB5F462FD31B9B6FD58C]
}
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#156: 2009-09-09 01:16:47 ЛС | профиль | цитата
BeginEnd писал(а):
Вот такой пример.

Кому пример ? Чего пример ?

1. Пример не должен называться Form
2. Компонент DoData совершенно лишний.
3. После запуска программы, активный второй Edit, а не тот куда вводить формулу.
и т.п. и т.д.

Вот такой пример.
code_14871.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_14871.txt [1.4KB] [796]
Ответов: 30
Рейтинг: 2
#157: 2009-09-11 22:43:41 ЛС | профиль | цитата
Tad писал(а):

Кому пример ? Чего пример ?


Всецело согласен!

А такой пример пойдет?
code_14901.txt
карма: 0

0
файлы: 1code_14901.txt [3.3KB] [775]
Разработчик
Ответов: 26148
Рейтинг: 2126
#158: 2009-09-11 22:53:15 ЛС | профиль | цитата
BeginEnd писал(а):
А такой пример пойдет?

Tad пытался добиться куда это пример, для кого и что с ним делать
карма: 22

0
Ответов: 30
Рейтинг: 2
#159: 2009-09-11 23:05:32 ЛС | профиль | цитата
Но ведь что бы что-то сделать, надо понять как работают компоненты! И куда что прикреплять!
карма: 0

1
Голосовали:Tad
Разработчик
Ответов: 26148
Рейтинг: 2126
#160: 2009-09-11 23:28:25 ЛС | профиль | цитата
BeginEnd писал(а):
надо понять как работают компоненты

Правильно, так и надо. Просто надо было написать как-то типа -- вот мой пример как я мыслю вот тут и тут. Вопросов, точно, меньше было бы
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#161: 2009-09-12 00:13:34 ЛС | профиль | цитата
BeginEnd писал(а):
А такой пример пойдет?
Вполне.
Вот немного подчистил.
И не надо (в таком случае) забивать "намертво" число записей.
ИМХО.
nesco писал(а):
для кого и что с ним делать ?
Для начинающих. Очень даже не плохой пример работы с массивом.
------------ Дoбавленo в 00.17:
Когда я спрашивал:
Tad писал(а):
Кому пример ? Чего пример ?
имел ввиду, что то был пример из рубрики - "Как не надо делать"
------------ Дoбавленo в 00.23:
Да и помещать иконки компонент для которых написан пример - очень даже неплохая идея !
BeginEnd, +
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1workarray.sha [4.1KB] [503]
Ответов: 30
Рейтинг: 2
#162: 2009-09-12 00:25:17 ЛС | профиль | цитата

Просто надо было написать


Пример на ввод и вывод в Edit


Add(MainForm,2953706,21,70)
{
Left=100
Top=100
Width=414
Height=208
Caption="Вычисления круга"
}
Add(Edit,7741042,91,140)
{
Left=268
Top=55
Width=105
Text="1"
link(onEnter,8053259:doEvent1,[])
}
Add(Edit,5683550,91,238)
{
Left=268
Top=90
Width=105
Text="1"
link(onEnter,11435864:doEvent1,[])
}
Add(Edit,2682130,91,371)
{
Left=268
Top=130
Width=105
Text="1"
link(onEnter,6616036:doEvent1,[])
}
Add(MathParse,13806430,273,147)
{
MathStr="%1 * %1 *3.14"
link(onResult,3643539:doWork1,[(326,153)(326,362)(81,362)])
}
Add(Hub,8053259,175,147)
{
link(onEvent1,13806430:doCalc,[])
link(onEvent2,6686342:doCalc,[(231,160)(231,195)])
}
Add(MathParse,6686342,273,189)
{
MathStr="%1 * 6.28"
link(onResult,11866147:doWork1,[(317,195)(317,227)(46,227)])
}
Add(MathParse,751264,273,245)
{
MathStr="%1 / 6.28"
link(onResult,4924087:doWork3,[(317,251)(317,234)(60,234)])
}
Add(MathParse,15472550,273,287)
{
MathStr="(%1 / 6.28) ^ 2 *3.14"
link(onResult,3643539:doWork2,[(318,293)(318,354)(59,354)(59,377)])
}
Add(Hub,11435864,182,245)
{
link(onEvent1,751264:doCalc,[])
link(onEvent2,15472550:doCalc,[(234,258)(234,293)])
}
Add(HubEx,4924087,56,133)
{
link(onEvent,7741042:doText,[])
}
Add(MathParse,7533571,266,378)
{
MathStr="sqrt( %1 / 3.14)"
link(onResult,4924087:doWork1,[(335,384)(335,133)(60,133)])
}
Add(MathParse,1113285,266,420)
{
MathStr="sqrt( %1 / 3.14) * 6.28"
link(onResult,11866147:doWork3,[(309,426)(309,461)(46,461)])
}
Add(Hub,6616036,175,378)
{
link(onEvent1,7533571:doCalc,[])
link(onEvent2,1113285:doCalc,[(227,391)(227,426)])
}
Add(HubEx,11866147,42,231)
{
link(onEvent,5683550:doText,[])
}
Add(HubEx,3643539,77,364)
{
link(onEvent,2682130:doText,[])
}
Add(Label,10812103,70,70)
{
Left=187
Top=55
Width=58
Height=24
Font=[MS Sans Serif,12,0,0,1]
Caption="Радиус"
}
Add(Label,2985436,119,70)
{
Left=105
Top=88
Width=145
Height=24
Font=[MS Sans Serif,12,0,0,1]
Caption="Длина окружности"
}
Add(Label,2033065,168,70)
{
Left=129
Top=130
Width=121
Height=24
Font=[MS Sans Serif,12,0,0,1]
Caption="Площадь круга"
}
Add(Label,15394461,217,70)
{
Left=7
Top=8
Width=389
Height=24
Font=[Arial Narrow,12,0,0,204]
Caption="Вычисления в любую сторону. Введите число, нажмите Enter"
}
Add(Image,970022,266,70)
{
Left=15
Top=40
Width=60
Height=60
ViewStyle=1
Picture=[ZIPC204000078DA73F23DC4C200064E40AC01C41250CCC820C0C00CA41BA0F228A08681E10150521EC8FC5F3FB4E15AD3EA7CE221483D0343B11F7110A69E38B389510F0A7C1889AE5E8001029159103DD8CC47A84425A9A51EDD3D84D563B78590F9A83611321FD9164498525B3D71F1457C7A201640D49302877AEEFD5F0F00F2922D26]
}



карма: 0

0
файлы: 1code_14904.txt [2.2KB] [736]
Ответов: 16884
Рейтинг: 1239
#163: 2009-09-12 00:30:52 ЛС | профиль | цитата
BeginEnd, а сам запускал ? Я ведь кроме плюсов могу и минусы ставить
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 30
Рейтинг: 2
#164: 2009-09-12 00:35:43 ЛС | профиль | цитата
Отлично работает!
Во все стороны!!!
Про картинку забыл, добавлял...

карма: 0

0
Разработчик
Ответов: 26148
Рейтинг: 2126
#165: 2009-09-12 00:37:27 ЛС | профиль | цитата
Tad писал(а):
а сам запускал ?

Ну я запустил, и чего Считает, вроде.
А что не так
карма: 22

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