Anonymní profil David – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil David – Programujte.comAnonymní profil David – Programujte.com

 

Příspěvky odeslané z IP adresy 91.127.235.–

David
Delphi › Convert hex '0x00' to string…
23. 10. 2012   #165167

#1 David
Ahojte, tak som sa konečne dostal ak môjmu "vývoju".

Po poslednej rade a vynechaní druhého editu je všetko OK a už mi to posiela aj hex 0x00.

Veľmi pekne ďakujem. :)

BTW: Použil som zápis zo stringu.

David
Delphi › Convert hex '0x00' to string…
22. 10. 2012   #165133

#4 zlz
Ďakujem, zajtra vyskúšam.

Kiež by si mal pravdu a vadil by len ten edit v ktorom sa znaky zobrazujú /prekonvertované/ v ASCII.

Ano, data pre Com beriem z edit_data. A Edit1 som vytvoril na zápis znakov v hex formáte.

Po zapísaní znaku sa to prekonvertovalo na edit_data a odtiaľ sa odoslali na COM port.

Skúsim ho vynechať a rovno s edit1 - kde znaky píšem v hex formáte prekonvertujem na string a rovno na COM.

Výsledky oznámim :)

David
Delphi › Convert hex '0x00' to string…
22. 10. 2012   #165121

#2 Ralip
To je možné.

Len neviem ako teda poslať do stringu 0x00 aby to ako koniec nebralo :(
Jednoducho potrebujem na com port dostať to čo napíšem do labelu.
Keď napíšem 0x00 /$00, #00/ to je jedno ako, potrebujem to dostať von na com port ako 0x00.

David
Delphi › Convert hex '0x00' to string…
22. 10. 2012   #165111

Zdravím borcov.

Pustil som sa do programovania v Delphi. S celou problematikou sa len oboznamujem preto ma prosím berte s rezervou. :)

Snažím sa urobiť vlastnú aplikáciu, ktorá komunikuje s mojim výtvorom cez RS232.

V Delphi som si nainštaloval knižnicu ComPort by Dejan Crnila a na začiatok som použil príklad s názvom ComExample.

Podľa toho som si vytvoril vlastný projekt. No mám problém prekonvertovať hex"0x00" do string. Všetky ostatné znaky nie je problém. hex 00 jednoducho ignoruje.

Na konverziu som použil:
Edit_Data.text:= '';
  for a := 1 to length (Edit1.Text) div 3 do
   Edit_Data.text:= Edit_Data.text+Char(StrToInt('$'+Copy(Edit1.Text,(a-1)*3+1,2)));

Funguje tak, že keď do Edit1 zadám "45 + medzera" v Edit_Data mi vypíše E.
A to viem odoslať ako string na com port a môj výtvor príjme hex. 0x45.
Lenže ja potrebujem posielať aj hex 00. A to neviem. Neviete mi poradiť?

Ďakujem.

David

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý