Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


vb6 till c# kod

Postades av 2008-03-15 21:22:56 - Joakim Åhl, i forum c# (c-sharp), Tråden har 6 Kommentarer och lästs av 1048 personer

någon som kan omvandla koden nedan till en class i c# ??
Jag har flrsökt men var förlängesedan jag håll på med vb6


<code>
Private Declare Function DlPortReadPortUchar Lib "dlportio.dll" (ByVal Port As Long) As Byte
Private Declare Sub DlPortWritePortUchar Lib "dlportio.dll" (ByVal Port As Long, ByVal Value As Byte)

Public Enum enumPort
LPT1 = &H378
LPT2 = &H278
LPT3 = &H3BC
End Enum

Public Enum enumPin
Pin2
Pin3
Pin4
Pin5
Pin6
Pin7
Pin8
Pin9
Pin10
Pin11
Pin12
Pin13
Pin15
End Enum


Public Function GetTemp(ByVal Port As enumPort, ByVal Pin As enumPin, Optional ByVal SampTime As Double = 0.5) As Double
Dim lngNumOfHigh As Long
Dim NumOfSamp As Long
Dim StartTime As Double
Dim bteSamp As Byte
Dim bteMask As Byte
Dim lngActSamp As Long
Dim lngPortAdr As Long

lngPortAdr = Port

Select Case Pin
Case Pin2
bteMask = 1
Case Pin3
bteMask = 2
Case Pin4
bteMask = 4
Case Pin5
bteMask = 8
Case Pin6
bteMask = 16
Case Pin7
bteMask = 32
Case Pin8
bteMask = 64
Case Pin9
bteMask = 128
Case Pin10
bteMask = 64
Case Pin11
bteMask = 128
Case Pin12
bteMask = 32
Case Pin13
bteMask = 16
Case Pin15
bteMask = 8
End Select

If Pin >= Pin10 Then
lngPortAdr = lngPortAdr + 1
Else
DlPortWritePortUchar Port + 2, DlPortReadPortUchar(Port + 2) Or 32
End If


StartTime = Timer

Do Until Timer - StartTime > SampTime
If Timer < StartTime Then StartTime = 0
bteSamp = DlPortReadPortUchar(lngPortAdr)
NumOfSamp = NumOfSamp + 1
If bteSamp And bteMask Then lngNumOfHigh = lngNumOfHigh + 1
Loop

If Pin = Pin11 Then lngNumOfHigh = NumOfSamp - lngNumOfHigh
GetTemp = (lngNumOfHigh / NumOfSamp - 0.32) / 0.0047
End Function
</code>


Svara

Sv: vb6 till c# kod

Postades av 2008-03-16 12:13:42 - Roger Alsing

Det absolut lättaste sättet du kan översätta på är att peta in det där i VB.NET
och kompilera koden

och sedan kör du .NET reflector på den kompilerade koden och väljer att dekompilera till C#


Svara

Sv:vb6 till c# kod

Postades av 2008-03-16 20:10:36 - Pelle Johansson

Börja med att skriva om det till vb.net, gå sen till http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx och klistra in koden, då får du ut den i c#.


Svara

Sv: vb6 till c# kod

Postades av 2008-03-17 12:05:12 - Sven Åke Persson

Det är <b>Johan Djupmark</b> som skrivit den Vb6-klassen
till mitt gamla projekt SMT160-30 tempgivare.
Kontakta honom,han är en örn som säkert kan skriva om den.
Du kan få min Delphi DLL kompilerad som också duger.

Själv kör jag med en Delphi DLL som är en exakt kopia.
<code>
// Delphi DLL kod
library SMT160;
uses
SysUtils,
Classes,
Celcius in 'Celcius.pas';
Exports GetTemp ;
begin
end.
//*************************************************
unit Celcius;
interface
Uses
Windows ;
Function DlPortReadPortUchar(GetAddrVal:Integer) :
Byte;StdCall ;
//Parallellporten
Function GetTemp(AddrVal :Integer ; Pin :Integer) :
Single;StdCall ;
Implementation

Function DlPortReadPortUchar(GetAddrVal:Integer) :
Byte;StdCall ;
external 'DLPORTIO.dll' name 'DlPortReadPortUchar' ;
Const K1 = 0.32 ;
Const K2 = 0.0047 ;
//************************************************
Function GetTemp(AddrVal :Integer ; Pin :Integer) :
Single;StdCall ;
Var
cntHigh : Integer ;
totNumOfSamp : Integer ;
inSignal : Byte ;
smartSign : Byte ;
Mask : Byte ;
halfSek : Dword ;
Begin
Case Pin of
10: Mask := 64 ;
11: Mask := 128 ;
12: Mask := 32 ;
13: Mask := 16 ;
15: Mask := 8 ;
End ;
halfSek := GetTickCount + 500 ;
cntHigh := 0 ;
For totNumOfSamp := 1 TO 100000000 do begin
inSignal := DlPortReadPortUchar(AddrVal) ;
smartSign := inSignal And Mask ;
If smartSign = Mask Then inc(cntHigh) ;
If GetTickCount > halfSek Then Break ;
End ;
If Pin = 11 Then
cntHigh := totNumOfSamp - cntHigh ;
GetTemp := (cntHigh/totNumOfSamp - K1)/K2;
End;
</code>


Svara

Sv:vb6 till c# kod

Postades av 2008-03-17 13:42:12 - Johan Djupmarker

Men Sven, när ska du lära dej mitt namn...? :) Har tyvärr inte tid att kolla på detta nu.

/Johan


Svara

Sv: vb6 till c# kod

Postades av 2008-03-17 15:53:38 - Sven Åke Persson

<b>han är en örn</b> får ursäkta ett glömt "er" <b>Djupmarker ;-)</b>

Du får stava mitt namn fel en gång , så är Vi kvitt


Svara

Sv:vb6 till c# kod

Postades av 2008-03-18 13:47:53 - Joakim Åhl

Sven du har inte lust att lägga upp den dll:en här på pellesoft så jag kan ladda ner den. Jag vore grymt tacksam i så fall.

Tack på förhand


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 710
27 958
271 751
967
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies