SpiderBasic Library - Liste neuer Funktionen

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
RSBasic
Admin
Beiträge: 7881
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
BildBildBildBild BildBild
RSBasic
Admin
Beiträge: 7881
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 :)
BildBildBildBild BildBild
Benutzeravatar
TroaX
Beiträge: 524
Registriert: 08.03.2013 14:27
Wohnort: ERB

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: AMD Ryzen 9 3950X | 64 GB RAM | RTX 3060 TI | 2,5 TB NVMe SSD | 2 TB SATA SSD | WIN 10 | 3x FHD Display
Mobil: AMD Ryzen 7 4800H | 16 GB RAM | GTX 1650 TI | 1 TB NVMe SSD | Win 10
Server: MSI Cubi N | Pentium Silver N5000 | 8 GB RAM | 1 TB HDD | Debian/Yunohost + Nextcloud
Programmierung: PureBasic | B4J | B4A | PHP | Python
RSBasic
Admin
Beiträge: 7881
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.
BildBildBildBild BildBild
RSBasic
Admin
Beiträge: 7881
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
BildBildBildBild BildBild
Benutzeravatar
Sicro
Beiträge: 914
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 :: DarkColor-Schema für PureBasic
PureBasic-CodeArchiv-Rebirth: Git-Repository / Download – Jede Hilfe ist willkommen!
Manjaro Xfce x64 (Hauptsystem) :: Windows 7 x64 (VirtualBox) :: Neueste PureBasic-Version
RSBasic
Admin
Beiträge: 7881
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.
BildBildBildBild BildBild
Benutzeravatar
Sicro
Beiträge: 914
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 :: DarkColor-Schema für PureBasic
PureBasic-CodeArchiv-Rebirth: Git-Repository / Download – Jede Hilfe ist willkommen!
Manjaro Xfce x64 (Hauptsystem) :: Windows 7 x64 (VirtualBox) :: Neueste PureBasic-Version
RSBasic
Admin
Beiträge: 7881
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.
BildBildBildBild BildBild
Benutzeravatar
Sicro
Beiträge: 914
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 :: DarkColor-Schema für PureBasic
PureBasic-CodeArchiv-Rebirth: Git-Repository / Download – Jede Hilfe ist willkommen!
Manjaro Xfce x64 (Hauptsystem) :: Windows 7 x64 (VirtualBox) :: Neueste PureBasic-Version
Antworten