Вверх ↑
Этот топик читают: Гость
Ответов: 37
Рейтинг: 0
#1: 2012-09-10 01:03:16 ЛС | профиль | цитата
Всем здравствуйте.
Дайте пожалуйста схему в состав которых входили бы эти компоненты ( DDE Server и DDE Client ). Так чтобы понять как это работает. Главное чтобы схема была не слишком большая.
Заранее благодарен.
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#2: 2012-09-10 02:58:07 ЛС | профиль | цитата
vovvei писал(а):
Дайте пожалуйста схему в состав которых входили бы эти компоненты


%HiAsm%ElementsDelphiExampleSystemDDEDDE_Server.sha
%HiAsm%ElementsDelphiExampleSystemDDEDDE_Client.sha

Рекомендую регулярнее заглядывать в папку Example.

И это никоим образом не относится к среде HiAsm, это относится к пакету Windows, туда и будет перенесена эта тема
карма: 22

0
Ответов: 37
Рейтинг: 0
#3: 2012-09-11 11:19:53 ЛС | профиль | цитата
Спасибо, посмотрел и немного понял, совсем немного.
Есть ещё вопрос. Как с помощью dde сервера сделать вывод из таблицы программы Quik в текстовый документ. Думаю что вывод идёт так как ошибок не выдаёт. Но как в схеме сделать так чтобы данные записывались в текстовый документ не знаю.

http://s017.radikal.ru/i424/1209/a6/66c857ef5ade.png

code_29039.txt
------------ Дoбавленo в 11.19:
Немного поковырялся и вот что получилось:
 Add(MainForm,10952570,70,105){
Left=20
Top=105
Width=192
Height=285
Caption="DDE_Server"
Point(onClose)
link(onCreate,14007143:doStart,[])
}
Add(DDEServer,14007143,119,119)
{
ServiceName="A"
TopicList=#1:1|
Point(onConnect)
Point(onExecute)
link(onPutItem,6860893:doData,[(163,132)(163,170)(121,170)(121,209)])
}
Add(ListBox,2398811,217,203)
{
Left=15
Top=10
Width=160
Height=240
}
Add(DoData,6860893,133,203)
{
Data=String()
link(onEventData,2398811:doAdd,[])
link(Data,14007143:ItemName,[])
}

Но он выводит не строку, а номера ячеек. Слева на картинке вывод через ДДЕ в Эксель, а справа моя программа. Подскажите пожалуйста как сделать вывод строки, а не номеров?
http://i082.radikal.ru/1209/58/8adff991302c.png
карма: 0

0
файлы: 1code_29039.txt [208B] [187]
Разработчик
Ответов: 26324
Рейтинг: 2148
#4: 2012-09-11 12:27:41 ЛС | профиль | цитата
Ну и что это за схемы, где в них отражается суть проблемы Если Вы хотите, чтобы Вам помогли, так представьте все, со всеми файлами, и опишите взаимодействие. Если Вы этого не хотите делать по понятным соображениям, то вопрос предлагаю закрыть
карма: 22

0
Ответов: 37
Рейтинг: 0
#5: 2012-09-11 14:46:13 ЛС | профиль | цитата
nesco писал(а):
Если Вы этого не хотите делать

Уже делаю...

nesco писал(а):
представьте все, со всеми файлами


Здесь всё: http://depositfiles.com/files/h8uheqlh9



карма: 0

0
Ответов: 1536
Рейтинг: 176
#6: 2012-09-11 15:06:51 ЛС | профиль | цитата
vovvei писал(а):
depositfiles.com
А, может быть предложишь другой благородный хост?
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 37
Рейтинг: 0
#7: 2012-09-11 15:17:05 ЛС | профиль | цитата
ser_davkin писал(а):
А, может быть предложишь другой благородный хост?


Какой?
карма: 0

0
Ответов: 817
Рейтинг: 52
#8: 2012-09-11 15:55:44 ЛС | профиль | цитата
vovvei писал(а):
Какой?


карма: 1

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#9: 2012-09-11 16:00:20 ЛС | профиль | цитата
vovvei писал(а):
Но он выводит не строку, а номера ячеек. Слева на картинке вывод через ДДЕ в Эксель, а справа моя программа

Твои данныее находятся в потоке, но я без понятия, как их дешифрировать. Для проверки я поставил конвертор в текстовую ASCII кодировку, но там надо парсить эту строку как стрим, тк она не текстовая



Add(MainForm,10952570,133,119)
{
Left=20
Top=105
Width=313
Caption="DDE_Server"
Point(onClose)
link(onCreate,14007143:doStart,[])
}
Add(DDEServer,14007143,196,133)
{
ServiceName="A"
Point(onConnect)
Point(onExecute)
link(onPutItem,13251774:doConvert,[])
}
Add(ListBox,2398811,308,140)
{
Width=297
Height=262
Align=5
}
Add(StreamConvertor,13251774,245,140)
{
Mode=5
link(onResult,2398811:doAdd,[])
}

карма: 22

0
Ответов: 37
Рейтинг: 0
#10: 2012-09-11 16:48:57 ЛС | профиль | цитата
nesco писал(а):
Твои данныее находятся в потоке, но я без понятия, как их дешифрировать.


А может с этим вопросом обратиться к разработчикам? Если да, то помогите пожалуйста правильно составить вопрос, а то я в этом практически ничего не понимаю.
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#11: 2012-09-11 17:16:46 ЛС | профиль | цитата
vovvei писал(а):
А может с этим вопросом обратиться к разработчикам?

Да спроси просто -- где мне найти бинарный формат данных DDE обмена
карма: 22

0
Ответов: 37
Рейтинг: 0
#12: 2012-09-12 01:15:20 ЛС | профиль | цитата
nesco писал(а):
Да спроси просто


Уже спросил, жду ответа. Если у вас будет время взгляните пожалуйста на это: http://www.kamynin.ru/archives/1183 .Может там есть что то нужное.
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#13: 2012-09-12 01:41:13 ЛС | профиль | цитата
vovvei писал(а):
Если у вас будет время взгляните пожалуйста на это

Взглянул, да -- это оно самое. Вопрос -- что дальше
Я так понимаю, что мне будет предложено реализовать дешифратор обмена
Следующий вопрос -- а зачем мне это надо, он мне совершенно не нужен, а интереса делать его у меня никакого нет
карма: 22

0
Ответов: 37
Рейтинг: 0
#14: 2012-09-12 13:54:18 ЛС | профиль | цитата
nesco писал(а):
Я так понимаю, что мне будет предложено реализовать дешифратор обмена


Хотел вас попросить, но вы меня опередили

nesco писал(а):
... интереса делать его у меня никакого нет


А если серьёзно. Это сложная процедура?
карма: 0

0
Разработчик
Ответов: 26324
Рейтинг: 2148
#15: 2012-09-13 13:37:12 ЛС | профиль | цитата
vovvei писал(а):
Это сложная процедура?

Да, не совсем простая. Да даже если и сделаю, то что-то изменить или добавить, опять будете меня просить Вы же не разберетесь в схеме, пока не станете разбираться хоть чуть-чуть в HiAsm-e. Почему я никогда и не помогаю пользователям с ПО такого уровня, а тем более, не пишу за них готовые схемы с нуля
------------ Дoбавленo в 13.36:
Все же, мне стало интересно (принцип -- сильная штука), и я сделал парсер данных для сервера. Вот что получилось. Используется последнее обновление, кому надо ищите на форуме



