Új hozzászólás Aktív témák
-
#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!!!
-
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.
-
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. -
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.
-
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. -
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.

-
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.

-
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).
-
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 programozni
Respekt!

-
#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!

-
#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 -
martonx
veterán
Új hozzászólás Aktív témák
- Samsung Galaxy A56 - megbízható középszerűség
- Azonnali fáradt gőzös kérdések órája
- Társasjáték topic
- Luck Dragon: Asszociációs játék. :)
- Battlefield 6
- Kerékpárosok, bringások ide!
- Samsung Galaxy S25 - végre van kicsi!
- Gumi és felni topik
- Túra és kirándulás topic
- Vírusirtó topic
- További aktív témák...
- Xiaomi Redmi 14C 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple MacBook Pro 14 2021(M1 Pro) 16GB RAM / 512GB SSD / 273 ciklus prémium gép!
- Apple MacBook Pro 16" 2021 (M1 Pro) 32GB RAM / 512GB SSD / 3456X2234 Retina XDR
- Új Gamer PC - Ryzen 7 5700X / RTX 5060 Ti / A520M / 32GB RAM 3600Mhz / 256GB + 1TB M.2 SSD / 750W
- Xiaomi Redmi 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Huawei Quidway S5324TP-SI-AC - 24G, 4SFP, L2, managed switch
- Apple MacBook Pro 13" 2019 256/8GB Akku:40 ciklus! Magyar
- Apple iPhone 13 Pro Alpine Green ProMotion 120 Hz, Pro kamerák 128 GB-100%
- Bomba ár! Dell Latitude 5410 - i5-10GEN I 8GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Garancia!
- HIBÁTLAN iPhone 13 Pro 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3753, 91% Akkumulátor
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
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.







