Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Meldingen
Alles wissen

[Opgelost] Lazarus - MacOS X - Vinden van beschikbare WiFi SSID's

1 Berichten
1 Gebruikers
0 Reactions
1,778 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 13 jaar geleden
Berichten: 3149
Topic starter   [#383]

Ik heb een klein stukje code in elkaar gedraaid om de beschikbare WiFi SSID's te vinden ... misschien heeft iemand er wat aan.

Merk op dat dit dus alleen voor MacOS X werkt en dus niet cross platform werkt.
Vergeet ook niet om de process unit aan de uses clausule toe te voegen.

{ GetAvailableWiFiSSIDs
  Scan WiFi network for available SSID's
  Returns a string with SSID's separated by new lines
  or "(no WiFi networks found)" when WiFi was disabled, unavailable or no networks were found }
function GetAvailableWiFiSSIDs:string;
var s : ansistring;
    dataText:TStringList;
    cutOffPosition:integer;
    Counter:integer;
begin
  s:='';
  if RunCommand('/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport',['-s'],s) and (s<>'') then
    begin
      dataText:=TStringList.Create;
      dataText.Text:=s;
      if dataText.Count>0 then
        begin
          cutOffPosition:=pos(' BSSID',dataText.Strings[0])-1; // BSSID is lined up with the end of SSID
          for Counter:=0 to dataText.Count-1 do
            dataText.Strings[Counter]:=Trim(Copy(dataText.Strings[Counter],0,cutOffPosition));
          dataText.Delete(0); // first line is just a header
          s:=dataText.Text;
          dataText.Free;
        end;
    end;
  if s='' then s:='(no WiFi networks found)';
  GetAvailableWiFiSSIDs := s;
end;


   
BeantwoordenCiteren
Deel: