VB6 bináris fájl küldése soros portra

VB6 bináris fájl küldése soros portra
2022-11-16T17:11:49+01:00
2022-11-20T16:13:33+01:00
2022-11-28T17:42:06+01:00
milesjanos
Sziasztok!

VB6-ban processzorba szeretnék betölteni programot soros porton keresztül. (.HEX vagy BIN )

Abban kérnék segítséget, hogyan tudom ezt megtenni, csak a VB része érdekelne, tehát fájl küldése soros porton.

MScomm megnyitás, baudrate stb.... nincs gondom, csak a fájl megnyitással és a küldéssel.

Köszönöm!

J.
Mutasd a teljes hozzászólást!
Még valami:

Ha a ciklusmagon belül hívod meg a portra író függvényt, akkor a doevents is kellhet. A VB képes felfüggeszteni a másik eseményeket a cikluson belül, meg kell kérni, hogy csináljon más eseményt is. Nem árt bele 2-3 plusz sor a ciklusmagon belül.

Csak azért írom le, mert ilyen hibákba bele lehet esni, de ezzel könnyen ki lehet kerülni. 

Persze vannak ennél jobb megoldások is, de teszteléskor mindenképpen legyen benne.
Mutasd a teljes hozzászólást!

  • Szia!

    Mekkora a fájl? Csak mert ha kicsi, akkor egy byte tömbbe be tudod olvasni, majd azt küldeni a porton. Ha nagy, akkor is megteheted, hogy byte-ról byte-ra kiolvasod és küldöd.

    Nincs VB6-om, régen volt, de nem nehéz beolvasni. Openfile as Binary, vagy ehhez hasonló lesz, van sok találat erre.

    http://www.vb-helper.com/howto_read_write_binary_file.html

    Ha byte-onként akarod kiolvasni, akkor kell egy Do while ciklus EOF (End of File) feltétellel.

    dim InputFilename as string dim FileIndex as integer dim adat as byte adat=0 InputFilename="C:\valami.HEX" FileIndex = FreeFile Open InputFileName For Binary Access Read As FileIndex Do while not EOF(FileIndex) Get FileIndex, , adat 'Itt meg lehet oldani, hogy hányadik byte-tól kezdve olvassa be, de így az elejétől kezdi 'Ide kell majd, hogy meghívja azt a függvényt, ami elküldi sorosportra és várjon addig, míg el nem küldte. loop Close FileIndex
    A fenti kódhoz hasonlót kell írnod, de ha az egész fájlt kiolvasod a fenti linkekben bemutatott módon, akkor lehet könnyebb lesz.
    LEHET hogy nem jó, mert 14 éve nem láttam VB6-ot, e ehhez ign hasonló kell majd.
    Mutasd a teljes hozzászólást!
  • De miért kell a vb6? Szerintem VBS script-el is meg lehet oldani, azt meg futtatja még a win 10 is, illetve excel VBA is jó erre a feladatra. A VB6 nem tudom mennyibe kerül ha még lehet kapni egyáltlán.
    Mutasd a teljes hozzászólást!
  • Köszönöm a segítségedet.
    Holnap jobban belenézek az ajánlott "irodalomba". Remélem meg tudom csinálni. Az elv, amit írtál, így tiszta.
    Azért VB6, mert abban van meg a forrás, és bele kellene illesztenem ezt a soros átvitelt.
    Mutasd a teljes hozzászólást!
  • Még valami:

    Ha a ciklusmagon belül hívod meg a portra író függvényt, akkor a doevents is kellhet. A VB képes felfüggeszteni a másik eseményeket a cikluson belül, meg kell kérni, hogy csináljon más eseményt is. Nem árt bele 2-3 plusz sor a ciklusmagon belül.

    Csak azért írom le, mert ilyen hibákba bele lehet esni, de ezzel könnyen ki lehet kerülni. 

    Persze vannak ennél jobb megoldások is, de teszteléskor mindenképpen legyen benne.
    Mutasd a teljes hozzászólást!
  • Köszönom a segítségedet!
    Az első válaszod már elég volt, de véletlenül a 3.-ra küldtem az 50 pontot.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd