PureBasic 4.40 final released

Ankündigungen PureBasic oder die Community betreffend.
Benutzeravatar
Kurzer
Beiträge: 1617
Registriert: 25.04.2006 17:29
Wohnort: Nähe Hamburg

Re: PureBasic 4.40 final released

Beitrag von Kurzer »

Da ich auch beruflich mit Programmierung und Programmierern zu tun habe, gebe ich Dir absolut Recht, Edel.
In vielen Fällen, z.B. bei großen Teamprojekten ist man mit den "fetten Teilen" (RADs) besser bedient.

Allerdings sagte mir PureBasic im Hinblick auf diese Eigenschaft sehr zu (Größe der Exe, kein Framework) und es war ein Hauptargument mich dafür zu entscheiden.

Vermutlich brauche ich das als Ausgleich, weil ich im Job durch diese MB-Monster total versaut werde. :lol:
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.02 x64, OS: Win 7 Pro x64 & Win 11 x64, Desktopscaling: 125%, CPU: I7 6500, RAM: 16 GB, GPU: Intel Graphics HD 520
Useralter in 2024: 56 Jahre.
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem
Wohnort: Bremen

Re: PureBasic 4.40 final released

Beitrag von Pelagio »

Erst einmal :bounce: das PB4.40 das Licht der Welt erblickt hat,

es sind interessante Neuerungen eingeflossen mit denen, ich wenigstens, sehr gut Arbeiten werden können aber wie immer, wenn man intensiver mit einer Sache sich beschäftigt, findet man etwas was verbessert werden könnte.
Mir ist jetzt, da ich intensiver mit PB4.40 mich beschäftige etwas aufgefallen, mit dem man zwar leben kann aber von der Logik wäre es besser dies über kurz oder lang zu ändern.
Wenn ich einen Text mit DrawText drucken will so muss ich grundsätzlich die Hinter- und Vordergrundfarbe mit angeben (#Black, #White) da ansonsten ich nur eine schwarze Box ausgedruckt bekomme. Bei DrawRotatedText wird ohne die Farben der Text korrekt ausgedruckt. Ich bin der Meinung das auch DrawText einen Ausdruck korrekt auf Normalpapier (schwarze Schrift auf weißem [Transparenten] Hintergrund) zeichnen sollte ohne die zusätzlichen Farbinformationen.
Zum besseren Verständnis:

Code: Alles auswählen

If PrintRequester()
   If StartPrinting("PureBasic Test")
      PrintFont.l = LoadFont(0, "Arial", 60)
      DC.l = StartDrawing(PrinterOutput())
      Printtext.s = "PureBasic Printer Test 1" + Space(4) + "PureBasic Printer Test 2"
      If DC  
      	DrawingFont(PrintFont)
      	DrawRotatedText(100, 100, PrintText, 0)
         DrawText(100, 200, Printtext)
         DrawText(100, 300, Printtext, #Black, #White)
         StopDrawing()
      EndIf
      StopPrinting()
   EndIf
EndIf
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win11Pro; PB6.20 LTS]. :allright:
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: PureBasic 4.40 final released

Beitrag von rolaf »

Also auch von mir erst mal herzlichen Dank für die neue Version. Die ersten Eindrücke sind fantastisch. :allright:

Jetzt müßte meiner Meinung mal der absolut nicht mehr passende VD einer Operation unterzogen werden. Dann erübrigt sich zumindest teilweise die Diskussion über PB und den "NET-Datenmonstern". :mrgreen:
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Re: PureBasic 4.40 final released

Beitrag von Macros »

Was will ich mit einem Visual Designer?
damit kann man nie so schöne Sachen machen wie folgendes:

Code: Alles auswählen

ForEach spieler()
  pos=ListIndex(spieler())+1
  a=0
  StringGadget(pos*100+a,55+pos*100,15+a*30,90,25,"Spieler"+Str(pos))
  For a=1 To 14
    StringGadget(pos*100+a,55+pos*100,15+a*30,90,25,"",#PB_String_ReadOnly)
  Next
Next
Und aus eigener Erfahrung kann ich sagen: PB ist durchaus für größere Projekte geeignet,
zumindest bis 50k Zeilen, wobei die Angabe Schwachsinn ist, denn in C++ sind das gute 100k :wink:
Beispiel (grobe Schätzung) 10.000 Zeilen: Ein Prüfstand, der gleichzeitig mit Kamera über Ethernet, Motor über K-Line und Can Interface arbeitet,
nebenbei noch eine Parallele Schnittstelle abfragt (Notaus und andere Knöpfe) , Reihenfolge und Parameter der Prüfschritte konfigurierbar, Arbeiterebene, Konfigurationsebene, Normen der Kamera... Alles mögliche
Läuft tadellos und der Auftraggeber ist zufrieden. Den Code konnte ich zu 50% runterschreiben, das hätte mich bei C++/Java schon deutlich mehr Zeit gekostet.
Und die resultierende Executable hat 14.5 KB, einfach nur geil ^^
Bild
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: PureBasic 4.40 final released

Beitrag von Andesdaf »

wie lange sollen eigentlich noch 'CountList', 'CreateGadgetList' und andere bei PB 4.30
herausgenommene Befehle gültig sein, sodass man sie noch in seinem Code verwenden
kann?
Win11 x64 | PB 6.20
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Re: PureBasic 4.40 final released

Beitrag von roherter »

Immer noch Avira Virus Meldung beim compilieren

TR/Crypt.ZPACK.Gen
:roll: :roll: :roll:
Purebasic 5.0 32bit und 64 bit

I'm back from hell
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: PureBasic 4.40 final released

Beitrag von ts-soft »

roherter hat geschrieben:Immer noch Avira Virus Meldung beim compilieren

TR/Crypt.ZPACK.Gen
:roll: :roll: :roll:
Und warum meldest es hier und nicht bei AVIRA? Schließlich sind die für Ihre
Programme verantwortlich. Hier, die URL, die Du wahrscheinlich auswählen
wolltest: http://analysis.avira.com/samples/index.php
Benutzeravatar
rolaf
Beiträge: 3843
Registriert: 10.03.2005 14:01

Re: PureBasic 4.40 final released

Beitrag von rolaf »

Macros hat geschrieben:Was will ich mit einem Visual Designer?
damit kann man nie so schöne Sachen machen wie folgendes:

Code: Alles auswählen

ForEach spieler()
  pos=ListIndex(spieler())+1
  a=0
  StringGadget(pos*100+a,55+pos*100,15+a*30,90,25,"Spieler"+Str(pos))
  For a=1 To 14
    StringGadget(pos*100+a,55+pos*100,15+a*30,90,25,"",#PB_String_ReadOnly)
  Next
Next
Jo und, nimmt dir doch keiner? :freak: Kannst auch auf dem Klo vorher die Brille komplett hochklappen und auf der nackten Schüssel hocken. Deshalb ist die Klobrille dennoch sinnvoll. <)
:::: WIN 10 :: PB 5.73 :: (x64) ::::
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PureBasic 4.40 final released

Beitrag von Kiffi »

Macros hat geschrieben:Was will ich mit einem Visual Designer?
damit kann man nie so schöne Sachen machen wie folgendes:

Code: Alles auswählen

ForEach spieler()
  pos=ListIndex(spieler())+1
  a=0
  StringGadget(pos*100+a,55+pos*100,15+a*30,90,25,"Spieler"+Str(pos))
  For a=1 To 14
    StringGadget(pos*100+a,55+pos*100,15+a*30,90,25,"",#PB_String_ReadOnly)
  Next
Next
für solche Listendarstellungen ist PB freilich sehr gut geeignet.
(übrigens verdaddelst Du in Deinem Beispiel ne Menge Speicher ;-)).

Wenn es aber um die umfangreiche & individuelle Positionierung und
Verwaltung von Gadgets geht, dann fangen die Fingerkuppen recht
schnell an zu bluten, weil man über die Maßen viel Tipparbeit leisten
muss.

Ich habe mal ganz willkürlich eine GUI rausgesucht, die nicht mal
'so eben' erstellt ist:

http://www.tobias-schwarz.net/webalizer_gui.html

Ein VD in Zusammenhang mit einem schicken Eventhandling (a la EasyVENT)
wäre schon der Kracher. Leider ist zumindest der feature request
nach einem alternativen nativen Eventhandling von Fred abgebügelt worden.

http://www.purebasic.fr/english/viewtop ... =3&t=39805

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Re: PureBasic 4.40 final released

Beitrag von Macros »

Wieso verdaddle ich Speicher?
Das ist mir nicht ganz klar.

Ich bin es inzwischen so gewohnt mit PB Methoden Oberflächen zu erstellen, mir gehen Visual Designer auf den Geist ;)
Wenn ich da jetzt die großen Vorteile nennen will, wirds etwa ausführlicher.
Aber stell dir vor, du hats eine Reihe von Tests für den Prüfstand (oben erwähnt) Und bei jedem muss der Test Testparameter festlegen.
Mit PB war es für mich ein Klacks, auf dem Fenster in einem bestimmten Bereich, je nachdem welcher Test ausgewählt wird,
eine Reihe von Gadgets anzuzeigen und mit Werten zu füllen/Die Werte zu speichern.

Zur Oberfläche die du gezeigt hast als Beispiel:

Code: Alles auswählen

Gadget$="12-Monats-Statistik|URLs|Suchworte,|Monatliche Statistik|Hosts|Referrer|Tägliche Statistik|"
Gadget$+"Eingangsseiten|User-Namen|Stündliche Statistik|Ausgangsdaten|User Agents"
For a=1 To 3
  For b=0 To 3
    ButtonGadget(a+b*3,5+(a-1)*150,5+b*40,140,35,StringField(Gadget$,a+b*3,"|"))
  Next
Next

Und das tippe ich schneller als einer VD die Gadgets hinklickt.
Ebenso fülle ich die Panels, nur ein paar Elemente muss ich wirklich einzeln eintippen.
Bild
Antworten