Add(MainForm,10952570,84,175)
{
Left=20
Top=105
Width=749
Height=517
Caption="DDE_Server"
Point(onClose)
Point(Handle)
link(onCreate,10291496:doTimer,[(128,195)(128,181)])
link(onClose,14007143:doStop,[(192,202)(192,188)])
}
Add(DataToFile,14495791,469,217)
{
Type=1
link(onGet,14379969:doCase,[])
link(Stream,15529927:getVar,[])
}
Add(Case,11569472,616,217)
{
Value=Integer(16)
link(onNextCase,6397398:doCase,[])
link(onTrue,14121530:doGet,[(660,230)(660,321)])
}
Add(Case,6397398,672,217)
{
Value=Integer(2)
link(onTrue,8071141:doGet,[])
}
Add(LineBreakEx,14098918,392,252)
{
Caption="stream"
Type=3
link(_Data,7746977:Stream,[])
}
Add(LineBreakEx,15529927,469,175)
{
Caption="stream"
Type=2
}
Add(DataToFile,14121530,679,308)
{
Type=1
link(onGet,15344538:doGet,[])
link(Stream,7491998:Var2,[])
}
Add(LineBreakEx,13673542,679,259)
{
Caption="stream"
Type=2
}
Add(DataToFile,15344538,728,301)
{
Type=1
link(onGet,14980494:doEvent1,[])
link(Stream,12824159:Var2,[])
}
Add(GetDataEx,7491998,679,280)
{
link(Data,13673542:getVar,[])
}
Add(Hub,14980494,777,301)
{
link(onEvent1,11626017:doValue,[])
link(onEvent2,11834592:doGet,[(805,314)(805,384)])
}
Add(DataToFile,11834592,819,371)
{
Type=1
link(onGet,229979:doEvent1,[])
link(Stream,12824159:Var3,[(825,285)])
}
Add(GetDataEx,12824159,728,280)
{
Angle=3
link(Data,7491998:Var3,[])
}
Add(Hub,229979,861,371)
{
link(onEvent1,12083578:doValue,[])
link(onEvent2,2385231:doWork3,[(887,384)])
}
Add(HubEx,7056303,448,224)
{
link(onEvent,14495791:doGet,[])
}
Add(DataToFile,8071141,721,217)
{
Type=1
link(onGet,1802884:doEvent1,[])
link(Stream,7838324:Var2,[])
}
Add(LineBreakEx,13185934,721,175)
{
Caption="stream"
Type=2
}
Add(StreamCopy,324234,805,224)
{
link(onCopy,12982996:doConvert,[])
link(Dest,12179865:Var2,[])
link(Source,7838324:Var3,[(818,201)])
}
Add(GetDataEx,7838324,721,196)
{
link(Data,13185934:getVar,[])
}
Add(MemoryStream,10449288,805,147)
{
}
Add(Hub,1802884,763,217)
{
OutCount=3
link(onEvent1,10449288:doClear,[(791,223)(791,160)])
link(onEvent2,324234:doCopy,[])
link(onEvent3,8491390:doEvent1,[(791,237)(791,272)])
}
Add(StreamConvertor,12982996,854,224)
{
Mode=4
Symbol=";"
link(onResult,12034060:doDelete,[])
link(Data,12179865:Var3,[(860,194)])
}
Add(GetDataEx,12179865,805,189)
{
link(Data,10449288:Stream,[])
}
Add(StringTable,14604873,1092,189)
{
Width=733
Height=479
Align=5
Name="tab"
Point(doAddColumn)
Point(doEnsureVisible)
Point(EndIdx)
}
Add(Str_Enum,15964945,952,224)
{
link(onEnum,14604873:doAddColumn,[])
}
Add(Delete,12034060,903,224)
{
Count=1
link(onDelete,15964945:doEnum,[])
}
Add(Hub,14724656,420,224)
{
link(onEvent1,7056303:doWork2,[])
link(onEvent2,1043871:doWork1,[(453,237)])
}
Add(Case,10487080,532,560)
{
Value=Integer(2)
link(onNextCase,10099027:doCase,[])
link(onTrue,14071387:doGet,[(580,573)(580,755)])
}
Add(Case,10099027,595,560)
{
Value=Integer(1)
link(onTrue,10111362:doGet,[])
}
Add(DataToFile,8303819,483,560)
{
Type=1
link(onGet,10487080:doCase,[])
link(Stream,2003294:Var2,[])
}
Add(LineBreakEx,5070683,483,497)
{
Caption="stream"
Type=2
}
Add(DataToFile,10111362,644,560)
{
Type=1
link(onGet,5773767:doEvent1,[])
link(Stream,6527452:Var2,[])
}
Add(GetDataEx,2003294,483,525)
{
link(Data,5070683:getVar,[])
}
Add(StreamCopy,1747597,805,567)
{
link(onCopy,14658104:doValue,[])
link(Dest,4451241:Var2,[])
link(Source,6527452:Var3,[(818,530)])
}
Add(MemoryStream,7618382,805,490)
{
Point(doPosition)
Point(Position)
}
Add(Hub,5773767,693,560)
{
OutCount=5
link(onEvent1,7618382:doClear,[(729,566)(729,503)])
link(onEvent2,1747597:doCopy,[])
link(onEvent3,6558561:doData,[(738,580)(738,510)])
link(onEvent4,11464512:doRepeat,[(729,587)(729,629)])
link(onEvent5,7401283:doWork1,[(732,594)])
}
Add(GetDataEx,4451241,805,539)
{
link(Data,7618382:Stream,[])
}
Add(DataToFile,5363881,910,616)
{
Type=4
link(onGet,83506:doWork2,[])
link(Stream,4451241:Var3,[(916,544)])
}
Add(DoData,6558561,756,504)
{
Data=Integer(0)
link(onEventData,7618382:doPosition,[])
}
Add(GetDataEx,6527452,644,525)
{
Angle=3
link(Data,2003294:Var3,[])
}
Add(Memory,14658104,861,567)
{
Default=Integer(0)
}
Add(Repeat,11464512,854,623)
{
Check=1
link(onRepeat,5363881:doGet,[])
link(Op1,7618382:Position,[(860,554)(825,554)])
link(Op2,14658104:Value,[])
}
Add(Memory,12083578,910,371)
{
}
Add(LineBreakEx,6777345,910,420)
{
Caption="col"
Type=3
link(_Data,12083578:Value,[])
}
Add(StrCatDelim,5842841,1015,616)
{
Delimiter=";"
Point(doClear)
link(onStrCatDlm,3545040:doNext,[])
link(Str1,436278:Var1,[(1021,604)(1009,604)(1009,663)])
}
Add(Hub,1608275,434,434)
{
OutCount=4
link(onEvent1,7948194:doWork1,[(1214,440)])
link(onEvent2,5842841:doClear,[(999,447)(999,629)])
link(onEvent3,3545040:doReset,[(1058,454)(1058,629)])
link(onEvent4,8373157:doWork2,[])
}
Add(GetDataEx,436278,1015,658)
{
link(Data,5842841:Result,[])
}
Add(CounterEx,3545040,1071,616)
{
Point(doReset)
link(onNext,289994:doCompare,[])
}
Add(If_else,289994,1120,616)
{
Type=1
link(onTrue,7948194:doWork2,[])
link(onFalse,10613211:doTrim,[(1164,629)(1164,755)])
link(Op2,14783846:getVar,[])
}
Add(LineBreakEx,14783846,1127,574)
{
Caption="col"
Type=2
}
Add(DataToFile,14071387,595,742)
{
Type=1
link(onGet,8236052:doEvent1,[])
link(Stream,1978332:Var2,[])
}
Add(StreamCopy,5412522,742,749)
{
link(onCopy,7609485:doValue,[])
link(Dest,712644:Var2,[])
link(Source,1978332:Var3,[(755,705)])
}
Add(MemoryStream,15051832,742,665)
{
Point(doPosition)
Point(Position)
}
Add(Hub,8236052,644,742)
{
OutCount=5
link(onEvent1,15051832:doClear,[(670,748)(670,678)])
link(onEvent2,5412522:doCopy,[])
link(onEvent3,4082100:doData,[(676,762)(676,685)])
link(onEvent4,15434279:doRepeat,[(676,769)(676,797)])
link(onEvent5,7401283:doWork2,[(670,776)(670,832)])
}
Add(GetDataEx,712644,742,714)
{
link(Data,15051832:Stream,[])
}
Add(GetDataEx,1978332,595,700)
{
link(Data,6978594:getVar,[])
}
Add(StreamConvertor,7768887,952,791)
{
Mode=6
Symbol=";"
link(onResult,83506:doWork3,[(991,797)])
link(Data,10950653:Var3,[(958,775)])
}
Add(LineBreakEx,6978594,595,665)
{
Caption="stream"
Type=2
}
Add(HubEx,83506,987,616)
{
link(onEvent,5842841:doStrCatDlm,[])
}
Add(IndexToChanel,5800443,1267,826)
{
Point(Index)
link(onEvent1,8373157:doWork3,[(1312,832)(1312,461)])
link(Index,14221385:State,[])
}
Add(Switch,14221385,1267,735)
{
DataOn=Integer(1)
DataOff=Integer(0)
Point(State)
Point(doOn)
}
Add(Hub,16181717,1225,749)
{
link(onEvent1,14221385:doOn,[])
link(onEvent2,14604873:doAdd,[(1253,762)(1253,166)(1076,166)(1076,195)])
}
Add(HubEx,8373157,462,455)
{
Angle=1
link(onEvent,8303819:doGet,[(466,573)])
}
Add(Trim,10613211,1176,749)
{
Char=";"
Mode=1
link(onTrim,16181717:doEvent1,[])
link(Text,436278:Var3,[(1182,663)])
}
Add(HubEx,7401283,728,826)
{
link(onEvent,5800443:doEvent,[])
}
Add(DataToFile,15940277,833,784)
{
link(onGet,5642649:doEvent1,[])
link(Stream,9389080:Var2,[])
}
Add(Repeat,15434279,784,791)
{
Check=1
link(onRepeat,15940277:doGet,[])
link(Op1,15051832:Position,[(790,705)(762,705)])
link(Op2,7609485:Value,[])
}
Add(StreamCopy,11603401,910,791)
{
link(onCopy,7768887:doConvert,[])
link(Dest,10950653:Var2,[])
link(Source,9389080:Var3,[(923,719)])
}
Add(MemoryStream,15179574,910,665)
{
Point(doPosition)
Point(Position)
}
Add(GetDataEx,10950653,910,770)
{
link(Data,15179574:Stream,[])
}
Add(Hub,5642649,875,784)
{
link(onEvent1,15179574:doClear,[(900,790)(900,678)])
link(onEvent2,11603401:doCopy,[])
}
Add(Memory,7609485,791,749)
{
Default=Integer(0)
}
Add(GetDataEx,9389080,833,714)
{
Angle=3
link(Data,712644:Var3,[])
}
Add(HubEx,7948194,1210,616)
{
Angle=1
link(onEvent,14221385:doReset,[(1214,748)])
}
Add(DoData,4082100,686,679)
{
Data=Integer(0)
link(onEventData,15051832:doPosition,[])
}
Add(Memory,11626017,910,301)
{
}
Add(LineBreakEx,14642115,910,350)
{
Caption="row"
Type=3
link(_Data,11626017:Value,[])
}
Add(Application,243127,1022,301)
{
Wait=1
}
Add(DoData,7827442,1022,266)
{
link(onEventData,14604873:doEnsureVisible,[(1076,272)(1076,237)])
link(Data,14604873:EndIdx,[(1028,254)(1112,254)])
}
Add(For,14932255,329,434)
{
Start=1
link(onEvent,1608275:doEvent1,[])
link(onStop,4596104:In,[])
link(End,12616412:getVar,[])
}
Add(LineBreakEx,12616412,336,399)
{
Caption="row"
Type=2
}
Add(Hub,8491390,973,266)
{
InCount=2
OutCount=3
link(onEvent1,7827442:doData,[])
link(onEvent2,243127:doProcessMessages,[(1008,279)(1008,307)])
link(onEvent3,2385231:doWork2,[(999,286)(999,131)])
}
Add(LineBreak,14570468,903,273)
{
Caption="refresh"
link(Out,8491390:doEvent2,[])
Primary=[4596104,-525,168]
}
Add(Timer,10291496,147,175)
{
Interval=200
Enable=1
AutoStop=1
link(onTimer,14007143:doStart,[])
}
Add(Math,5861830,329,280)
{
OpType=1
Op2=2
ResultType=0
link(onResult,7175594:doWork3,[(376,286)])
link(Op1,7746977:Position,[(335,243)(412,243)])
}
Add(Case,14379969,518,217)
{
Value=Integer(1)
link(onNextCase,11569472:doCase,[])
link(onTrue,2732459:doEvent1,[])
}
Add(Hub,2732459,567,224)
{
link(onEvent1,5861830:doOperation,[(602,230)(602,330)(317,330)(317,286)])
link(onEvent2,1043871:doWork2,[(594,237)(594,346)])
}
Add(HubEx,2385231,883,125)
{
Angle=2
link(onEvent,7056303:doWork1,[(452,131)])
}
Add(HubEx,1043871,449,340)
{
Angle=2
link(onEvent,14932255:doFor,[(317,346)(317,440)])
}
Add(DDEServer,14007143,210,175)
{
ServiceName="A"
TopicList=#1:1|
Point(onConnect)
Point(onExecute)
link(onPutItem,7695910:doConvert,[])
}
Add(StreamConvertor,7695910,259,182)
{
Mode=7
link(onResult,4493308:doEvent1,[])
}
Add(MemoryStream,7746977,392,182)
{
Point(Position)
Point(doPosition)
}
Add(Hub,4493308,308,182)
{
OutCount=5
link(onEvent1,7746977:doCopy,[])
link(onEvent2,7175594:doWork2,[(348,195)(348,202)])
link(onEvent3,13416225:doActive,[(337,202)(337,165)(72,165)(72,251)])
link(onEvent5,14724656:doEvent1,[(337,216)(337,230)])
}
Add(HubEx,7175594,372,196)
{
link(onEvent,7746977:doPosition,[])
}
Add(WinTools,13416225,84,231)
{
link(Handle,10952570:Handle,[])
}

карма: 22

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