Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: MSComm1_OnComm()

Filerator [20.07.2009 21:20:32]

#

Terve,

Vastaanotan binääridataa ja kaikki pelaa OK, mutta kuinka saan sovelluksen ymmärtämään että lähetys on loppu ja datan voi tallentaa.

comEvEOF ei käy koska lähetyksessä ei tule Chr$(26) EOF-merkkiä.

Olen kokeillut timer-virityksiä, mutta huonolla menestyksellä. Kertokaahan mitä pitää tehdä?

Metabolix [20.07.2009 22:10:46]

#

Pitää lähettää datan alussa tieto, kuinka pitkä data on tulossa.

Grez [20.07.2009 23:30:24]

#

Jospa kertoisit, mistä vastaanottava osapuoli voi tietää että datan lähetys on päättynyt, niin voitaisiin sitten kertoa miten sen sovelluksen saa sen ymmärtämään.

Jos datan loppumista ei voi tietää millään keinolla, vaan sovelluksen pitäisi vaan "ymmärtää" se, niin saman tien voisi tehdä sovelluksen joka "ymmärtää" ensi viikon lottonumerot.

Filerator [21.07.2009 09:05:29]

#

Dataa lähettävältä koneelta ei saa tietoa datan pituudesta.

Eli kun merkkien tulo on loppunut, niin datan tallennus. Ilmeisesti MSComm1.InBufferCount avulla, mutta kuinka?
Olis ne lottonumerotkin hyvä tietää.

Grez [21.07.2009 15:49:13]

#

Toimisiko joku sellainen, että kun sekuntiin ei ole tullut dataa, niin tallennetaan? (Oikeesti sun pitäis kertoa mitä haluat tehdä, mutta tuossa nyt on yksi ehdotus)

Filerator [21.07.2009 17:48:45]

#

OK,niin se onnistuu, tosin hieman epäluotettava, jos sen sekunnin aikana alkaa puskea dataa uudestaan.
Laitoin sovellukseen niin että käyttäjän tulee antaa lopetus ascii, jota lähettävä kone käyttää. Tämän saavuttua tallennus.
Laitan tuon sekunnin viiveen, mikäli käyttäjä jättää lopetuksen tyhjäksi.
Kiitos neuvosta.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta