Seite 4 von 10

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 23.01.2014 06:17
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:

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 23.01.2014 07:10
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

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 23.01.2014 09:35
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. ;)

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 24.01.2014 13:41
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 ;-)

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 25.01.2014 07:07
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:

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 25.01.2014 14:57
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. ;)

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 25.01.2014 17:36
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.

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 25.01.2014 18:34
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.

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 25.01.2014 19:04
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.

Re: SpiderBasic 1.0 alpha steht bereit

Verfasst: 25.01.2014 19:06
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).