Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bits prüfen oder wie bin ich online. (https://www.delphipraxis.net/1178-bits-pruefen-oder-wie-bin-ich-online.html)

Luckie 28. Okt 2002 17:51


Bits prüfen oder wie bin ich online.
 
Folgender Code:
Code:
[b]procedure[/b] TForm1.Button1Click(Sender: TObject);
[b]var[/b]
  dwResult : cardinal;
[b]begin[/b]
  dwResult := 0;
  [b]if[/b] Internetgetconnectedstate(@dwResult,0) [b]then[/b]
    showmessage('ONLINE')
  [b]else[/b]
    ShowMessage('OFFLINE');

  [b]if[/b] (dwResult [b]and[/b] INTERNET_CONNECTION_MODEM) = 0 [b]then[/b]
    ShowMessage('Modem');
[b]end[/b];
Link zu Internetgetconnectedstate.

So ich will jetzt die Flags prüfen und so nähere Infos über die Verbindung bekommen. Mache ich das so richtig oder wie geht es richtig. Und wie bekommt mann dann alles am besten in eine String durch Komma getrennt, wenn es mehrere Werte sind die zu treffen können?

Salomon 28. Okt 2002 18:13

Warum fragst du die Flags nicht einfach mit if ab? So würde ich das z.B machen, oder ist das zu simpel?
Code:
  if dwResult = INTERNET_CONNECTION_LAN then
    ShowMessage('Lan Connection');
Allerdings erhalte ich bei meiner DSL Verbindung ein Rückgabewert von "81". Das kann irgendwie doch nicht sein oder?

Mfg Salomon

Luckie 28. Okt 2002 18:23

81 Bekomme ich auch mit DSL. Aber so einfach mit = abfragen geht nicht,
Zitat:

This parameter can be one or more of the following values.
Alles klar? :wink: Das ist eien bitweise or-Verknüpfung meherer Werte. Deswegen meine Frage.

Christian Seehase 28. Okt 2002 18:45

Moin Luckie,

Code:
[b]procedure[/b] TForm1.Button1Click(Sender: TObject);
[b]var[/b]
  dwResult : cardinal;
[b]begin[/b]
  dwResult := 0;
  [b]if[/b] Internetgetconnectedstate(@dwResult,0) [b]then[/b]
    showmessage('ONLINE')
  [b]else[/b]
    ShowMessage('OFFLINE');

  [b]if[/b] (dwResult [b]and[/b] INTERNET_CONNECTION_MODEM) = [color=red]INTERNET_CONNECTION_MODEM[/color] [b]then[/b]
    ShowMessage('Modem');

  [color=#000080]// oder[/color]

  [b]if[/b] (dwResult [b]and[/b] INTERNET_CONNECTION_MODEM) [color=red]<> 0[/color] [b]then[/b]
    ShowMessage('Modem');
[b]end[/b];
Funktioniert nach genau dem gleichen Prinzip wie das herausfiltern eines Directories bei Verwendung von TSearchRec.Attrib.

Salomon 28. Okt 2002 19:40

@ Luckie: Uups, da muss ich wohl was überlesen haben..

Dumm ist nur das der User evtl. eine schnelle DSL Connection hat, aber die Function einem weiß machen will, dass der User nur über eine langsame Modemverbindung verfügt.

Christian Seehase 28. Okt 2002 22:31

Moin Zusammen,

81 dezimal = $51 (hex)
=>
INTERNET_CONNECTION_MODEM ($01)
INTERNET_RAS_INSTALLED ($10)
INTERNET_CONNECTION_CONFIGURED ($40)

Da die Internet API Funktionen offensichtlich nur LAN und Modem kennen, könnte man Modem auch schlicht als Wählverbindung ansehen.
Dann stimmt's ja wieder.

Luckie 28. Okt 2002 23:42

Ah danke, dann war ich ja knapp da neben mit meiner Version.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz