SpiderBasic Library - Liste neuer Funktionen

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: 2D-Bilder in 3D nach hinten kippen

Beitrag von RSBasic »

In SpiderBasic gibt es kein OSVersion(). Jetzt schon:

Hauptseite > Betriebssystem-Version ermitteln:

Code: Alles auswählen

EnableExplicit

;https://stackoverflow.com/questions/38241480/detect-macos-ios-windows-android-and-linux-os-with-js
Procedure OSVersion()
  Protected pb_os_windows_2000 = #PB_OS_Windows_2000
  Protected pb_os_windows_xp = #PB_OS_Windows_XP
  Protected pb_os_windows_server_2003 = #PB_OS_Windows_Server_2003
  Protected pb_os_windows_vista = #PB_OS_Windows_Vista
  Protected pb_os_windows_7 = #PB_OS_Windows_7
  Protected pb_os_windows_8 = #PB_OS_Windows_8
  Protected pb_os_windows_8_1 = #PB_OS_Windows_8_1
  Protected pb_os_windows_10 = #PB_OS_Windows_10
  
  ! var userAgent = window.navigator.userAgent;
  ! var platform = window.navigator.platform;
  ! var macosPlatforms = ['Macintosh', 'MacIntel', 'MacPPC', 'Mac68K'];
  ! var windowsPlatforms = ['Win32', 'Win64', 'Windows', 'WinCE'];
  ! var iosPlatforms = ['iPhone', 'iPad', 'iPod'];
  ! var userAgentpart;
  ! if (macosPlatforms.indexOf(platform) !== -1) {
  !   //...
  ! } else if (iosPlatforms.indexOf(platform) !== -1) {
  !   //...
  ! } else if (windowsPlatforms.indexOf(platform) !== -1) {
  !   userAgentpart = userAgent.split(/\s*[;)(]\s*/);
  !   switch(userAgentpart[1]) {
  !     case 'Windows NT 10.0': return v_pb_os_windows_10;
  !     case 'Windows NT 6.3': return pb_os_windows_8_1;
  !     case 'Windows NT 6.2': return pb_os_windows_8;
  !     case 'Windows NT 6.1': return pb_os_windows_7;
  !     case 'Windows NT 6.0': return pb_os_windows_vista;
  !     case 'Windows NT 5.2': return pb_os_windows_server_2003;
  !     case 'Windows NT 5.1': return pb_os_windows_xp;
  !     case 'Windows NT 5.0': return pb_os_windows_2000;
  !   }
  ! } else if (/Android/.test(userAgent)) {
  !   //...
  ! } else if (/Linux/.test(platform)) {
  !   //...
  ! }
  
EndProcedure

;================================================== Beispielcode ==================================================

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget)
  
  Select OSVersion()
    Case #PB_OS_Windows_2000
      Debug "Windows 2000"
    Case #PB_OS_Windows_XP
      Debug "Windows XP"
    Case #PB_OS_Windows_Server_2003
      Debug "Windows Server 2003"
    Case #PB_OS_Windows_Vista
      Debug "Windows Vista"
    Case #PB_OS_Windows_7
      Debug "Windows 7"
    Case #PB_OS_Windows_8
      Debug "Windows 8"
    Case #PB_OS_Windows_8_1
      Debug "Windows 8.1"
    Case #PB_OS_Windows_10
      Debug "Windows 10"
    Case #PB_OS_Linux_2_2
      ;...
    Case #PB_OS_MacOSX_10_0
      ;...
  EndSelect
  
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: 2D-Bilder in 3D nach hinten kippen

Beitrag von RSBasic »

Bei der Funktion OSVersion() konnte ich nur die Windows-Versionen berücksichtigen. Andere Betriebssysteme (Linux, Android, MacOS, iOS) konnte ich nicht hinzufügen, da ich mit diesen nicht testen konnte.
Wenn jemand Zeit hat und mithelfen möchte, kann diese Funktion gerne erweitert werden. Danke :)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
TroaX
Beiträge: 659
Registriert: 08.03.2013 14:27
Computerausstattung: PC: Ryzen 9 3950X, 96 GB RAM, RX6800XT, 2.5 TB SSD, 21:9 Display, Pop_OS! | Lappi: Ryzen 7 5800H, 16 GB RAM, 1 TB SSD, Pop_OS!
Wohnort: NRW
Kontaktdaten:

Re: 2D-Bilder in 3D nach hinten kippen

Beitrag von TroaX »

Dir ist aber schon bewusst, das du versehentlich den Thread-Titel geändert hast, oder? :lol: :lol: :lol:
PC: Ryzen 9 3950X | 96 GB RAM | RX6800XT | 2,5 TB NVMe | Pop_OS!
Notebook: 16" 3:2 | Ryzen 7 5800H | 16 GB RAM | Radeon Vega | 1TB NVMe | Pop_OS!
NAS: Fritz.Box :lol:
Coding: Purebasic 6.04 | PHP | HTML | CSS | Javascript
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: SpiderBasic Library - Liste neuer Funktionen

Beitrag von RSBasic »

Stimmt, ist mir nicht aufgefallen. Habs angepasst. :D Danke :)
Beim Abtrennen des Beitrages von stevie1401 mit der Frage mit dem Kippen ist mir ein Fehler unterlaufen. Ich habe zwar den Beitrag von stevie1401 fürs Abtrennen ausgewählt (CheckBox aktiviert), aber dummerweise markiert das Forum automatisch einige vorherigen Beiträge, aber nicht alle. Das habe ich nicht gesehen und hatte dann zwei zerpflückte Threads.
Beim Rückgängigmachen wurde der Titel anscheinend überschrieben.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: SpiderBasic Library - Liste neuer Funktionen

Beitrag von RSBasic »

In SpiderBasic kann man keine externen Dateien (CSS, Javascript) einbinden. Jetzt schon:

Hauptseite > Externe Dateien (CSS, Javascript) einbinden:

Code: Alles auswählen

EnableExplicit

Procedure OpenLibrary(filename.s)
  ! var FileExtension = v_filename.toLowerCase().match(/\.[0-9a-z]+$/i)[0];
  
  ! switch(FileExtension) {
  !   case ".css":
  !     var NewElement = document.createElement("link");
  !     NewElement.type = "text/css";
  !     NewElement.href = v_filename;
  !     var HeadElement = document.getElementsByTagName("head")[0];
  !     HeadElement.appendChild(NewElement);
  !     break;
  !   case ".js":
  !     var NewElement = document.createElement("script");
  !     NewElement.type = "text/javascript";
  !     NewElement.src = v_filename;
  !     var HeadElement = document.getElementsByTagName("head")[0];
  !     HeadElement.appendChild(NewElement);
  !     break;
  !   default:
  !     return 0;
  ! }
  
  ! return 1;
  
EndProcedure

;================================================== Beispielcode ==================================================

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  OpenLibrary("/css/styles.css")
  OpenLibrary("/js/Scripts.js")
 
EndIf
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: SpiderBasic Library - Liste neuer Funktionen

Beitrag von Sicro »

Gute Arbeit, RSBasic! 8)

Bezüglich OSVersion(): Dort erhalte ich beim Firefox in der Entwickler-Web-Konsole folgende Fehlermeldung angezeigt:
SyntaxError: expected expression, got ';'[Weitere Informationen] spiderbasic.js:313:17
und folgende Zeile wird in der spiderbasic.js als fehlerhaft markiert:

Code: Alles auswählen

 } else if (!os &;& /Linux/.test(platform)) {
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: SpiderBasic Library - Liste neuer Funktionen

Beitrag von RSBasic »

Hi Sicro,

das ist merkwürdig. Bei mir unter Firefox mit aktueller Version funktioniert es und erhalte keine Meldung.
Benutzt du vielleicht eine ältere Version? Wenn ja, welche? Wenn nicht, kannst du ohne Addons erneut testen? Nur um das auszuschließen. Danke im Voraus

Bei dir:

Code: Alles auswählen

} else if (!os &;& /Linux/.test(platform)) {
Bei mir:

Code: Alles auswählen

} else if (!os && /Linux/.test(platform)) {
Ich weiß nicht, woher bei dir ";" kommt.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: SpiderBasic Library - Liste neuer Funktionen

Beitrag von Sicro »

RSBasic hat geschrieben:Ich weiß nicht, woher bei dir ";" kommt.
Ich dachte, das Zeichen ist wirklich in deinem Code... Übeltäter ist das Userscript "PB-SyntaxHighlighting"

Ok, da das Problem nun geklärt ist, habe ich dein Code nochmal ohne dem oben genanntem Script laufen gelassen.
Nun erscheint die Fehlermeldung:
ReferenceError: os is not defined
Bezieht sich auf das alte Problem, aber beantworte die Fragen dennoch mal:
RSBasic hat geschrieben:Benutzt du vielleicht eine ältere Version?
Nein, die Neuste.
RSBasic hat geschrieben:Wenn nicht, kannst du ohne Addons erneut testen?
Mit frischem Firefox-Profil getestet.
Zuletzt geändert von Sicro am 18.10.2018 22:18, insgesamt 1-mal geändert.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: SpiderBasic Library - Liste neuer Funktionen

Beitrag von RSBasic »

Ich hab den oberen Code aktualisiert. Der Code sollte jetzt laufen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: SpiderBasic Library - Liste neuer Funktionen

Beitrag von Sicro »

Ok, nun läuft der Code fehlerfrei. :)

Wie es aussieht, hast du den OS-Detektor-Code von hier: https://stackoverflow.com/questions/382 ... os-with-js
Dort werden viele hilfreiche Informationen beschrieben. Es wäre daher vorteilhaft, wenn du die URL in deinen Code integrierst.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Antworten