Keresés

Új hozzászólás Aktív témák

  • #10382336

    törölt tag

    Sziasztok!

    Az lenne a kérdésem, hogy hogyan lehet visual studio 2008 - al
    az LPT - re adatot küldeni.
    Ezt azért kérdezem, mert régebben készítettem egy borland
    pascal programot, amivel idővezérelten tudom változtatni
    az LPT kimenetét. Ezt a jelet elektronikusan feldolgozva
    különböző elektronikus eszközöket lehet az idő függvényében
    vezérelni Dos-ban.
    Ennek a programnak azonban Windows alatt csak a vizuális része
    működik. Tehát parancssori ablakban kijelzi, hogy az adatot
    elküldte az LPT - re, azonban a jel ott nem jelenik meg.

    Az eredeti borland pascal - ban írt assembly rész így néz ki:

    procedure egyesbe;assembler;asm
    mov dx,0378h;mov al,1;out dx,al;
    end;

    Ha valaki tudja, hogy ezt Visual Basic -ben ez hogyan nézne ki,
    Kérem írja meg.

    Előre is köszönöm!

  • #10382336

    törölt tag

    válasz martonx #1193 üzenetére

    Nem az mscorlib -re gondoltál, mert az mscommlib -et nem találom.

  • #10382336

    törölt tag

    válasz #10382336 #1195 üzenetére

    Nagy nehezen sikerült az "mscommlib" -et belevarázsolnom a
    referenciába. A folyamatát leírom, hátha valakinek szüksége lesz rá,
    természetesen nem profiknak.

    1: letölteni az "MSCOMM32.OCX" fájlt, például innen:
    [link]
    Természetesen máshonnan is letölthető.
    2: Az "MSCOMM32.OCX" fájlt át kell másolni a
    C:\WINDOWS\SYSTEM mappába. NEM a system32 -be !!!!
    3: Start menü futtatás parancsába beírni:
    Regsvr32.exe C:\WINDOWS\SYSTEM\MSCOMM32.OCX

  • #10382336

    törölt tag

    válasz #10382336 #1196 üzenetére

    Az LPT port programozására sikerült készítettem egy egyszerü kis
    példaprogramot VB.NET - re. A lefordított program 16.5 Kbyte. CPU - használata
    közel 0%.
    A program XP-n tökéletesen működik!
    Ha valaki kipróbálja VISTA-n megírhatná, hogy működik-e?
    Ha valaki egyszerűbb megoldást tud azt is megírhatja.

    A program készítésének lépései:

    1: "IO.DLL" letöltése. Pl. [innen]
    2: "IO.DLL" bemásolása a C:\WINDOWS\SYSTEM mappéba. (NEM a system32 -be!!!)
    3: Start menu futtatás parancsba beírni:
    Regsvr32.exe C:\WINDOWS\SYSTEM\io.dll
    Erre a parancsra a "REGSVR32.EXE" valószínűleg kiabálni fog,
    hogy a fájl betöltése sikerült, de regisztrálni nem lehet.
    Ezzel nem kell foglalkozni, "OK" oszt jó napot!

    4: "PARMON.EXE" letöltése. Pl. [innen]
    A program 446 Kbyte. CPU használata 50-80%.

    5: Most jöhet a VB.NET indítása.
    File menü - New project - Windowsapplication létrehozása

    6: Project menü - add class - "konzol.vb" osztály létrehozása.
    A konzol tartalma:

    Public Class Konzol
    Private Declare Sub PortOut Lib "io.dll" _
    (ByVal Port As Integer, ByVal Value As Byte)
    Private Declare Function PortIn Lib "io.dll" _
    (ByVal Port As Integer) As Byte
    Private esemeny As New System.Threading.AutoResetEvent(False)
    Private megszakitas As System.Threading.TimerCallback = _
    AddressOf végrehajtás
    Private idozito As System.Threading.Timer, szamlalo As Integer
    Sub adatki(ByRef adat As Byte)
    PortOut(888, adat)
    End Sub
    Function adatbe() As Byte
    adatbe = PortIn(888)
    End Function
    Sub start()
    szamlalo = 0
    idozito = _
    New System.Threading.Timer(megszakitas, esemeny, 0, 1000)
    End Sub
    Sub állj()
    idozito.Dispose()
    End Sub
    Sub végrehajtás(ByVal stateInfo As Object)
    Dim autoEvent As System.Threading.AutoResetEvent = _
    DirectCast(stateInfo, System.Threading.AutoResetEvent)
    adatki(szamlalo) : szamlalo += 1
    If szamlalo >= 256 Then szamlalo = 0
    End Sub
    End Class

    7: "Form1 [design]" fül aktiválása, majd Dupla katt a "Form" közepébe.
    A form1 így nézzen ki:

    Public Class Form1
    Private button1, button2 As New Button
    Private konz As New Konzol, konzinditvae As Boolean = False
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    With button1 : .Top = 10 : .Left = 10 : .Text = "INDÍTÁS"
    AddHandler .Click, AddressOf Indítás_Click
    End With
    With button2 : .Top = button1.Top : .Left = button1.Right + 5
    .Text = "Állj"
    AddHandler .Click, AddressOf Állj_Click
    End With
    With Me
    AddHandler .FormClosing, AddressOf Form1_FormClosing
    .Text = "LPT próba" : .Width = 185 : .Height = 75
    With .Controls
    .Add(button1) : .Add(button2)
    End With
    End With
    End Sub
    Private Sub Indítás_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    If konzinditvae Then Exit Sub
    konzinditvae = True : konz.start()
    End Sub
    Private Sub Állj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    If Not konzinditvae Then Exit Sub
    konz.állj() : konzinditvae = False
    End Sub
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)
    If konzinditvae Then konz.állj()
    RemoveHandler button1.Click, AddressOf Indítás_Click
    RemoveHandler button2.Click, AddressOf Állj_Click
    RemoveHandler Me.FormClosing, AddressOf Form1_FormClosing
    End Sub
    End Class

    8: Build menü - Build parancs
    9: "PARMON.EXE" indítása.
    A "PARMON.EXE" -ben a "connector" - t illik átállítani "MALE" - re.
    10: Lefordított program indítása.
    Az "INDÍTÁS" gombra kattitva a "PARMON.EXE" mutatja a munka eredményét.

    Ha valaki közvetlenül az LPT-n szeretne feszültséget mérni, annak sincs akadálya, csak arra
    figyeljen, hogy rövidzár ne keletkezzen!

    Ha az űrlapon létrehozunk egy "LABEL" - t, valamint egy új időzitőt kb. 0.3, 0.5 sec időzítéssel
    és az "adatbe" függvénnyel lekérdezzük a port értékét, akkor a "PARMON.EXE" használata
    feleslegessé válik.

    Jó programozást mindenkinek! :DD

  • #10382336

    törölt tag

    válasz martonx #1198 üzenetére

    Az elején írtam, hogy DOS-ban írtam már egy programot.
    Azt szeretném megvalósítani XP-n.
    A program 2 db 12 V-os szirénát vezérel.

    A következő változói vannak:
    Hálózatbekapcsolási idő
    Hálozatkikapcsolási idő
    Eggyes szünet
    Eggyes be idő
    Kettes szünet
    Kettes be idő
    Sorrend

    A program a következőt csinálja:
    A Hálozatkikapcsolási idő és a Hálózatbekapcsolási idő között az LPT kimenete 0.
    A Hálózatbekapcsolási idő és a Hálozatkikapcsolási idő között olyan astabil
    multivibrátorként működik amelynek állítható minden periódusideje.
    Tehát napközben jelenleg:
    180 mp szünet, majd
    13 mp-ig szól az 1-es sziréna, majd
    180 mp szünet, majd
    13 mp-ig szól a 2-es sziréna

    A LPT porthoz készítettem egy panelt, amely a porton lévő jeleknek megfelelően
    vezérli a megfelelő szirénát, vmint a hangerőket is tudom állítani.

    Jelenleg madárriasztóként használom, de megfelelő átalakítással bármilyen
    gép, berendezés vezérelhető lenne vele.

    Ha tudsz más egyszerübb és modernebb megoldást erre a feladatra, és ennek
    a lényegét leírod, azt köszönettel venném.

  • #10382336

    törölt tag

    válasz martonx #1201 üzenetére

    Én az USB programozásához semennyire nem értek, pedig
    jó lenne, mert USB-LPT átalakító is létezik. Így néz ki: [link]
    Mondjuk erre az előző kód biztos nem lenne megfelelő.
    A VB.NET programozást sem régen kezdtem el nézegetni, de
    ennek az alapjait legalább kezdem érteni. Csak az a baj, hogy az angol nem igazán az
    erősségem, viszont a legtöbb leírás angolul van. De azért nem adom fel.
    Vannak fordítóprogramok, lassabban megy, de mégis haladok.
    A másik probléma hogy elég sok mindenre van elképzelésem, de ugyanakkor egy rendszert is jó lenne felállítani. Az elképzeléseim többek között:

    - egy "Konzolszerű" főprogram kidolgozása, amelynek működés közben nem
    látszik az űrlapja, csak ha az óra melletti ikonjára rákattintok (ez a rész már kész van). Ebben a programban
    lenne egy hasonló időzitő, mint az LPT példában, amit hasonlóra tudnék használni,
    mint a windows feladatütemezője. -- Ezt majdnem hogy csak be kell másolni az LPT példából.

    - "txtedit", vagy hasonló nevű program, ami hasonlítana a jegyzettömbre, de annál többet tudna.
    Pl. a következő fájltípusokat tudná kezelni:
    szövegfájl
    szövegfájl karakterrel(pl. tabulátorral ) tagolt. Ezt képes lenne táblázatként kezelni.
    Microsoft Word dokumentum szövegrésze.
    Microsoft Excel munkalap(.xls) szövegrésze, a munkalap nevének megadása után
    Microsoft Access adatbázis egy táblája, a táblanév megadása után.
    Datagrid objektum bináris fájlban.
    Mindezen fájlok egyedileg kódolva, külön kódok nélkül, ill. külön olvasási és írási kóddal.
    Ennek egy kicsi része is megvan, de ez a kis része tökéletesen működik. De ezzel még nagyon sok
    munkám lesz, főleg a mentés másként paranccsal.

    - "Gridedit", vagy hasonló nevű program, amivel mint a nevéből is kitűnik datagrid nézetben lehetne
    szerkeszteni az előbb említett fájlokat. Annyival tudna többet a "txtedit" -nél, hogy
    az Excel -hez hasonlóan egyszerre több oldalt lehet szerkeszteni.
    Ez még gyerekcipőben jár, illetve darabokban megtalálható, mivel a lépéseit önmagában tudom kezelni,
    de ezeket egységes egésszé tenni nem kis munka lesz.

    - "Binedit" nevű program, ami evidens, hogy mit csinál.
    Na ehhez lövésem nincs, hogy hogy álljak neki. A fájlok bináris I/O műveletével ugyan semmi gondom nincs,
    azonban fogalmam sincs, hogy a kezelőfelületet hogy állítsam elő. Gondolkodtam "textbox"-on, de az
    iszonyatos munka lenne. String hosszának korlátozása, kurzorváltozásnál figyelni a kurzorpozicíót és hogyha
    szóközre mutat akkor eggyel odébbvinni, nem is beszélve arról, hogy két helyen van ugye kurzor, az egyik HEX, a
    másik ASCII formátumban. Alegjobb lenne valami olyan objektum, képes a bináris adatok szerkesztésére, de ilyent
    eddig sehol nem találtam. Illetve a "Regedit" programban van egy bináris szerkesztőfelület, de fogalmam nincs,
    hogy annak objektumához hogy tudok hozzáférni, ha egyáltalán ez lehetséges.

    - "Határidőellenőrző" nevű program, amely minden olyan fájlformátumot tudna forrásként kezelni, mint a "Txtedit".
    Az ellenőrző része már működik. Legnagyobb hiányossága a "txtedit" hiányosságából fakad. Ezt a programot egyébként
    időnként meghívhatja a "Konzolszerű" főprogram, hogy megvizgálja és kijelezze a lejárt- vagy ahhoz közelítő határidőket.

    - "Fdir" program, ami fájlokat listázna ki szövegfájlba a "txtedit"-ben használt fájltípusokat használva
    adat- és célfájlként. Az adatfájlban soronként meg lehetne adni az utvonalat,mappamaszkot,fájlmaszkot,almappákban keressen-e,
    mappákat keressen-e,fájlokat keressen-e.

    - "Rdir" program, ami a registry tartalmát listázná ki, az előzőhöz hasonló működési elven.

    - "Fcomp" ill. "Rcomp" az "Fdir" ill. "Rdir" programok célfájljainak összehasonlítására és kigyűjtésére egy célfájlba.

    - "Fájlfigyelő", ami elindítás után a megadott mappába gyűjtené ki figyelt mappákban levő változtatásokat.
    Ebből is egy rész megvan a filesystemwatcher osztály felhasználásával. Jobb lenne egyébként egy olyan objektum,
    amely lehetőséget adna arra is, hogy lehetséges legyen engedélyezni, vagy tiltani a műveletet. A filesystemwatcher
    objektumnak a hátránya még, hogy átnevezésnél csak az új nevet írja ki, azt hogy miről lett átnevezve, azt nem.
    Vagy csak én nem találom meg azokat a tulajdonságokat, vagy függvényeket amik ezeket visszaadják értékként.

    - "Binkereső" és "Txtkereső", amely bináris, ill. szövegfájlokban levő keresést tesz lehetővé.

    Hát a közeljövőben többek között ezeket szeretném megoldani. Ezek mellett azonban jó lenne a weboldal készítésének módjáról
    is valamit megtudni, mert erről elképzelésem sincs, hogy hogyan megy.

    Ez a terv. Kisebb-nagyobb részben ezek megvalósításának alapjai megvannak, csak nagyon sok idő kell(ene) hozzá.
    Más fontos, vagy kevésbé fontos részhez lövésem sincs, ezekhez majd a konkrét ügyben szeretném megkérdezni a fórumozókat.
    Az első ilyen nem életbevágó kérdésem az lenne, hogy (B)hogyan lehet .ico kiterjesztésű fájlt létrehozni/szerkeszteni.(/B)
    A kérdés azért nem életbevágó, mert a fentebb említett "Konzolszerű" főprogram enélkül is működik, de jobb lenne, ha
    az óra melletti ikont saját magam tudnám szerkeszteni. Ugyanis a programban van a következő sor:
    notifyIcon1.Icon = New Icon("konzolikon.ico")
    No ezt csak úgy tudom megcsinálni, hogy keresek egy .ico fájlt, átmásolom a mappába, majd átnevezem.
    Ha valaki tudja erre a megoldást, kérem írja meg.

    Köszi.

  • #10382336

    törölt tag

    válasz martonx #1203 üzenetére

    Köszi a tippet a .ico-hoz.
    Ha nagyon röviden össze szeretném foglalni, akkor a határidőellenőrző egy
    hasznos "kis" program. A lényege hogy egy adatfájlban fel lehet sorolni az
    ellenőrzendő fájlok listáját, amelyeket jelenleg a gép indításakor átellenőriz.
    és ha talál lejárt határidőt, akkor azokat kiírja egy fájlba, majd a shell
    funkcióval elindítja a szerkesztőt. Természetesen külön is elindítható.
    A program egy listafájlt használ, amelyben az ellenőrzendő fájlok felsorolása
    van. Ezeket a fájlokat egyenként beolvassa, és ellenőrzi a teljesítetlen
    határidőket. A listafájl pl. így néz ki:
    c:\aaa.txt
    c:\bbb\ccc.xls,5,munka1
    stb...

    Az adatfájloknak a következő oszlopokat kell tartalmaznia:
    Megnevezés Határidő Teljesítés

    Ezeken kívül még az ellenőrzésnél az "Időkülönbség" nevű oszlopot is
    figyelembe veszi, ha van. Ezenkívül bármennyi oszlopot tartalmazhat.
    Ha az adott sor teljesítés oszlopa üres és az aktuális dátum nagyobb
    vagy egyenlő a határidő-időkülönbség értékénél, akkor ezt a sort
    kiírandó határidőnek veszi, és a fájl nevét, valamint a sor adatait kiírja célfájlba.
    Az időkülönbség értékét alapesetben a progamkód határozza meg, tehát ha
    nincs ilyen oszlop, akkor ezt veszi figyelembe.

    A többi programmal egyik célom egy rendszermonitorozó programhoz
    hasonlító valami lenne, a másik pedig a windows keresőjét kiegészítő
    programcsoportot létrehozni, mert a windows keresőjével pl. a .vb fájlokban
    sem lehet például tudomásom sszerint szöveget keresni.

    A szerkesztőkre ezen különleges fájltípusok könnyeb szerkesztése miatt
    van szükség. Pl. a határidőellenőrzés listafájlának szerkesztéséhez tervem
    szerint beteszek egy olyan menüpontot, amely tallózás után "beteszi"
    a fájl nevét és egyéb jellemzőit az aktuális kurzorpozícióba. Ezért hiába van
    pl. a windows-nak notepad.exe-je készen, ilyeneket nem tudok vele
    megcsinálni.

    Bocs, hogy megint ilyen hosszúra sikeredett a válaszom, de ez olyan
    összetett témakör, hogy még egy programról is ennél többet kellene
    írnom, ha részletezném, nemhogy ennyiről.
    A txtedit pl. 57 Kbyte és a következő fájlokból áll.
    Fájladatbekérő.vb: osztály a megnyitás,mentés másként stb... párbeszédablakhoz
    Fájlbeolvasó.vb: modul a megnyitandó fájl beolvasásához tartalmazó rutinokat
    tartalmaz.
    Fájlio.vb: osztály a fájl adatainak tárolásához
    Fájlkiíró.vb: modul a fájlbeolvasó párja
    Form1.vb: osztály indításhoz
    Kódolás.vb: modul az egyedi kódoláshoz
    Rendszerváltozók.vb: modul a különböző mappák helyének lekérdezése és
    tárolása. Pl. windows mappa
    Txtedit: osztály a szerkesztő űrlapjának menüihez tartozó rutinok.

    Ezt még felsorolni sem egyszerű és még kész sincs teljesen!

    Esetleg nem tudsz olyan objektumot, amivel bináris adatot lehet kezelni,
    hasonlóképpen a Winhex programhoz, mert gondolom, annak objektumához
    nem olyan egyszerű hozzáférni, mint pl. az excel-hez.

    Köszi és még egyszer bocs a hosszú válaszért.

  • #10382336

    törölt tag

    válasz martonx #1205 üzenetére

    Ezek a megoldások valóban tökéletesek akkor ha valaki egy-egy
    alkalommal szeretne 1-2 lépéses feladatokat végrehajtani.

    A feladatok testreszabottan automatizálni csak programmal, vagy
    parancsállománnyal lehet. Pl. a Total commander tökéletes akkor,
    ha 1-2 útvonal tartalmát szeretné valaki kilistázni különböző fájlokba.
    Körülményesebb azonban ezt több alkalommal megcsinálni, és
    ezeket összehasonlítani.

    Bár az is igaz, ha tudja valaki az adott program parancssori paraméterezését,
    akkor elvileg egy .bat fájl is elegendő lehet, eleinte az időzítést is valmilyen
    parancssori paranccsal oldottam meg, aminek már nem is jut eszembe
    a neve, de ezt a parancsállományt is végső soron programból hoztam létre.
    Közben eszembe jutott a parancs neve "AT".

    Összefoglalva: automatizált feledatokat program nélkül nagyon nehéz megoldani.
    Arról nem is beszélve, hogy a gép bekapcsolásakor kapásból látom, hogy mikorra
    mit terveztem be anélkül, hogy bármihez is hozzányúlnék.

  • #10382336

    törölt tag

    válasz martonx #1207 üzenetére

    Azt hiszem, eddig elbeszéltünk egymás mellett amibe az is közrejátszott,
    hogy nagyon sok mindenről írtam egyszerre, és nem csak a leglényegesebb
    dolgot írtam le. A lényeg szárazon így nézne ki:

    Adott egy adatbázis amelyben határidőadatok vannak.

    Az én általam készítendő program arra való, hogy indításkor, valamint utána
    perecenként a háttérben leellenőrizze ezeket a határidőket
    , és ha talál
    végrehajtandó feladatot, akkor csak ezeket a rekordokat jelenítse meg.

    Talán így lehetett volna legtömörebben leírni a program fő feladatát.
    Én azonban belementem olyan részletekbe, hogy a program nem csak
    adatbázist tud kezelni, hanem .xls fájlt, karakterrel tagolt szövegfájlt
    stb... Ezt lehet hogy nem kellett volna. Bocs. :(((

    Legközelebb megpróbálok a lehető legtömörebben fogalmazni.

  • #10382336

    törölt tag

    Sziasztok!

    Egy olyan kérdésem lenne, hogyan lehet ".NET"-ben
    "*.HLP" fájlt létrehozni/szerkeszteni?

  • #10382336

    törölt tag

    válasz martonx #1317 üzenetére

    Köszönöm a gyors választ.

    Valószínűleg a .rtf / compiler-t választom, feltéve, hogy a compiler-ből
    egy free változatot be tudok szerezni.

  • #10382336

    törölt tag

    válasz martonx #1319 üzenetére

    Többek között [Ezt] találtam,
    remélem ingyenes és használható. Az viszont biztos, hogy keményen rá
    kell akadnom a program súgójára egy szótár segítségével. (Hiába, akinek az angol
    tudása hagy némi kívánnivalót maga után...)

    Köszi a segítséget!!! :R

  • #10382336

    törölt tag

    Sziasztok!

    2 egymással összefüggő kérdésem lenne:

    1: Lehetséges-e az "Excel" "Weblekérdezés" parancsát végrehajtó eljárást vagy függvényt írni csak .net -ben úgy, hogy az "Excel" nincs telepítve?

    2: Ha igen, akkor ezt milyen objektumba / fájlba a legegyszerűbb ("datagrid"/szövegfájl???), és hogyan? (erről elképzelésem sincs).

    A konkrét weblekérdezés jelen esetben:
    Workbooks(Xlsnev).Sheets("Szeged").QueryTables.Add(Connection:= _
    "URL;http://elvira.mavinformatika.hu/elvira.dll/AF?a=szeged" _
    , Destination:=Workbooks(Xlsnev).Sheets("Szeged").Range("A1"))

    Természetesen az "Excel" telepítve van, de a kérdésben azért ilyen sarkosan fogalmaztam, mert a feladatot csak .net -el szeretném megoldani.

  • #10382336

    törölt tag

    válasz martonx #1325 üzenetére

    Amikor azt írod, hogy COM-on keresztül, akkor pontosan mire gondolsz? Én ezt úgy oldom meg, hogy:

    dim Xls as new Object
    Xls = CreateObject("Excel.application")

    Ez lenne az a bizonyos COM?

  • #10382336

    törölt tag

    válasz martonx #1327 üzenetére

    No ezt a COM-ot szeretném kihagyni. Tulajdonképpen ha a böngészőkből kiadom a
    Internet explorer esetén a Fájl - Mentés másként...
    Firefox esetén a Fájl - Oldal mentése
    parancsot, és szövegfájlként mentem, majdnem ugyanazt az eredményt érem el, azzal a külnbséggel, hogy így a weboldal nem csak a táblázatot adja vissza (mint az excel -nél), hanem az egész oldalt.

    Ezért érdekelne, hogy .NET-ből hogyan lehet ezt megcsinálni.
    Erre a httpwebclient alkalmas?

  • #10382336

    törölt tag

    válasz martonx #1329 üzenetére

    A httpwebrequest, httpwebclient - el pár napja kísérletezgettem weboldalon lévő fájlok letöltése kapcsán, de ezzel én csak .html fájlt tudtam létrhozni, amire rákattintva megnyilt az alapértelmezett böngésző(firefox), ami a letöltendő fájlra mutatott és feldobta a mentés másként ablakot, amivel le tudtam tölteni.
    Mivel azonban ehhez kattintgatni is kell, és én közvetlenül .net -ből akartam letölteni, ezért a httpwebrequest,httpwebclient -el való kísérletezést végül abbahagytam.
    A webclient-el egyszer a Form-ra is sikerült rávarázsolnom egy bizonyos weboldalt.
    Akkor végül is az egyszerű My.Computer.Network.DownloadFile() eljárás oldotta meg a problémámat.
    Ezek szerint ismét vissza kell térnem ezekhez az objektumokhoz és tovább kísérletezgetni velük.

    köszi a javaslatokat.

  • #10382336

    törölt tag

    válasz #10382336 #1330 üzenetére

    A következőképpen sikerült megoldani:

    1: A táblázatot tartalmazó .html fájl letöltése a helyi gépre:
    My.Computer.Network.DownloadFile(forrashtml, celfajl, felhasznalonev, jelszo, False, 10000000, True)

    2: A letöltött fájl beolvasása egy stringbe:
    Dim s0 As String = Join(System.IO.File.ReadAllLines(celfajl, System.Text.Encoding.Default), "")

    3: A stringből a tabulátor - chr(9) - karakterek kitörlése.

    4: A string átalakítása úgy, hogy egy sor vagy egy tag-ot, vagy egy szövegsort tartalmazzon.
    Ezek után egy sor vagy így néz ki: "<tagnév tagtulajdonságok>"+vbcrlf ,
    vagy így: "szöveg"+vbcrlf
    így el lehet dönteni, hogy egy sor mit tartalmaz, ha a sor első karaktere "<" akkor tag,
    egyébként szöveg.

    5: Ezek után "csak" fel kell dolgozni a sorokat a táblázat parancsai szerint:
    <table> </table> - új táblázat, ill. táblázat vége
    <tr> </tr> - következő sor, sor vége
    <th> </th> - aktuális sor köv. oszlopának fejlécének kezdete/vége
    <td> </td> - akt. sor köv. oszlopának eleme.
    Minden más tag figyelmen kívűl hagyandó. A <th> tag-nál azonban még arra figyelni
    kell, hogy <th colspan="2"> az adott sorban két cella egyesítését jelenti.

    A próba során célobjektumnak "datagrid" -et használtam, amit "datagridview" -el
    írattam ki a "form" -ra. Összehasonlítva az eredeti weboldallal az adatok megegyeztek.

    Ez a megoldás valószínűleg nem a legegyszerűbb, azonban működik.
    Ha valakinek van egyszerűbb megoldása, nem sértődnék meg, ha leírná.

    KELLEMES ÜNNEPEKET MINDENKINEK!!!

Új hozzászólás Aktív témák