Freitag, 14. Oktober 2011

yab - Grafiktreiber ermitteln

Nachdem ich im letzten Post den Weg zum Ermitteln des aktuell geladenen Grafiktreibers beschrieben habe, folgt nun die entsprechende Umsetzung für yab.

Der Quellcode sollte sich dabei von selbst erklären, ist relativ einfach gehalten und wurde bewußt als Sub- Routine entwickelt. Damit ist es möglich den Quellcode universell einzusetzen.

Der Aufruf der Subroutine erfolgt folgendermaßen:

print "aktuell geladener Grafiktreiber: " + Upper$(_GetGraphicAccelerant$())



export sub _GetGraphicAccelerant$()

  // Variablen definieren
 
  local SystemInput$
  local NumberOfTokens
  local Help$
 
  dim Line$(1)
  dim Position$(1)
  
  // den Befehl "LISTIMAGE | grep accel" ausführen und Ausgabe
  // in SystemInput$ speichern
 
  SystemInput$ = system$("listimage | grep accel")
 
  // SystemInput$ in einzelne Zeilen zerlegen
 
  NumberOfTokens = split(SystemInput$, Line$(), "\n")
 
  // die entsprechende Zeile weiter zerlegen ...
 
  NumberOfTokens = split(Line$(1), Position$(), "/")
 
  Help$ = Position$(6)
 
  // ... um den gewünschten Eintrag zu finden
 
  NumberOfTokens = split(Help$, Position$(), ". ")
   
  return Position$(1)

end sub

 
(getestet mit Haiku R1 Alpha 3 und yab 1.5)