Ovladanie LPT portu   otázka

VB6/VBA

Caute

Mohol by mi niekdo na malo priklade priblizit ovladanie portu alebo ma odkazat na niejaky priklad.Skusil by som sa prve s tim pohrat sam a ak by mi to neslo tak by som vas poprosil.Potrebujem len aby som dokazal zopnut 8 led a vypnut ich.Vopred dakujem

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Proč VB6?

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Ve Win95, Win98 a XPéčkách jsem ve VB6 pro ovládání portů používal externí knihovnu "inpout32.dll". Ve Vistách a Win7 to asi bude nemožné.

Pokud máte XPéčka tak vám výše jmenovanou knihovnu můžu poslat na email.

Luboš

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Co má Windows společného s vývojovým prostředím? Už se zde několikrát upozorňovalo na to, že dělat dnes cokoliv ve VB6 je naprostá zhovadělost. Pravda je, že .NET aplikace vyžadují minimálně Windows XP, ale 95 a 98 už dnes NIKDO nepoužívá.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Lubos knihovnu inpout32.dll mam.Ja by som potreboval niejaky priklad.Na com port mam ale na lpt nic nemozem najst

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Paralelní port se už dnes do základních desek vůbec nemontuje, většinou ani ten sériový. Proto je ve Frameworku podpora pouze pro ten sériový.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

inpout32.dll je pokiaľ viem be žná súčasť windowsu. Každopádne len tak pridať jeden súbor nemusí byť riešenie.Musel by ste poslať aj všetky ďalšie knižnice na ktorých je závislá inpout32.dll alebo jedna z tých, na ktorých je závislá inpout32.dll(proste celý strom závislostí).A tu nastane problém ak má niekto kernel32.dll verziu napr. 4(len príklad) a inpout32.dll chce kernel32.dll verziu 5.Ako ďalej?

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

pan Ondřej Linhart nastastie mam dosku aj s Com aj s Lpt a co vyrabaju alebo nevyrabaju ma nezaujima.Ja dosku mam a to je zaklad.A ako s DLL tak to uz neviem.Skuste poradit.Dakujem

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Současné výrobce základních desek a vývojáře Frameworku zase nezajímá, že máte nějaký X let starý krám, který má náhodou paralelní port. Proto vám zbývá buď Windows API, nebo komponenta/knihovna třetí strany.

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Co tak takto.To som nasiel na internete a funguje mi to.

Option Explicit 
'deklarace funkcí 
Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer 
Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer) 
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 

Private Sub Command1_Click() 
Dim a As Integer 
Form1.Cls 
Out &H378, 0 
Sleep 1000 
Out &H378, 1 
a = Inp(&H379) 
Form1.Print a 
Sleep 1000 
End Sub

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Profici pridzmurte ocko a aspon ma pochvalte ako som si to a hlavne sam vymyslel.

Option Explicit
'deklarace funkcí
Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
'Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)


Private Sub Check1_Click()

If Check1.Value Then
Text3 = 1
vysledok.Text = Val(Text3.Text) + (Text4.Text) + (Text5.Text) + (Text6.Text) + (Text7.Text) + (Text8.Text) + (Text9.Text) + (Text10.Text)
Out &H378, vysledok
Else
Text3 = 0
vysledok.Text = Val(Text3.Text) + (Text4.Text) + (Text5.Text) + (Text6.Text) + (Text7.Text) + (Text8.Text) + (Text9.Text) + (Text10.Text)
Out &H378, vysledok
End If


End Sub

Private Sub Check2_Click()


If Check2.Value Then
Text4 = 2
vysledok.Text = Val(Text3.Text) + (Text4.Text) + (Text5.Text) + (Text6.Text) + (Text7.Text) + (Text8.Text) + (Text9.Text) + (Text10.Text)
Out &H378, vysledok
Else
Text4 = 0
vysledok.Text = Val(Text3.Text) + (Text4.Text) + (Text5.Text) + (Text6.Text) + (Text7.Text) + (Text8.Text) + (Text9.Text) + (Text10.Text)
Out &H378, vysledok
End If

End Sub

nahlásit spamnahlásit spam 1 / 3 odpovědětodpovědět

Tak to co jsi vytvořil, je jedna velká hrůza, zkoušel jsi to vůbec spustit?

Jestli takhle budeš pokračovat, tak to raději zabal, mě by hamba fackovala tohle publikovat.

Dobré zvěrsto je:

vysledok.Text = Val(Text3.Text) + (Text4.Text) + (Text5.Text) ...

Takže výsledný objekt je typu string a k tomu přičítáš value a další string

WTF ???

Fakt nemám slov...

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Cau anonym

Boli to zaujimave zaciatky. Je tomu uz 7 rokou. Dakujem za pripomenutie. Prajem pekny den

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback