Autor Téma: COM port do delphi XE3  (Přečteno 8237 krát)

Hugo

  • Host
Re:COM port do delphi XE3
« Odpověď #15 kdy: 10-12-2013, 09:51:56 »
To:  Daniel_Andrascik: Díky moc za info a radu
To: pf1957 : -) díky za vzpomínku jo jo to byla doba http://www.techhelpmanual.com/206-int_14h__serial_port_i_o.html

Offline Sender

  • Plnoletý
  • ***
  • Příspěvků: 184
  • Karma: 5
    • Verze Delphi: Delphi 7 Prof.
Re:COM port do delphi XE3
« Odpověď #16 kdy: 10-12-2013, 15:28:58 »
http://www.techhelpmanual.com/206-int_14h__serial_port_i_o.html
Tento web mi trošku připoměl program Sysman -možná někteří znáte z dávných dob.

Offline Mi.Chal.

  • Guru
  • *****
  • Příspěvků: 576
  • Karma: 25
Re:COM port do delphi XE3
« Odpověď #17 kdy: 10-12-2013, 17:38:42 »
Tento web mi trošku připoměl program Sysman -možná někteří znáte z dávných dob.

Znám, ale lepší mi přišel ATHelp (který z něj některé informace čerpal). Na sysman mě dostávaly některé překlady, třeba vlajky (ve smyslu flags) jsem tam viděl snad poprvé a naposledy. To se většinou nepřekládá vůbec nebo bych použil třeba "příznak".

Offline jarex

  • Plnoletý
  • ***
  • Příspěvků: 225
  • Karma: 5
Re:COM port do delphi XE3
« Odpověď #18 kdy: 10-12-2013, 20:02:42 »
Zpátky k tématu. Stává se dosti často, že potřebuji opravdu na portu jen naslouchat, tedy nic tam neposílat a na základě toho něco přijmout. Také to řeším neustálou smyčkou v samostatném vlákně, jak mi zde již takto bylo porazeno. Jinak to opravdu asi nejde. I když by nebylo od věci mít na to událost již v knihovně. Ale to už je jen opravdu detail. Synaser je jinak úžasná knihovna a velmi dobře se s ní pracuje.
D2007 Professional

Offline Daniel_Andrascik

  • Guru
  • *****
  • Příspěvků: 503
  • Karma: 20
    • Verze Delphi: D2007, D10.4
Re:COM port do delphi XE3
« Odpověď #19 kdy: 10-12-2013, 21:37:33 »
Prave v tom je syla Synaseru a synapse - priamocarost a priehladnost. Ano clovek si musi napisat vlastne vlakno a osetrovat si slucky sam. Mnoho pseudo programatorov na takyto pristup moze nadavat ale nelenivy programatori, ktory maju radi vsetko pod kontrolou si taky pristup nevedia vynachvalit. Proste ucelom Synaseru a Synapse je zpristupnit winsock funkcie a rozne dalsie "menej zrozumitelne" api funkcie pre delphi aplikacnych programatorov a robi to jednoducho, priamo a priehladne.

Kniznice tohto typu sa proste robia asi v niekolkych urovniach.
1. programovanie priamo na hardvery - v podstate ovladace a pod
2. api funkcie operacneho systemu a systemovych dll
3. zaobalenie api funkcii do OOP (niekde tu je nas oblubeny synaser a synapse)
4. luxusny framework, vcl komponenty, udalosti atd atd...

O prvej urovni sa bavit nemusime, tu delphi nefunguje.

Druha uroven ako uz napisal pf1957 je fajn pre primarne komunikacny softy, treba si ale slusne zamakat, osetrovat vsetky stavy, nastavovat vsetky flagy, reagovat na vsetky mozne navratove kody, prisposobovat vykonavanie kodu niekedy pre kazdu verziu windowsu a pre kazdu verziu delphi osobitne. Toto vsetko za nas robi Lukas vo svojej Synapsi/Synaseru tak ze to zaobali do jednoduchych, priamocarych a ucelnych tried.

No a potom su tu tie VCL komponenty a pripadne rozne dalsie frameworky pre pohodlnych programatorov. Hodit komponentu na formular, naklikat tam nejake properties a vytvorit udalost a mozme pisat. Ano mozme. Az dokial nepotrebujeme riesit nieco zapeklitejsie, nieco specialnejsie, pripadne zistime ze dana komponenta nie je moc kvalitna a ma svoje muchy, potom sa nam velmi lahko moze stat ze nas ta nasa pohodlnost dobehne a budeme musiet kuzlit, pripadne upravovat vnutro vcl komponenty a tancovat lambadu v kode aby nam to dajak fungovalo. Ked s tym spoteny skoncime, zistime ze napriek tomu ze nam to funguje, tak z casu na cas nam tam nieco zblbne az sa nastveme, vymazeme to a napiseme to pomocou tych Lukasovych tried rychlo prehladne a spolahlivo.

Nic proti kvalitnym frameworkom a komponentam, ale tych je ako safranu a clovek nevie co to vlastne na pozadi robi. Tretia uroven je podla mna najidealnejsi kompromis medzi pracnostou, zaobalenostou low level api, prehladnostou a vladou nad kodom. Kiez by takto koncipovane projekty boli robene ku vsetkemu, ku komunikaciam, ku databazam, ku grafike atd atd...

Offline TLama

  • Guru
  • *****
  • Příspěvků: 597
  • Karma: 31
    • Verze Delphi: 7, 2009, XE3
Re:COM port do delphi XE3
« Odpověď #20 kdy: 10-12-2013, 22:31:50 »
No a potom su tu tie VCL komponenty a pripadne rozne dalsie frameworky pre pohodlnych programatorov. Hodit komponentu na formular, naklikat tam nejake properties a vytvorit udalost a mozme pisat. Ano mozme. Az dokial nepotrebujeme riesit nieco zapeklitejsie, nieco specialnejsie, pripadne zistime ze dana komponenta nie je moc kvalitna a ma svoje muchy, potom sa nam velmi lahko moze stat ze nas ta nasa pohodlnost dobehne a budeme musiet kuzlit, pripadne upravovat vnutro vcl komponenty a tancovat lambadu v kode aby nam to dajak fungovalo. Ked s tym spoteny skoncime, zistime ze napriek tomu ze nam to funguje, tak z casu na cas nam tam nieco zblbne az sa nastveme, vymazeme to a napiseme to pomocou tych Lukasovych tried rychlo prehladne a spolahlivo.

Nevím co konkrétně máš na mysli, ale u síťových protokolů si opravdu nechci psát vlastní vrstvy a být hrdý na to,
že jsem je napsal (mimo to, že bych strávil několik desítek hodin studováním RFC specifikací). Nic proti Synapsi, ale
jsou zkrátka situace, kdy je výhodnější sáhnout po hotovém řešení implementujícím all-in-one.

Jeden příklad takového kutilství, snad každý méně kvalitní programátor, kutil a bastlíř v jedné osobě si sám napíše
funkci na hashování do MD5 a pak se jak dement diví, proč mu vrací jiné výsledky než mu ukazuje online hashovač
jeho indického kolegy psaný v PHPčku. A proč, zní otázka... Odpověď je jednoduchá. Protože ji sám psát nemusel.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:COM port do delphi XE3
« Odpověď #21 kdy: 11-12-2013, 08:58:35 »
že jsem je napsal (mimo to, že bych strávil několik desítek hodin studováním RFC specifikací).
Nic proti Synapsi, ale jsou zkrátka situace, kdy je výhodnější sáhnout po hotovém řešení implementujícím all-in-one.
My kdysi meli vlastni komunikacni knihovny na asynchronnim principu primo nad winsockem, ale jakmile dal Lukas dohromady Synapsi, tak jsme je postupne opustili a presli na Synapsi, prave abychom nemuseli neustale sledovat novinky v oblasti RFC a knihovny upravovat. Synapse se dala profesionalne nasazovat  v podstate hned, jak ji Lukas uverejnil, narozdil od toho zblitku INDY, ktery potreboval 10+ let, aby mu zacala spravne fungovat cestina a ve kterem byl jeste nedavno kod, ze ktereho je mi spatne vzdycky, kdyz si na nej vzpomenu :-( Nehlede na to, ze v dobe, kdy jsme potrebovali komunikovat, tak existovaly akorat nejake komonenty od Pietteho (nebo jak se jmenoval).

Takze ja o zadnem pouzitelnem reseni all-in-one nevim.

Offline TLama

  • Guru
  • *****
  • Příspěvků: 597
  • Karma: 31
    • Verze Delphi: 7, 2009, XE3
Re:COM port do delphi XE3
« Odpověď #22 kdy: 11-12-2013, 09:55:06 »
že jsem je napsal (mimo to, že bych strávil několik desítek hodin studováním RFC specifikací).
Nic proti Synapsi, ale jsou zkrátka situace, kdy je výhodnější sáhnout po hotovém řešení implementujícím all-in-one.
My kdysi meli vlastni komunikacni knihovny na asynchronnim principu primo nad winsockem, ale jakmile dal Lukas dohromady Synapsi, tak jsme je postupne opustili a presli na Synapsi, prave abychom nemuseli neustale sledovat novinky v oblasti RFC a knihovny upravovat. Synapse se dala profesionalne nasazovat  v podstate hned, jak ji Lukas uverejnil, narozdil od toho zblitku INDY, ktery potreboval 10+ let, aby mu zacala spravne fungovat cestina a ve kterem byl jeste nedavno kod, ze ktereho je mi spatne vzdycky, kdyz si na nej vzpomenu :-( Nehlede na to, ze v dobe, kdy jsme potrebovali komunikovat, tak existovaly akorat nejake komonenty od Pietteho (nebo jak se jmenoval).

Takze ja o zadnem pouzitelnem reseni all-in-one nevim.

Měl jsem na mysli exotičtější protokoly, které Synapse nezná... Kdybych nějaký takový potřeboval použít, pochybuju že bych měl
čas a hlavně chuť se trápit nad studiem a implementací.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3343
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:COM port do delphi XE3
« Odpověď #23 kdy: 11-12-2013, 10:05:35 »
Měl jsem na mysli exotičtější protokoly, které Synapse nezná...
Kdybych nějaký takový potřeboval použít, pochybuju že bych měl
čas a hlavně chuť se trápit nad studiem a implementací.
V tom mas pravdu, ale reseni je IMHO jenom jedno: opustit male piskoviste poloamaterskeho sveta Delphi a vydat se do sveta profesionalniho IT, kde takova reseni existuji :-D.
Kdykoliv jsme potrebovali cokoliv ze sveta enterprise, at uz OpenSSL, OpenPGP, SSH, SOAP a zkratka temer cokoli, na co si vzpomenes, tak to v Delphi nebylo nebo jen nejaka utrzkovita reseni. Sice ten Delphi uz moc nesleduju, ale mam z nej pocit, ze soucasna komunita zije spis problemy typu "jak mam napsat aplikaci typu "Hello world!" pro iOS & spol., aby mi to fungovalo ;-)