Module für PureBasic 5.2x LTS

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von RSBasic »

BufferQueue.pbi (NicTheQuick)
Basierend auf folgendem Code: Monitor-Module

Code: Alles auswählen

DeclareModule BufferQueue
   EnableExplicit
   
   DebugLevel 0
   
   CompilerIf Not #PB_Compiler_Thread
      CompilerError "Please activate the thread safe option!"
   CompilerEndIf
   
   #STRING_BUFFER_SIZE = 64
   
   Interface BufferQueue
      free.i()
      
      popAscii.a()
      popByte.b()
      popUnicode.u()
      popWord.w()
      popCharacter.c()
      popLong.l()
      popFloat.f()
      popDouble.d()
      popQuad.q()
      popInteger.i()
      popString.s(format.i = -1)
      
      popMemory.i(*buffer, length.i)
      
      pushAscii(a.a)
      pushByte(b.b)
      pushUnicode(u.u)
      pushWord(w.w)
      pushCharacter(c.c)
      pushLong(l.l)
      pushFloat(f.f)
      pushDouble(d.d)
      pushQuad(q.q)
      pushInteger(i.i)
      pushString(s.s, format.i = -1)
      
      pushMemory(*buffer, length.i)
   EndInterface
   
   Declare.i newBufferQueue(size.i = 4096)
EndDeclareModule
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von RSBasic »

ButtonColorGadget.pbi (mk-soft)

Erstellung und Festlegung der Farbe eines eigenen Buttons.

Code: Alles auswählen

DeclareModule ButtonColorGadget
 
  Declare Create(id, x, y, dx, dy, text.s, frontcolor = $000000, backcolor = $C0C0C0)
 
EndDeclareModule
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von RSBasic »

CvField.pbi (Andesdaf)

Modul für Text- und Bildfelder im CanvasGadget

Code: Alles auswählen

DeclareModule CvField
  Enumeration
    #TYPE_TEXT
    #TYPE_IMAGE
   
    #POS_HRIGHT
    #POS_HMIDDLE
    #POS_HBOTTOM
    #POS_BORDER
    #POS_CENTER
   
    #MODE_BEGIN
    #MODE_DRAW
    #MODE_END
   
    #TEXT_LEFT
    #TEXT_CENTER
    #TEXT_RIGHT
   
    #STACK_TOP
    #STACK_BOTTOM
    #STACK_UP
    #STACK_DOWN
  EndEnumeration
 
  UseJPEGImageDecoder()
  UseJPEG2000ImageDecoder()
  UsePNGImageDecoder()
  UseTIFFImageDecoder()
  UseTGAImageDecoder()
 
  Declare.i AddLevel(sName.s, piGadget.i)
  Declare.i SetCurrentLevel(sName.s)
  Declare.i GetLevels(List pllLevels.s())
  Declare.i DeleteLevel()
  Declare.s LevelBackImage(psValue.s = "")
  Declare.i LevelBackColor(piValue.i = -1)
  Declare.i AddField(piType.i, piX.i = 0, piY.i = 0, piWidth = 0, piHeight = 0)
  Declare.i DeleteField()
  Declare.i SetFieldStack(piPosition.i)
  Declare.i GetActionFromMouse()
  Declare.i MoveField(piMode.i)
  Declare.i ResizeField(piHandle.i, piMode.i)
  Declare.i SelectField(piDeselect.i = 0)
  Declare.i SetSelectedField()
  Declare.i FieldType()
  Declare.s FieldText(psValue.s = "<!IGNORE>")
  Declare.i FieldTextAlign(piValue.i = -1)
  Declare.i FieldTextWordwrap(piValue.i = -1)
  Declare.s FieldImage(psValue.s = "")
  Declare.i FieldImageConstant(piValue.i = -1)
  Declare.s FieldFontName(psValue.s = "")
  Declare.i FieldFontSize(piValue.i = -1)
  Declare.i FieldFontStyle(piValue.i = -1)
  Declare.i FieldFontColor(piValue.i = -1)
  Declare.i Redraw()
 
EndDeclareModule
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von Thorsten1867 »

cmCipher.pbi (Bisonte)
Windows / Linux / MacOS

Dieses Modul soll die PureAES-UserLibrary von Gnozal ersetzen.

Momentan besteht dieses Modul aus 2 Funktionen:
AES_Encrypt() verschlüsselt einen Speicherblock per AES 256 und
AES_Decrypt() entschlüsselt ihn wieder.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von RSBasic »

GradientText.pbi (Thorsten1867)

Text mit Farbverlauf als Hintergrund

Code: Alles auswählen

DeclareModule GradientText
  Declare SetBackColor(GadgetID.i, StartColor.i, EndColor.i)
  Declare SetTextColor(GadgetID.i, Color.i)
  Declare SetFont(GadgetID.i, Font.i)
  Declare SetText(GadgetID.i, Text.s)
  Declare Gadget(GadgetID.i, X.i, Y.i, Width.i, Height.i, Text.s, StartColor.i, EndColor.i, Flags.l=#False)
EndDeclareModule
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von Thorsten1867 »

Infoleiste (SBond)
Windows

Die wichtigsten Funktionen der Infoleiste:

- jede GUI kann beliebig viele Infoleisten besitzen
- es können mehrere Infoleisten auf mehreren Fenstern gleichzeitig verwaltet werden
- die Infoleiste kann frei plaziert werden und bietet verschiedene Optionen, sowie Autoresize-Einstellungen
- Infoleisten können ausgeblendet werden
- jede Infoleiste kann beliebig viele Felder verwalten
- jede Infoleiste kann beliebig viele Elemente verwalten
- die SizeBox der Infoleiste kann optional ein- und ausgeschaltet werden
- jede Infoleiste besitzt ihre eigenen Elemente
- die Infoleiste, die Elemente und die Felder werden automatisch synchronisiert
- das Aktualisierungsintervall kann angepasst werden (siehe Standard-Einstellungen im Modul)
- alle Elemente generieren Eventinformationen (auch Textfelder)
- jede Infoleiste verfügt über ein eigenes Kontextmenü, das optional auch deaktiviert werden kann
- das Kontextmenü wird alphabetisch sortiert und unterstützt Symbole, sowie Haupt- und Nebenkategorien
- jedes Element kann Tooltips und Ballon-Tipps anzeigen
- Tooltips und Ballon-Tipps können neben dem Text auch einen Titel und ein Symbol anzeigen
- Tooltips können "live" aktualisiert werden
- die Parameter und Einstellungen der Element-Typen sind vollkompatibel mit den Gadgets in PureBasic
- unterstützte Element-Typen in der Infoleiste:
  • ButtonGadget
    ButtonImageGadget
    CanvasGadget
    CheckBoxGadget
    ComboBoxGadget
    DateGadget
    ExplorerComboGadget
    HyperLinkGadget
    IPAddressGadget
    ProgressBarGadget
    ScrollBarGadget
    ShortcutGadget
    SpinGadget
    StringGadget
    TextGadget
    TrackBarGadget
Zuletzt geändert von Thorsten1867 am 01.04.2014 15:33, insgesamt 1-mal geändert.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Module für PureBasic 5.2x LTS

Beitrag von Bisonte »

AddEvents.pbi (Bisonte)
Windows only

Fügt Gadgets nicht unterstützte Events hinzu.
Bsp.: Event für FreeGadget oder einem ImageGadget eine MausPositions Abfrage wie in einem CanvasGadget...

Code: Alles auswählen

DeclareModule AddEvents
 
  Declare AE_AddEvents(Window, Gadget) ; Add #PB_EventTypes to a gadget
  Declare AE_GadgetMouseX(Gadget)      ; Get MouseX in a gadget (like WindowMouseX()) if AE_AddEvents() registered this gadget
  Declare AE_GadgetMouseY(Gadget)      ; Get MouseY in a gadget (like WindowMouseY()) if AE_AddEvents() registered this gadget
  Declare AE_SetEventType_FreeGadget(EventTypeValue) ; Set the EventType Value to your Custom Value
  Declare AE_GetEventType_FreeGadget()               ; Get the actual EventType Value for #EventType_FreeGadget
 
EndDeclareModule
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von RSBasic »

ScalingWindow.pbi (mk-soft)

Das Modul skalliert automisch alle Gadget die zum Fenster gehören.

Code: Alles auswählen

DeclareModule ScalingWindow
 
  Declare AddScaleWindow(id)
  Declare ScaleWindow(id)
  Declare RestoreWindow(id, position = 0)
 
EndDeclareModule
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von RSBasic »

MenuCommand.pbi (hjbremer)

Dieses Modul ist gedacht für dynamische PopUp Menus, mit unbekannter Anzahl der Einträge. Es aktiviert die #WM_MENUCOMMAND Message für ein Menu und schaltet die Eventverarbeitung des betreffenden Menus für PB ab. Die Event Auswertung erfolgt deshalb grundsätzlich im MainCallback.

Code: Alles auswählen

DeclareModule MenuCommand
   
   EnableExplicit
   
   Declare.s GetMenuText(menuid, pos)              ;holt den Menutext
   Declare.i GetMenuData(menuid)                   ;holt einen Wert gesetzt mit SetMenuCommand()
   Declare.i SetMenuCommand(menuid, menudata = 0)  ;aktiviert #WM_MenuCommand Message
   
   Declare.i MenuItemBreak(menuid, pos, text$)     ;teilt Menu auf, ab pos neue Spalte
     
EndDeclareModule
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Re: Module für PureBasic 5.2x LTS

Beitrag von Thorsten1867 »

ChartGadgetModule.pbi (uwekel)
Windows / Linux? / Mac?

ChartGadget für Balken- und Liniendiagramme

Code: Alles auswählen

DeclareModule Chart
  Declare Paint(Gadget.i)
  Declare Set(Gadget.i, Setting.i, Value.i)
  Declare Row(Gadget.i, Name.s, Type.i, Color.i, Flags.l=0)
  Declare Column(Gadget.i, Name.s)
  Declare Value(Gadget.i, Row.s, Column.s, Value.f, Flags.l=0)
  Declare Text(Gadget.i, Type.i, Text.s)
  Declare Clear(Gadget.i, Flags.l=0)
  Declare.i Gadget(Gadget.i, x.i, y.i, w.i, h.i, Flags.l=0)
EndDeclareModule    
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Antworten