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.
[Opgelost] Lazarus - MacOS X - Vinden van beschikbare WiFi SSID's
Delphi, Lazarus, Free Pascal
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
Topic starter
21 augustus 2016 17:03
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;