SpiderBasic 1.00 alpha 6 steht bereit

Ankündigungen PureBasic oder die Community betreffend.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von ts-soft »

kayfr72 hat geschrieben:Also gut, die Befehle WindowEvent und WaitWindowEvent werden nicht mehr gebraucht , aber in den Examples bei z.B. Menu.pb aber verwendet :roll:
Werden dort nicht verwendet, Du solltest Dir den Source mal etwas genauer anschauen, da befinden sich nämlich auch ein paar CompilerIf :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
kayfr72
Beiträge: 129
Registriert: 12.09.2004 19:13
Wohnort: Ansbach/Weihenzell
Kontaktdaten:

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von kayfr72 »

Die habe ich im Nachhinein auch gesehen. Aber das Example war doch dafür neue erstellt worden, so das man um andere nicht irren zu führen weg lassen hätte können. ImGrunde ist es ja egal, weil das hier nicht hilft. Auf jeden Fall gehört diese Software wie ist ausgebaut, verbessert und weiter zu empfehlen.

Gruß Kayfr
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von Danilo »

kayfr72 hat geschrieben:Aber das Example war doch dafür neue erstellt worden, so das man um andere nicht irren zu führen weg lassen hätte können.
Vielleicht wollten sie damit zeigen, das es mit ein paar CompilerIf möglich wäre,
für PureBasic und SpiderBasic zu programmieren, da sie sich zumindest sehr
ähnlich sind. ;)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
dige
Beiträge: 1182
Registriert: 08.09.2004 08:53

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von dige »

Danilo hat geschrieben:
kayfr72 hat geschrieben:Aber das Example war doch dafür neue erstellt worden, so das man um andere nicht irren zu führen weg lassen hätte können.
Vielleicht wollten sie damit zeigen, das es mit ein paar CompilerIf möglich wäre,
für PureBasic und SpiderBasic zu programmieren, da sie sich zumindest sehr
ähnlich sind. ;)
Genau. Mit Kiffi's PB2Web geht das ja auch so ;-)
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
Pelagio
Beiträge: 423
Registriert: 11.11.2004 17:52
Computerausstattung: Intel Core i3-4170 CPU 3,70 GHz
8,00 GB Arbeitsspeicher
WIN 10 Pro 64 Bit Betriebssystem
Wohnort: Bremen

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von Pelagio »

Guten Morgen PB'ler,

ich habe mal versucht ein kleines altes Programm von mir auf SpiderBasic umzuschreiben, um ein besseres Gefühl für Spider zu bekommen. Es hat etwas gedauert bis ich das Fenster endlich darstellen konnte aber zu guter Letzt habe ich es hinbekommen. Die Funktionsweise des Programms konnte ich jedoch nicht aktivieren. Irgendwo habe ich mich zu weit aus dem Fenster gelegt und Spider ist noch nicht so weit oder ich weiß nicht weiter ...... :bluescreen:

Hauptprogramm: AConvert.pb

Code: Alles auswählen

;-{ Konstanten

EnableExplicit

Enumeration ;Fenster
   #Window_0
EndEnumeration

Enumeration ;Gadget
   #Button_0
   #String_0
   #String_1
   #String_2
   #String_3
   #String_4
   #Text_0
   #Text_1
   #Text_2
   #Text_3
EndEnumeration

Enumeration ;Tasten
   #Taste_Return
   #Taste_Escape
EndEnumeration

#BaseFileName = "AConvert" 
#SEPERATOR    = ";"
#NULL$        = ""
#WindowWidth  = 190
#WindowHeight = 230

;}

;-{ Variablen

Define.i gEvent

;}

IncludeFile "AConvert.pbi"

;-{ Source

MainWindow_Create()
BindEvent(#PB_Event_Gadget, @GadgetClick())
BindEvent(#PB_Event_Menu  , @MenueClick())

;}
Includeprogramm: AConvert.pbi

Code: Alles auswählen


Procedure.a IsNumber(Value.s)
   Protected pResult.a  = #True
   Protected *pCharAsc = @Value
   
   If (PeekC(*pCharAsc)=43) Or (PeekC(*pCharAsc)=45): *pCharAsc+1: EndIf
   While Not (PeekC(*pCharAsc)=0)
      If (PeekC(*pCharAsc)<44) Or (PeekC(*pCharAsc)=45) Or (PeekC(*pCharAsc)=47) Or (PeekC(*pCharAsc)>57)
         pResult = #False
         Break
      EndIf
      *pCharAsc + 1
   Wend
   ProcedureReturn (pResult)
EndProcedure

Procedure.s Ergebnis()
   Protected n.i, Result.s
   Protected L0.f, Ag.f, A.f, Lx.f
   
   For n=1 To 4
      SetGadgetText(n, ReplaceString(GetGadgetText(n), ",", "."))
   Next n
   L0 = ValF(GetGadgetText(#String_0))
   Ag = ValF(GetGadgetText(#String_1))
   A  = ValF(GetGadgetText(#String_2))
   Lx = ValF(GetGadgetText(#String_3))
   If L0 And Ag And A And Lx
      Result = StrF((A*L0-(L0-Lx)*Ag)/Lx, 2)
   Else
      Result = "0.00"
   EndIf
   ProcedureReturn Result + " %"
EndProcedure

Procedure MainWindow_Create()
   Protected n.i, pValue.s
   
   If OpenWindow(#Window_0, 500, 200, #WindowWidth, #WindowHeight, "A Konvertierung") ;, #PB_Window_BorderLess)
      StringGadget  (#String_0, 90, 010, 060, 25, #NULL$): GadgetToolTip(#String_0, "Messlänge")
      StringGadget  (#String_1, 90, 040, 060, 25, #NULL$): GadgetToolTip(#String_1, "Gleichmaßdehnung")
      StringGadget  (#String_2, 90, 070, 060, 25, #NULL$): GadgetToolTip(#String_2, "Dehnung")
      StringGadget  (#String_3, 90, 100, 060, 25, #NULL$): GadgetToolTip(#String_3, "Neue Messlänge")
      StringGadget  (#String_4, 10, 150, 140, 30, "0.00 %", #PB_Text_Center | #PB_String_ReadOnly)
      GadgetToolTip(#String_4, "(A * L0 - (L0 - Lx) * AG) / Lx")
      TextGadget    (#Text_0  , 10, 010, 070, 20, "L0(mm)")
      TextGadget    (#Text_1  , 10, 040, 070, 20, "Ag(%)")
      TextGadget    (#Text_2  , 10, 070, 070, 20, "A (%)")
      TextGadget    (#Text_3  , 10, 100, 070, 20, "Lx(mm)")
      ButtonGadget  (#Button_0, 30, 200, 100, 30, "Berechnen")
      SetActiveGadget(#String_0)
      AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, #Taste_Return)
      AddKeyboardShortcut(#Window_0, #PB_Shortcut_Escape, #Taste_Escape)
   EndIf
EndProcedure

Procedure GadgetClick()

   Select EventGadget()
      Case #String_0
         If (EventType() = #PB_EventType_Change)
            If (IsNumber(GetGadgetText(#String_0))=#False): SetGadgetText(#String_0, #NULL$): EndIf
         EndIf
      Case #String_1
         If (EventType() = #PB_EventType_Change)
            If (IsNumber(GetGadgetText(#String_1))=#False): SetGadgetText(#String_1, #NULL$): EndIf
         EndIf
      Case #String_2
         If (EventType() = #PB_EventType_Change) 
            If (IsNumber(GetGadgetText(#String_2))=#False): SetGadgetText(#String_2, #NULL$): EndIf
         EndIf
      Case #String_3
         If (EventType() = #PB_EventType_Change) 
            If (IsNumber(GetGadgetText(#String_3))=#False): SetGadgetText(#String_3, #NULL$): EndIf
         EndIf   
      Case #Button_0
         SetGadgetText(#String_4, Ergebnis())
   EndSelect
EndProcedure

Procedure MenueClick()
   Protected n.i
   
   Select EventMenu()
      Case #Taste_Return
         For n=1 To 4
            If (GetActiveGadget()=GadgetID(n))
               If (n=4)
                  SetGadgetText(#String_4, Ergebnis())
                  SetActiveGadget(#String_0)
               Else
                  SetActiveGadget(n+1)
                  Break
               EndIf   
            EndIf
         Next n
      Case #Taste_Escape
         ProcedureReturn
   EndSelect
EndProcedure
Vielleicht kann mir ja jemand von Euch sagen wo mein Fehler liegt. :praise:
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.03 LTS]. :allright:
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von Danilo »

@Pelagio:
Morgen sollte die nächste Alpha mit vielen Bugfixes kommen. Auf Pointer wirst Du im Web
aber sicherlich auch verzichten müssen (Prozedur IsNumber). Fred meinte auch man sollte
nur Integer/Quad und Float/Double verwenden. Kleinere Typen wie .a, .b, .w usw. werden immer
gecastet und das soll recht langsam sein. Quad sind dann auch nur 53bit, nicht 64bit.
Das wird sicherlich alles noch nach und nach in die Dokumentation kommen, die momentan
nur von PB übernommen ist. Deshalb ja noch Alpha. ;)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Justin
Beiträge: 167
Registriert: 09.09.2008 16:46

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von Justin »

Moin,

naja, in Zeiten, in denen sehr viele Java- Script in den Browsern deaktiviert haben, weiss ich nicht, wo das hinführen soll. Aber mal sehen, bisher sind ja in den unterstützten Lib´s mehr nicht unterstützte Funktionen als unterstützte Lib´s :)

Und die Aussage, dass es möglich werden soll, NATIVE Programme für IOS und Android zu entwickeln, halte ich für sehr vollmundig. Endweder mit absicht irreführend wie bei RealBasic (oder wie das jetzt heißt) beschrieben, oder eine sehr langfristige Planung - so zehn Jahre.

Wenn eine NATIVE unterstützung für Android verfügbar ist, bin ich dabei. Dann würde ich sogar mehr auf den Tisch legen, aber sory, aber PB hat sich mit neuen Technologien schon immer schwer getan. Die zum teil mangelhalfte Unterstützung mancher Gadgets unter Windows, geschweige unter Linux oder Mac, lässt mich zweifeln ob der Fähigkeit einer App- Entwicklung.

Und sich wieder den Schuh "Basic" im Namen anzuziehen - hat doch PB weniger mit einem Basic als mit einem C gleich. Schon der Name wird, wie es mit PB auch ist, nur einen kleinen "Freundeskreis" erreichen - keiner will mehr etwas mit einer Programmiersprache zu tun haben, die ein Basic im Namen trägt - egal ob sie gunt ist oder nicht.
PB 5.11 x64 / Kubuntu 12.10 x64 | Windows 7 x64
Benutzeravatar
ProgOldie
Beiträge: 236
Registriert: 19.05.2012 17:09
Computerausstattung: Windows11, Arduinos, Pi3, PureBasic 6.02

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von ProgOldie »

Schon der Name wird, wie es mit PB auch ist, nur einen kleinen "Freundeskreis" erreichen - keiner will mehr etwas mit einer Programmiersprache zu tun haben, die ein Basic im Namen trägt - egal ob sie gunt ist oder nicht.
Das stimmt so sicher nicht, denn der Erfolg von "BasicforAndroid(B4A) " zeigt genau das Gegenteil. Mit B4A kann man wirklich schnell mächtige Apps entwickeln.
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18
Justin
Beiträge: 167
Registriert: 09.09.2008 16:46

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von Justin »

jup, richtig. Das währe mit PB auch so, aber zugeben will keiner, dass man das mit einem "Basic" erstellt hat. Leider ist es halt so, dass "Basic" immernoch mit "Anfänger, minderwertig und ohne Leistung" in Verbindung gebracht wird.
Ich bin selbstverständlich nicht der Meinung, PB und B4A sind sehr gute Beispiele dafür.
PB 5.11 x64 / Kubuntu 12.10 x64 | Windows 7 x64
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: SpiderBasic 1.0 alpha steht bereit

Beitrag von c4s »

@Justin
Hm, dein vorheriger Beitrag ist... /:-> Nur eine Sache möchte ich davon nicht unkommentiert stehen lassen:
Justin hat geschrieben:naja, in Zeiten, in denen sehr viele Java- Script in den Browsern deaktiviert haben, weiss ich nicht, wo das hinführen soll.
Eine interessante Aussage, die ich zugleich widerlegen möchte: Tatsächlich hat nur ein vernachlässigbar kleiner Prozentsatz der Internetgemeinde JavaScript deaktiviert (Quelle: eigene Erfahrung & StackOverflow-Diskussion).
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Antworten