Új hozzászólás Aktív témák
-
martonx
veterán
válasz #10382336 #1192 üzenetére
Szia!
Nem tudom mennyire megy a VB.Net programozás. A programodhoz hozzá kell adnod az MSCommLib refernciát.
Amikor ez megvan: Dim MSComm1 As MSComm -al létrehozod az MSComm1 objektumot, ami az LPT-dnek fog megfelelni.
Innentől kezdve azt csinálsz vele, amit akarsz.
Én kérek elnézést!
-
#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ása6: 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 Class7: "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 Class8: 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!
-
martonx
veterán
válasz #10382336 #1197 üzenetére
Ez szép, meg jó, de mit csinálsz az LPT-vel? Nekem az új gépemen már nincs is LPT port.
Előre bocsátom az alábbi sorokat viccnek szánom, nem sértésnek:
Azért biztos hasznos, és jó a programod, ha valaki a nagypapa padlásán talált elektronikai eszközöket akarja, az évekkel ezelőtt a szüleinek adományozott ősrégi, LPT portos gépvel programozniRespekt!
Én kérek elnézést!
-
martonx
veterán
válasz #10382336 #1199 üzenetére
Madár riasztó! Erre nem gondoltam volna. Komolyan kíváncsi voltam, hogy mit csinálsz. Jó tudni.
Mondjuk én nem állnék neki ilyet barkácsolni, hanem vennék egy időzítős konnektort, vagy hogy is hívják pontosan. A medence vízforgatását, meg a karácsonyi világítást ilyennel oldottam meg.
De te biztos szeretsz elektronikát szerelni, én meg tisztelem a tudásod.
Egyébként én USB portos eszközöket szoktam programozni, és mivel manapság mindenhez van usb port, ezért nem tudtam elképzelni, hogy a párhuzamos portot mihez használod. De ha magadnak építetted össze, akkor érthető.
Jelenleg másodállásban Malájziában fejlesztett, gyártott usb-s eszközökhöz írok UI-t, igaz azt nem VB.Net-ben hanem C#-ban, bár egyszer lehet portolom VB-re (a kedvenc program nyelvemre).
Én kérek elnézést!
-
martonx
veterán
válasz #10382336 #1202 üzenetére
.ico-t szerkeszteni célprogramokkal tudsz. Googli kidob neked többet is, van köztük ingyenes is. Ha jól értem csinálni szeretnél egy saját ikon-t, és azt használni a programodban?
Ahogy néztem az általad leírtak mindegyike megoldható, ráadásul viszonylag könnyen, de a sok apró dolog együtt nagyon nagy munkának tűnik. Viszont egy dolgot nem írtál le. Mire akarod ezt a programot használni? Lehet lenne sokkal egyszerűbb módja is egy adott feladat megvalósításának, mintsem egy új operációs rendszer elkészítése.
Én kérek elnézést!
-
martonx
veterán
válasz #10382336 #1204 üzenetére
Francba, egy hosszú válasz közepén tartottam, mikor összeomlott a Firefoxom...
Akkor már csak röviden:
1. Ha jól értem egy feladatkezelő programot szeretnél, határidőkkel, lekérdezésekkel. Ehhez nem kellenek mindenféle file-ok, modulok, saját texteditorok, hanem egy sima adatbázis alkalmazás. Varázslókkal pár perc alatt összekattintható, még programozási tudás se nagyon kell hozzá.
2. Windows kereső kiegészítése: erre ezeregy program létezik pl. google toolbar. Vagy ott van a total commander baromi jó file keresője, ami a fileokon belül is keres. Vagy még jobbat mondok. Szimpla windows shell parancs a findstr. Ha mindenképpen programozni akarsz akkor írj a findstr köré egy kis alkalmazást, de hangsúlyozom felesleges.
3. bináris adatot a streamwriter, streamreader tud kezelni. Csak bináris módba kell őket kapcsolni. Miért kell neked bináris adat?
4. Lehet félreértettelek. Ez történik akkor, ha valaki nem 1-2 mondatban lényegre törően válaszol.
Én kérek elnézést!
-
martonx
veterán
válasz #10382336 #1206 üzenetére
Az összefoglalva rész segített
Javaslom adatbázist használj. Eltárolod benne a futtatandó program útvonalát, indítás idejét. Egy timer meg percenként megnézi, hogy mit kell indítani.
Ahhoz képest amit leírtál pár varázslós kattintással meg lehet oldani. Plusz egy pár sor, ami kezeli a timert, meg indítja az útvonalon megadott programot.Én kérek elnézést!
-
-
martonx
veterán
válasz #10382336 #1316 üzenetére
A *.hlp fájlok rtf-ből álló lapok halmaza. Így ha megcsinálod az rtf-eidet, akkor ezekből egy compilerrel tudsz *.hlp fájlt generálni.
Meglévő *.hlp-t szerkeszteni nem fogsz tudni, hacsak nincs meg a forrásod, amiből generálódott a .hlp.Ha pedig egy meglévő projektedhez akarsz automatikusan help-et generálni, akkor használd a Sandcastle-t (sose használtam, csak sokat hallottam róla), és az elvártnak megfelelően kommentezd a kódodat.
Én kérek elnézést!
-
martonx
veterán
válasz #10382336 #1324 üzenetére
1. Nem.
2. Ha mégis telepítve van, akkor le tudod menteni a kapott eredményt bármibe, amibe az exceled menteni tud. .net-el tudod COM-on keresztülhasználni az excelt, azaz a felhasználó nem is látja, hogy te excelt hívogatsz a háttérben.Ha pusztán .net-tel akarsz megoldani valamilyen feladatot, talán egyszerűbb lenne, ha elárulnád mi az a feladat, és mi elmondjuk a javaslatainkat.
Például ebben az esetben a httpwebclient és a httpwebrequest osztályok használatát javaslom inkább, ha az elvira oldalát akarod automatizáltan hívogatni valami .net-es alkalmazásból.Én kérek elnézést!
-
martonx
veterán
válasz #10382336 #1328 üzenetére
Hali!
Két megoldási utat látok.
1. Watin-t használsz, ezzel egyszerűen, könnyen lehet böngészőt automatizálni. Javascript szerűen (teljes .net) ki tudod vele szedni az adatokat a HTML DOM-ból. Viszont nem túl elegáns módszer villogtatni a böngészőt, az adatok kinyerésekor. Kérdés mennyire lényeges az elegancia?
2. Használd a httpwebrequest, httpwebclient osztályokat. Na, ezekkel nincs semmi tapasztalatom, viszont brutál jó dolgokat lehet velük csinálni, aki ért hozzájuk. A webes játékokhoz a botokat is ezekkel az osztályokkal csinálják a hardcore gamerek A PHUpper is ezekkel működik. Nagyon elegáns ezeket az osztályokat használni, viszont sok tanulást utánajárást igényel, mire beletanulsz.Ha van időd a feladatra, akkor mindenképpen a 2-es megoldást javaslom. Ha csak gyorsan össze kell dobni egy működőképes megoldást, akkor az 1-est.
Én kérek elnézést!
-
#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
- Elektromos autók - motorok
- Samsung Galaxy A54 - türelemjáték
- Elektromos cigaretta 🔞
- Politika
- MediaTek lapkával érkezhet a következő Samsung csúcstablet
- Rendszergazda topic
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Milyen TV-t vegyek?
- További aktív témák...
- Samsung Galaxy S23 128gb - Makulátlan, akár beszámítással
- AKCIÓZVA! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/1TB FHD HUN
- AKCIÓZVA! HP EliteBook 850 G7 Fémházas Szuper Strapabíró Laptop 15,6" -65% i7-10610U 32/512 FHD HUN
- Bontatlan Új BOSE QuietComfort Ultra Headphones, bézs-aranyLimitált kiadás
- ASUS TUF Gaming FX505DU Ryzen 7 3750H GTX 1660 Ti 6GB 16GB DDR4 512GB SSD + 1TB HDD 120Hz Full HD