De C à VB.NET [Résolu]

Signaler
Messages postés
11
Date d'inscription
mercredi 20 décembre 2000
Statut
Membre
Dernière intervention
10 janvier 2010
-
Messages postés
351
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 août 2009
-
Bonjour,
Voilà je dispose d'une structure en C,  fournie en documentation d'une station météo, je voudrais utiliser cette structure en VB.NET, mais je ne m'y retrouve pas dans les différents formats. Alors si quelqu'un peut me guider je le remercie d'avance.
 short, char, char [16],  float, comment traduire en VB sans produire de décalage. Ci-dessous la structure :

struct  WeatherRecordStructEx
{
    short year;
    char month;
    char day;
    short packedTime;
    char dateStr[16];
    char timeStr[16];
    short archivePeriod;

    float outsideTemp;
    float hiOutsideTemp;
    float lowOutsideTemp;
    float insideTemp;

    float barometer;
    short barometerTrend;

    float outsideHum;
    float insideHum;

    float rain;
    float hiRainRate;

    float windSpeed;
    float hiWindSpeed;
    short windDirection;
    char [file:///C:/Program%20Files/VantagePro%20DLL/readme.htm#Wind Direction windDirectionStr[5];]
    short hiWindDirection;
    char [file:///C:/Program%20Files/VantagePro%20DLL/readme.htm#Wind Direction hiWindDirectionStr[5];]

    short numWindSamples;
    short numExpectedSamples;

    short solarRad;
    short hiSolarRad;
    float UV;
    float hiUV;

    float et;

    float extraTemp[3];
    float extraHum[2];
    float soilTemp[4];
    float leafTemp[2];

    float soilMoisture[4];
    float leafWetness[2];

    float heatIndex;
    float THWIndex;
    float THSWIndex;
    float windChill;
    float dewPoint;

    float insideDewPoint;
    float insideHeatIndex;
};
 

4 réponses

Messages postés
11
Date d'inscription
mercredi 20 décembre 2000
Statut
Membre
Dernière intervention
10 janvier 2010

Super, et merci beaucoup !
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
Salut,

>[../auteur/ALOPIA/1465986.aspx Alopia] : Si tu estimes que ton problème est résolu, penses à appuyer sur réponse acceptée sur le OU les posts qui t'ont aider à avancer.

@+: Ju£i€n
Pensez: Réponse acceptée
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
réponse de P / invoke interrop assistant :

<System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet:=System.Runtime.InteropServices.CharSet.[Ansi])> _






Public








Structure

WeatherRecordStructEx



'''short








Public

year


As





Short








'''char








Public

month


As





Byte








'''char








Public

day


As





Byte








'''short








Public

packedTime


As





Short








'''char[16]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=16)> _








Public

dateStr


As





String








'''char[16]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=16)> _








Public

timeStr


As





String








'''short








Public

archivePeriod


As





Short








'''float








Public

outsideTemp


As





Single








'''float








Public

hiOutsideTemp


As





Single








'''float








Public

lowOutsideTemp


As





Single








'''float








Public

insideTemp


As





Single








'''float








Public

barometer


As





Single








'''short








Public

barometerTrend


As





Short








'''float








Public

outsideHum


As





Single








'''float








Public

insideHum


As





Single








'''float








Public

rain


As





Single








'''float








Public

hiRainRate


As





Single








'''float








Public

windSpeed


As





Single








'''float








Public

hiWindSpeed


As





Single








'''short








Public

windDirection


As





Short








'''char[5]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=5)> _








Public

windDirectionStr


As





String








'''short








Public

hiWindDirection


As





Short








'''char[5]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst:=5)> _








Public

hiWindDirectionStr


As





String








'''short








Public

numWindSamples


As





Short








'''short








Public

numExpectedSamples


As





Short








'''short








Public

solarRad


As





Short








'''short








Public

hiSolarRad


As





Short








'''float








Public

UV


As





Single








'''float








Public

hiUV


As





Single








'''float








Public

et


As





Single








'''float[3]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=3, ArraySubType:=System.Runtime.InteropServices.UnmanagedType.R4)> _








Public

extraTemp()


As





Single








'''float[2]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=2, ArraySubType:=System.Runtime.InteropServices.UnmanagedType.R4)> _








Public

extraHum()


As





Single








'''float[4]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=4, ArraySubType:=System.Runtime.InteropServices.UnmanagedType.R4)> _








Public

soilTemp()


As





Single








'''float[2]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=2, ArraySubType:=System.Runtime.InteropServices.UnmanagedType.R4)> _








Public

leafTemp()


As





Single








'''float[4]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=4, ArraySubType:=System.Runtime.InteropServices.UnmanagedType.R4)> _








Public

soilMoisture()


As





Single








'''float[2]


<System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=2, ArraySubType:=System.Runtime.InteropServices.UnmanagedType.R4)> _








Public

leafWetness()


As





Single








'''float








Public

heatIndex


As





Single








'''float








Public

THWIndex


As





Single








'''float








Public

THSWIndex


As





Single








'''float








Public

windChill


As





Single








'''float








Public

dewPoint


As





Single








'''float








Public

insideDewPoint


As





Single








'''float








Public

insideHeatIndex


As





SingleEnd







Structure











Bonjour chez vous !
Messages postés
351
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
12 août 2009

Bonjour,

As-tu pensé à en faire une classe plutôt qu'une structure? Cela serait dans la logique d'un langage Objet (puisque VB.net en est un) avec tous ces avantages..

thierry la fronde