PureBoard
https://www.purebasic.fr/german/

SpiderBasic Library - Liste neuer Funktionen
https://www.purebasic.fr/german/viewtopic.php?f=33&t=31117
Seite 5 von 9

Autor:  RSBasic [ 18.10.2018 13:07 ]
Betreff des Beitrags:  Re: 2D-Bilder in 3D nach hinten kippen

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

Hauptseite > Betriebssystem-Version ermitteln:
Code:
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

Autor:  RSBasic [ 18.10.2018 13:07 ]
Betreff des Beitrags:  Re: 2D-Bilder in 3D nach hinten kippen

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 :)

Autor:  TroaX [ 18.10.2018 13:13 ]
Betreff des Beitrags:  Re: 2D-Bilder in 3D nach hinten kippen

Dir ist aber schon bewusst, das du versehentlich den Thread-Titel geändert hast, oder? :lol: :lol: :lol:

Autor:  RSBasic [ 18.10.2018 13:24 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

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.

Autor:  RSBasic [ 18.10.2018 13:55 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

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

Hauptseite > Externe Dateien (CSS, Javascript) einbinden:
Code:
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

Autor:  Sicro [ 18.10.2018 20:00 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Gute Arbeit, RSBasic! 8)

Bezüglich OSVersion(): Dort erhalte ich beim Firefox in der Entwickler-Web-Konsole folgende Fehlermeldung angezeigt:
Zitat:
SyntaxError: expected expression, got ';'[Weitere Informationen] spiderbasic.js:313:17
und folgende Zeile wird in der spiderbasic.js als fehlerhaft markiert:
Code:
 } else if (!os &;& /Linux/.test(platform)) {

Autor:  RSBasic [ 18.10.2018 20:20 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

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:
} else if (!os &;& /Linux/.test(platform)) {

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

Ich weiß nicht, woher bei dir ";" kommt.

Autor:  Sicro [ 18.10.2018 22:05 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

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:
Zitat:
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.

Autor:  RSBasic [ 18.10.2018 22:16 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

Ich hab den oberen Code aktualisiert. Der Code sollte jetzt laufen.

Autor:  Sicro [ 18.10.2018 22:53 ]
Betreff des Beitrags:  Re: SpiderBasic Library - Liste neuer Funktionen

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

Wie es aussieht, hast du den OS-Detektor-Code von hier: https://stackoverflow.com/questions/38241480/detect-macos-ios-windows-android-and-linux-os-with-js
Dort werden viele hilfreiche Informationen beschrieben. Es wäre daher vorteilhaft, wenn du die URL in deinen Code integrierst.

Seite 5 von 9 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/