Bonjour à tous
Comme mon titre l'indique, je ne suis pas un king of Delphi, mais je gratouille un peu
Et là, j'ai un souci
J'ai, en VB6 (ça vous étonne ???) une fonction qui ressemble à ça (pour essai) qui m'affiche un message et me renvoie un bool :
que je tente de traduire en Delphi 7 dans une dll (le premier qui me traite de ringard aura droit aux orties fraiches !!!
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Function IsWebConnected() As Boolean Dim dwflags As Long Dim bWebTest As Boolean Dim sConnType As String bWebTest = InternetGetConnectedState(dwflags, 0&) Select Case bWebTest Case dwflags And INTERNET_CONNECTION_MODEM: sConnType = "Modem" Case dwflags And INTERNET_CONNECTION_PROXY: sConnType = "Proxy" Case dwflags And INTERNET_CONNECTION_LAN: sConnType = "LAN" End Select MsgBox sConnType IsWebConnected = bWebTest End Function)
donc je :
et là, le compilateur râle comme quoi il veut une expression constante dans le Case ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Function IsWebConnected: Boolean; stdcall; var dwFlags: Integer; bWebTest: boolean; // sConnType: String; begin // dwFlags := INTERNET_CONNECTION_MODEM or INTERNET_CONNECTION_LAN or INTERNET_CONNECTION_PROXY; bWebTest := InternetGetConnectedState(@dwFlags, 0); Case bWebTest of dwFlags And INTERNET_CONNECTION_LAN: sConnType := "LAN"; dwFlags And INTERNET_CONNECTION_MODEM: sConnType = "Modem"; dwFlags And INTERNET_CONNECTION_PROXY: sConnType = "Proxy"; end; Showmessage (sConnType) Result:=bWebTest ; end;
Bien sûr je peux passer par une série de If mais c'est pas très élégant ...
VB6 serait-il plus compréhensif que D7, ou j'ai raté un truc ?






, mais je gratouille un peu
) une fonction qui ressemble à ça (pour essai) qui m'affiche un message et me renvoie un bool :
Répondre avec citation




, alors pourquoi un else ou case, si une somme de drapeaux?????
Partager