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
Thorsten1867
Beiträge: 1359
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Module für PureBasic 5.2x LTS

Beitrag von Thorsten1867 »

Solange es keinen besondere Sparte im Forum für Module gibt, dachte ich mir, dass es vielleicht sinnvoll wäre diese hier zu sammeln und mit einer kurzen Beschreibung zu versehen.

Bitte hier also keine Kommentare und Fragen zu den Modulen selbst.

__________________________________________________
Thread als Wichtig markiert
02.03.2014
RSBasic
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

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 »

ResizeWindowModule.pbi
PB V5.2x LTS / V5.3x
Windows / Linux / MacOS

Diese Modul hat zwei grundlegende Funktionen:

1. Automatische Anpassung der Gadgets an die geänderte Fenstergröße
- proportionales Resize zweier (bzw. mehrerer) Gadgets möglich
- automatisches Resize einer gewählten Spalte bei ListIcons

2. Speichern & Wiederherstellen der letzten Fensterposition und -größe
- speichern der Spaltenbreiten von ListIcons möglich
Zuletzt geändert von Thorsten1867 am 01.08.2014 15:13, insgesamt 2-mal geändert.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

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 »

ListIconModule.pbi
PB V5.2x LTS / V5.3x
Windows / Linux (z.T.) / MacOS (z.T.)

Zusätzliche Funktionen / einfache Bearbeitungsfunktion / spezielle Sortiermöglichkeiten

--- nur Windows ---
- Kopfzeile und Spalten ausrichten (Links/Rechts/Zentriert)
- automatische Spaltenbreite
- Zeichensatz ändern
- Spalten zählen
- Sortieren bei Klick auf Spaltenkopf (incl Sortierrichtungswechsel)
- Einträge bearbeiten nach Doppelklick

--- plattformübergreifend ---
- Zeilen sortieren nach deutschen Regeln (DIN 5007)
- Mehrfachsortierung mit max. 3 Spalten (z.B. Geschlecht, Nachname, Vorname)
- benutzerdefinierter Sortierschlüssel anstatt Listenspalte möglich (Standard und/oder für jede Spalte)
- Sortierung von Float / Integer möglich
Zuletzt geändert von Thorsten1867 am 01.08.2014 15:13, insgesamt 2-mal geändert.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

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 »

AppRegistryModule.pbi
PB V5.2x LTS / V5.3x
Windows / Linux / MacOS

Registry für für eigene Andwendungen
Damit können alle benötigten programmspezifischen Werte und Einstellungen abgelegt werden und stehen dann beim nächsten Programmstart wieder zur Verfügung.
Beispiele:
- Programmeinstellungen speichern
- letztes Verzeichnis merken für Datei-Auswahldialoge
- letzte Benutzeraktion merken (weitermachen, wo man aufgehört hat)
- .....
Zuletzt geändert von Thorsten1867 am 01.08.2014 15:13, insgesamt 1-mal geändert.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

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 »

Registry.pbi (ts-soft)
nur Windows

Ein kleines Modul zum Benutzen der Windows Registry.

Funktionen:
Delete Value or Key.
Read Entry.
Write Entrys.
...

Unterstützung von Read and Write:
#REG_BINARY (requires the *Ret.RegValue parameter)
#REG_DWORD
#REG_QWORD
#REG_SZ
#REG_EXPAND_SZ (auto expanded on read)
#REG_MULTI_SZ (the result is a String with #LF$ as separator, the same for value)

Wow6432Node is supported as flag!
x86, x64, ascii and unicode supported.
Zuletzt geändert von Thorsten1867 am 02.03.2014 15:55, insgesamt 1-mal geändert.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

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 »

OnlyOne.pbi (ts-soft)
Windows / Linux / MacOS

Nur eine Instanz eines Programmes ausführen.

Funktionen:
- InitOne(wID, OnlyOneName.s, CustomEvent = #PB_Event_FirstCustomValue, TimerID = 1, TimeOut = 2000)
- ReleaseOne()
- GetParameters()
Zuletzt geändert von Thorsten1867 am 02.03.2014 16:10, insgesamt 1-mal geändert.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

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 »

TagReader.pbi (ts-soft)
Windows / Linux / MacOS

Auslesen von MP3 Tags

Funktionen:
Dieses Modul liest MP3v1 und MP3v2 Tags von MP3-Dateien.
(nur Text-Tags werden unterstützt)
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

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 »

ZipEx.pbi (ts-soft)
Windows

Extrafunktionen für ZipPacker

Funktionen:
- AddEmptyDir(ID, dir.s) ; add a empty directory to archiv
- CountEntries(ID, flags = 0) ; returns the number of files in the zip archive, or -1 if archive is NULL
- GetIndex(ID, FileName.s, flags = 0) ; Found index by Name
- GetArchivComment(ID, flags = 0) ; reads the archiv comment
- GetFileComment(ID, index.q, flags = 0) ; reads the file comment
- SetArchivComment(ID, comment.s) ; add a comment to archiv
- SetFileComment(ID, index.q, comment.s) ; add a comment to file
- SetDefaultPassword(ID, password.s) ; works only for unpacking!
- AddUnpackedFile(ID, FileName.s, PackedFilename.s) ; add a file without compression!
- GetName(ID, index.q, flags = 0)
- RenameEntry(ID, index.q, newname.s, flags = 0)
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
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: Module für PureBasic 5.2x LTS

Beitrag von ts-soft »

RichEdit.pbi (ts-soft / neotoma)
Windows Only

Code: Alles auswählen

Interface RichEdit
  Free(); gibt das Gadget und den Objektspeicher frei
  GetID.i(); gibt die PB ID zurück
  GethWnd.i(); gibt das OS-Handle zurück
  GetX.i(); X-Koordinate
  GetY.i(); Y-Koordinate
  GetWidth.i(); Editorbreite
  GetHeight.i(); Editorhöhe
  GetReadOnly.i(); ermitteln ob ReadOnly oder nicht
  GetCursorX.i(); Zeile der Schreibmarke
  GetCursorY.i(); Spalte der Schreibmarke
  GetFont.s()
  GetFontSize.i()
  GetFontStyle.l()
  GetZoom.i(); Gibt Zoom in Prozent zurück
  Resize(x.l, y.l, w.l, h.l)
  DisableRedraw.i(bVal.i = #True); Verhindert das Neuzeichnen des Editor
  Clear(); Editor leeren
  GetText.s()
  GetRTFText.s(); Gibt den RTF-Stream als String zurück
  GetSelText.s()
  FindText.i(Text.s, Flags.l = #FR_DOWN); Flags: #FR_DOWN, #FR_MATCHCASE, #FR_WHOLEWORD
  CountWords.i()
  Cut()
  Copy()
  Paste()
  BeginUndo(); startet die Undo-Aufzeichnung
  StopUndo(); beendet die Undo-Aufzeichnung
  CanUndo.i()
  Undo()
  Redo()
  LoadRTF(FileName.s, insert.l = #False)
  LoadText(FileName.s, insert.l = #False)
  SaveRTF(FileName.s)
  SaveText(FileName.s)
  Print(DocName.s = "pbprint", dialog.i = #False)
  SetFont.i(Name.s)
  SetFontSize.i(Size.l)
  SetFontStyle.i(Style.l = 0)
  SetZoom.i(zoom.i); Setzt Zoom (in Prozent)
  SetAlignment(Flag.l = #PB_Default); #PB_Text_Center, #PB_Text_Right
  SetLeftMargin(pixel.w)
  SetRightMargin(pixel.w) 
  SetCtrlBackColor.i(Color.l)
  SetTextBackColor.i(Color.l)
  GetTextBackColor.i()
  ClearTextBackColor.i() 
  SetTextColor.i(ForeColor.l, BackColor.l = #PB_Default)
  SetSelection.i(LineStart.l, CharStart.l, LineEnd.l = #PB_Default, CharEnd.l = #PB_Default)
  IsTextSelected.i(); #True, wenn eine Selektion vorhanden ist
  SetText.i(Text.s); fügt Text an cursorposition ein, bzw. ersetzt selektion
  SetReadOnly.i(Flag.l); ReadOnly setzen oder entfernen
  SetCursorPos.i(x.l, y.l); Schreibmarke setzen
  SetWordWrap.i(Flag.l); schaltet Zeilenumbruch (standard) ein oder aus
  SelectAll.i(); Selektiert den ganzen Text
  Unselect()
  Indent.i(mm.i = 10); Einrückung in mm (nach rechts)
  Outdent.i(mm.i = 10); Ausrückung in mm (nach links) 
  ScrollToLine(line.i)
  GetParagraphAlign.l()
  GetLineSpacing.f()
  SetLineSpacing.i(vInter.f)
  IsModified.i()
  SetModified.i()
  IsLink.i()                          ;; Weil GetFontStyle nur die PB-KOnstanten unterstützt, aber für Links keine vorhanden list 
  GetWordUnderMouse.s(x.i, y.i)       ; x,y = Mouseposition relativ zum Gadget !!!
  GetCurrentWord.s()   
  Replace.i(ToReplace.s, Text.s, Flags.i = 0)
  ReplaceAll.i(ToReplace.s, Text.s, Flags.i = 0)
  SetBulleted.i() 
  GetLineCount.i() 
  IsSuperscript()
  SetSuperscript()
  IsSubscript()
  SetSubscript()
  ChangeFontSize(iDelta.i=1)
  LimitText(iLimitTo.i)
  HideSelection(bVal.i=#True)
  SetUnderlineWave()
  ClearUnderlineWave()
  Redraw()
  GetTextLength()
  GetTextColor()
  IsSmallCaps()
  SetSmallCaps(bVal.i = #True)
  IsAllCaps()
  SetAllCaps(bVal.i = #True)
  CanPaste()
  GetCursorPosition()
  GetWordAtPosition.s(Pos.i)
  GetFirstVisibleLineNumber.i()
  GetFirstVisibleLinePos.i()
  GetFirstVisibleLineText.s()
  GetLastVisibleLineNumber.i() 
  GetLastVisibleLinePos.i()
  GetLastVisibleLineText.s() 
  GetCharPosOfPreviousWord.i(Pos.i)
  GetCharPosOfNextWord.i( Pos.i )
  EmptyUndoBuffer()
  GetFirstCharPosOnLine(iLine.i) 
  GetLineLength(iLine.i)
  IsAlignLeft()
  IsAlignCenter()
  IsAlignRight()
  IsAlignJustify()
  GetWordUnderCursorStart()
  GetWordUnderCursorEnd()
  GetScrollPosX()
  GetScrollPosY()
  SetScrollPos(x.i, y.i)
  SetLink(bVal = #True)
  SetUndoLimit(Limit.i) 
  AppendText(Text.s)   ; appends Text at the end
 
EndInterface
Zuletzt geändert von ts-soft am 02.03.2014 17:36, insgesamt 1-mal geändert.
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
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: Module für PureBasic 5.2x LTS

Beitrag von ts-soft »

notify.pbi (ts-soft / Idle)
Linux only

Code: Alles auswählen

  Declare.i New(Title.s,
                Message.s,
                Img.s = "",     ; The optional icon theme icon name or filename.
                ImageID.i = 0,  ; The optional ImageID from a by PB loaded Image.
                AppName.s = "", ; Optional to reset appname
                urgency.l = #NOTIFY_URGENCY_NORMAL,
                timeout.l = #NOTIFY_EXPIRES_DEFAULT)  ; Initialized libnotify.
 
 
  Interface INotify
    Free()              ; free instances and eventually uninitialized libnotify.
    Show()
    Update(Title.s, Message.s, Img.s = "", ImageID.i = 0)
    Close()
    Get_AppName.s()
    Set_AppName(AppName.s)
    Get_ServerInfo.s(ServerInfoType.l)
    Get_ServerCaps(List ServerCaps.s())
    Add_Action(Action.s, Label.s, *Callback = 0, *User_data = 0)
    Clear_Actions()
  EndInterface 
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
Antworten