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.



Deel:
Meldingen
Alles wissen

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

1 Berichten
1 Gebruikers
0 Reactions
1,243 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
Topic starter  

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: