Seite 1 von 4

Module für PureBasic 5.6x

Verfasst: 24.09.2017 13:29
von Thorsten1867
Sammlung von Modulen die mit PureBasic 5.6x funktionieren.

Bitte hier keine Kommentare und Fragen zu den Modulen selbst.

AppRegistryModule.pbi - Registry für für eigene Andwendungen
ChartGadgetModule.pbi - Gadget für Linien- und Balkendiagrammegadget
CustomFrameModule.pbi Eigenes FrameGadget (Textfarbe & Font änderbar)
CustomGadgetModule.pbi - Sammlung benutzerdefinierter Gadgets
Date64Module.pbi - Datumsfunktionen für Unix Time Format 64 (>= 2038)
DynamicDialogsModule.pbi - Einfache Erstellung komplexer dynamischer Fenster
DynamicGUI_Module.pbi - Dynamische GUI mit automatische Größenanpassung der Gadgets sowie speichern & wiederherstellen von Fensterposition und -Größe
EditExModule.pbi - Erweitertes Editor-Gadget (z.B. Silbentrennung)
GadgetDataExModule.pbi - Extended GadgetData
GetLocalDateModule.pbi - Return date and time as a simple structure
GridExModule.pbi - Tabellen Gadget
FileInfoModule.pbi - Informationen der ausführbareren Datei auslesen
GradientTextModule.pbi - Text mit Farbverlauf als Hintergrund
ListExModule.pbi - Editierbares & sortierbares ListGadget
ListIconModule.pbi - ListIconGadget sortieren (deutsch), formatieren, editieren usw.
MyBindEventModule.pbi - BindEvent with EventData
MyEventsModule.pbi - Generates events that gadget and windows were removed.
pbPDFModule.pbi - PDF-Dokumente erstellen
PieChartModule.pbi - Kreisdiagramme erstellen
ProgressBarModule.pbi - Colorful Progressbar
PurePdfModule.pbi - PDF-Dateien generieren (PurePDF)
RegistryModule.pbi - Ein Modul zum Benutzen der Windows Registry
ResizeWindowModule.pbi - Vergrößern von Fenstern incl. Gadgets / Speichern von Fensterpostion & -größe
ScaleGadget.pbi - Scaling of all Windows and Gadgets
ThreadControlModule.pbi - Simple ThreadControl without API
TimePickerGadget_AllOS_V0_19.pb - Gadget für die für die Zeiteingabe
UndoModule.pbi - Mehrstufiges Undo/Redo für EditorGadget
ZipModule.pbi - Entfernen und hinzufügen von Dateien aus/in bestehende ZIP-Archive
ZipPlusModule.pbi - Dateien (auch) zu bestehenden Archiven hinzufügen bzw. diese ersetzen oder daraus löschen.

ListIconModule.pbi

Verfasst: 24.09.2017 13:45
von Thorsten1867
ListIconModule.pbi
PB V5.2x LTS - PB V5.6x
(Windows / Linux z.T. / MacOS z.T.)

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

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

--- plattformübergreifend ---
- Spalten zählen
- Farben ändern
- 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

Allgmeine Schlüsselwörter
  • ListIcon::CountListColumns(GadgetID.i) - Anzahl der Spalten ermitteln
    ListIcon::JustifyColumn(GadgetID.i, Column.i, Flag.l=#Center) - Listenspalte formatieren (z.B. zentrieren)
    ListIcon::AutoWidthColumns(GadgetID.i) - benötigte Spaltenbreite automatisch setzen
    ListIcon::SetListItemColumnWidth(GadgetID.i, Position.i, Value.i, Column.i=0) - Spaltenbreite verändern
    ListIcon::GetListItemColumnWidth(GadgetID.i, Position.i, Column.i=0) - Spaltenbreite ermitteln
    ListIcon::SetFont(GadgetID.i, HeaderFont.i, ListFont.i=#False) - Zeichensatz für Listenkopf und Liste ändern
Schlüsselwörter für das Sortieren bzw. Editieren
  • ListIcon::DefineListCallback(GadgetID.i, Flags.l=#False) - Benötigt für das Sortieren durch Mausklick auf Listenkopfspalte bzw. für das Editieren von Zellen
    ListIcon::ResetHeaderSort(GadgetID.i) - Sortierpfeile im Listenkopf entfernen
    ListIcon::SetColumnFlag(GadgetID.i, Column.i, Flags.l) - Flags für Spalte setzen: #String / #Float / #Integer / #NoSort / #NoEdit / #UserSort / #NoResize / #Hide
    ListIcon::DefineSort(GadgetID.i, Norm.l) - Deutsche Sortierung definieren: #Standard / #Lexikon (ä => ae) / #Namen (ä => a)
    ListIcon::AddUserSort(GadgetID.i, Column.i, UserSort.s) - Benutzerdefinierten Text für Sortierung festlegen ("Peter Muster" => "MuPe")
    ListIcon::SortListItems(GadgetID.i, SortCol.i, Flags.l=#False) - Sortrieren der Liste: #UserSort / #Descending / #Ascending / #CaseSensitive / #CaseInSensitive
    ListIcon::MultiSortListItems(GadgetID.i, SortCol1.i, SortCol2.i, SortCol3.i=#PB_Ignore, Flags.l=#False) - Sortieren der Liste nach mehreren Spalten (z.B. Name & Vorname)
    ListIcon::RemoveSortData(GadgetID.i) - Daten zur Sortierung aus dem Speicher löschen
Ersetzte Schlüsselwörter
  • AddGadgetItem() -> ListIcon::AddListItem()
    RemoveGadgetItem() -> ListIcon::RemoveListItem()
    ClearGadgetItems() -> ListIcon::ClearListItems()
    SetGadgetItemData() -> ListIcon::SetListItemData()
    SetGadgetItemImage() -> ListIcon::SetListItemImage()
    SetGadgetItemText() -> ListIcon::SetListItemText()
    AddGadgetColumn() -> ListIcon::AddListColumn()
    RemoveGadgetColumn() -> ListIcon::RemoveListColumn()
    SetGadgetColor() -> ListIcon::SetListColor()
    GetGadgetColor() -> ListIcon::GetListColor()
    SetGadgetItemColor() -> ListIcon::SetListItemColor()
    GetGadgetItemColor() -> ListIcon::GetListItemColor()

UndoModule.pbi

Verfasst: 24.09.2017 14:07
von Thorsten1867
UndoModule.pbi
PB V5.3x LTS - PB V5.6x
(Windows only)

Mehrstufiges Undo & Redo für EditorGadgets

Das Modul bietet ein mehrstufiges, differenzielles Undo und auch eine mehrstufiges Redo.
- es wird für das Undo immer nur der geänderte Text gespeichert (Textvergleich mittels CRC32), um Speicher zu sparen.
- bei jeder Undo-Aktion wird der jeweils aktuelle Text für ein Redo gesichert. Sobald neue Undo-Daten hinzugefügt werden, werden die Redo-Daten gelöscht.
  • Undo::GetCursorChar(GadgetID.i) - Zeichen an Cursor-Position ermitteln
    Undo::AddText(GadgetID.i, Text$="") - Hinzufügen des aktuellen Textes (bzw. Text$) sowie Cursor-Position zur Undo-Liste
    Undo::GetLastText(GadgetID.i) - Erhalte den vorherigen Text sowie entsprechende Cursor-Position
    Undo::SetLastCursor(GadgetID.i) - Setze den Cursor nach dem Undo auf die entsprechende Position
    Undo::SetLastText(GadgetID.i, CurPos.l=#True) - Schreibe in das Gadget den Undo-Text
    Undo::CountUndo(GadgetID.i) - Zähle die vorhandenen Undo-Einträge
    Undo::GetRedoText(GadgetID.i) - Erhalte den Text für Redo
    Undo::SetRedoText(GadgetID.i) - Schreibe in das Gadget den Redo-Text
    Undo::CountRedo(GadgetID.i) - Zähle die vorhandenen Redo-Einträge
    Undo::Clear(GadgetID.i=-1) - Lösche die Undo/Redo-Daten

ResizeWindowModule.pbi

Verfasst: 24.09.2017 14:13
von Thorsten1867
ResizeWindowModule.pbi
PB V5.2x LTS - V5.6x
(Windows / Linux / MacOS)

Vergrößern von Fenstern incl. Gadgets / Speichern von Fensterpostion & -größe

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
- Daten zur Größenänderung des Fensters incl. Gadgets löschen
  • ResizeWindow::AddGadget(WindowID.i, GadgetID.i, Flags.l) - Gadget hinzufügen dessen Größe verändert werden soll
    ResizeWindow::SetResizeColumn(GadgetID.i, Column.i) - Listenspalte (ListIcon/ExplorerList) hinzufügen deren Größe verändert werden soll
    ResizeWindow::SetProportionalResize(GadgetID.i, HFactor.i, VFactor.i, Flags.l=#False) - Größe des Gadget proportional verändern
    ResizeWindow::RemoveGadget(GadgetID.i) - Größe des Gadgets nicht mehr verändern
    ResizeWindow::RemoveWindow(WindowID.i) - Alle Daten zur Größenänderungen des entsprechnden Fensters aus dem Speicher löschen (CloseWindow)
    ResizeWindow::LoadResizeData(AppName.s, File.s="ResizeWindow.reg", Publisher.s="") - Daten zur Größenänderung von Fenstern & Gadgets laden
    ResizeWindow::FreeResizeData() - Daten zur Größenänderung von Fenstern & Gadgets aus dem Speicher löschen
    ResizeWindow::SaveWindow(WindowsID.i) - Daten zur Größenänderung des Fensters incl. Gadgets speichern
    ResizeWindow::SaveListColums(WindowsID.i, GadgetID.i, Columns.i) - Daten zur Größenänderung der Listenspalten speichern
    ResizeWindow::RestoreWindow(WindowsID.i, IgnorePosition.i=#False, State.i=#False) - gespeicherte Fenstergröße wiederherstellen
    ResizeWindow::DeleteWindow(WindowsID.i, ListsOnly.i=#False)

ZipModule.pbi

Verfasst: 24.09.2017 16:37
von Thorsten1867
ZipModule.pbi
PB V5.6x

Entfernen und hinzufügen von Dateien aus/in bestehende ZIP-Archive
  • ZIP::RemoveFile(sZipfile.s, sFileToRemove.s, iCaseSensitiv.i=#False, iFileHdl.i=-1) - Entfernen von Dateien aus einem bestehenden ZIP-Archiv
    ZIP::AddFileFromMem(sZipfile.s, *SrcMem, iSrcSize.i, sZippedFileName.s, iPreFileHdl.i=-1, lDateTime.l=-1) - Hinzufügen einer neuen Datei aus dem Memory in ein neues bzw. bestehendes ZIP-Archiv
    ZIP::AddFile(sZipfile.s, sFileToAdd.s, sZippedFileName.s) - Hinzufügen einer neuen Datei in ein neues bzw. bestehendes ZIP-Archiv
    ZIP::ChangeFileDateTime(sZipfile.s, sFileToModify.s, lUnixTimeStamp.l, iCaseSensitiv.i=#False) - Ändern der gespeicherten FileDateTime in einem bestehendem Archiv
    ZIP::Examine(sZipfile.s, List EntryList.ZIP_EntryData(), iPreFileHdl.i=-1) - Rückgabe aller Dateien eines ZIP-Archives als Liste
    ZIP::GetErrorText(iError.i) - Fehlermeldung ermitteln

AppRegistryModule.pbi

Verfasst: 24.09.2017 17:06
von Thorsten1867
AppRegistryModule.pbi
PB V5.2x LTS - PB V5.6x
(Windows / Linux / MacOS)

Registry für für eigene Andwendungen
  • AppReg::Open(AppName.s, File.s="Registry.xml", Publisher.s="") - Registry-Datei der Anwendung öffnen bzw. erstellen
    AppReg::Close() ; Registry-Datei schließen
    AppReg::Save() ; Registry-Datei speichern
    AppReg::SetValue(hKey.s, key.s, Name.s, Value.s) - Registry-Eintrag schreiben (String)
    AppReg::GetValue(hKey.s, key.s, Name.s, DefaultValue.s="") - Registry-Eintrag auslesen (String)
    AppReg::SetInteger(hKey.s, key.s, Name.s, Value.i) - Integer in Registry-Eintrag schreiben
    AppReg::GetInteger(hKey.s, key.s, Name.s, DefaultValue.i=#Null) - Registry-Eintrag als Integer auslesen
    AppReg::SetFloat(hKey.s, key.s, Name.s, Value.f) - Float in Registry-Eintrag schreiben
    AppReg::GetFloat(hKey.s, key.s, Name.s, DefaultValue.f=#Null) - Registry-Eintrag als Float auslesen
    AppReg::Clear(hKey.s, key.s="") - Inhalt des Registry-Eintrages löschen
    AppReg::Delete(hKey.s, key.s, Name.s) - Registry-Eintrag selber löschen

PurePdfModule.pbi

Verfasst: 26.09.2017 20:21
von Thorsten1867
PurePdfModule.pbi
PB V5.6x
(Windows / Linux / MacOS)

PDF-Dokumente generieren
  • PDF::AcceptPageBreak() - Accept automatic page break or not.
    PDF::Addlink() - Creates a new internal link and returns its identifier.
    PDF::AddPage() - Adds a new page to the document.
    PDF::BookMark() - Add bookmark
    PDF::Cell() - Prints a cell (rectangular area) with optional borders, background color and character string.
    PDF::DrawCircle() - Draw circle
    PDF::DisplayPreferences() - Set viewer preferences
    PDF::DrawEllipse() - Draw ellipse
    PDF::GetErrorCode() - Return the error code.
    PDF::GetErrorMessage() - Return the error message.
    PDF::GetFontSize() - Get current fontsize.
    PDF::GetMultiCellNewLines() - Get the last value of newlines for pdf_MultiCell()
    PDF::GetNumbering() - Return if numbering is #True/#False. Usefull for TOC functions
    PDF::GetNumberingFooter() - Return if numbering in footer is #True/#False. Usefull for TOC functions
    PDF::Image() - Puts an image in the page.
    PDF::ImageMem() - Puts an image from memory in the page.
    PDF::IncludeFileJS() - Include JavaScript file
    PDF::IncludeJS() - Add JavaScript code
    PDF::InsertTOC() - Insert table of contents.
    PDF::DrawLine() - Draws a single line between two points.
    PDF::Link() - Puts a link on a rectangular area of the page.
    PDF::Ln() - Performs a line break.
    PDF::MultiCell() - This method allows printing text with line breaks.
    PDF::MultiCellBlt() - Add multicell with bullet
    PDF::NumPageNum() - Get TOC page number
    PDF::PathArc() - Draws a cubic Bezier curve to the current path.
    PDF::PathBegin() - Begins a new path at the coordinates (x, y).
    PDF::PathEnd() - Closes the current path and draws a line from the current point to the starting point.
    PDF::PathLine() - Draws a line from the current point to (x, y).
    PDF::PathRect() - Draws a rectangle to the current path with upper-left corner (x, y) and dimensions (w, h).
    PDF::Rect() - Outputs a rectangle.
    PDF::ResetBookMark() - Reset bookmarks for new document
    PDF::RoundRect() - Outputs a rounded rectangle.
    PDF::Rotate() - Perform a rotation around a given center.
    PDF::Save() - Save PDF to filename.
    PDF::ScaleX() - Scaling X
    PDF::ScaleY() - Scaling Y
    PDF::ScaleXY() - Scaling XY
    PDF::Sector() - Draw the sector of a circle.
    PDF::SetAFile() - Defines the page and position for file annotations.
    PDF::SetALaunch() - Defines the page and position for a launch action.
    PDF::SetAPopUp() - Defines the page and position for PopUp annotations.
    PDF::SetAText() - Defines the page and position for text annotations.
    PDF::SetDrawColor() - Set color for all stroking operations.
    PDF::SetFillColor() - Set color for all filling operations. PDF::SetLineWidth() - Defines the line width.
    PDF::SetLink() - Defines the page and position a link points to.:
    PDF::SetDash() - Set a dash pattern And draw dashed lines Or rectangles.
    PDF::SetFont() - Sets the font used to print character strings.
    PDF::SetFontSize() - Defines the size of the current font.
    PDF::SetTextColor() - Set color for text.
    PDF::SetNumberingFooter() - Set footer numbering true/false.
    PDF::SetX() - Defines the abscissa of the current position.
    PDF::SetY() - Moves the current abscissa back to the left margin and sets the ordinate.
    PDF::SetXY() - Defines the abscissa and ordinate of the current position.
    PDF::StartPageNums() - Start TOC page numbering.
    PDF::StopPageNums() - Stop TOC page numbering.
    PDF::SubWrite() - Write superscripted or supscripted
    PDF::Text() - Prints a character string.
    PDF::TOCEntry() - Set TOC entry
    PDF::Triangle() - Draw Triangle
    PDF::TruncateCell() - Prints a Cell, if text is too large it will be truncated
    PDF::Write() - This method prints text from the current position.
    PDF::SetProcHeader() - Set header procedure.
    PDF::SetProcFooter() - Set footer procedure.
    PDF::SetProcAcceptPageBreak() - Set acceptpagebreak procedure.
    PDF::SetProcCompression() - Set compression procedure.
    PDF::SetTitle() - Defines the title of the document.
    PDF::SetAuthor() - Defines the author of the document.
    PDF::SetKeywords() - Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'.
    PDF::SetCreator() - Defines the creator of the document.
    PDF::AliasNbPages() - Defines an alias for the total number of pages.
    PDF::GetPageNum() - Returns the current page number.
    PDF::GetPosX() - Returns the abscissa of the current position.
    PDF::GetPosY() - Returns the ordinate of the current position.
    PDF::Create() - Begin document.
    PDF::SetDisplayMode() - Set display mode in viewer.
    PDF::SetAutoPageBreak() - Set auto page break mode and triggering margin.
    PDF::SetMargins() - Set left, top and right margins.
    PDF::SetTopMargin() - Set top margin.
    PDF::SetRightMargin() - Set right margin.
    PDF::SetCellMargin() - Set cell margin.
    PDF::SetLeftMargin() - Set left margin.
    PDF::EmbedFile() - Embeds a file into the pdf.
    PDF::GetStringWidth() - Get width of a string in the current font.
    PDF::TextString(String$) - Format a text string.
    PDF::GetCMargin() - Get cell margin.
    PDF::GetRMargin() - Get right margin.
    PDF::GetLMargin() - Get left margin.
    PDF::GetWordSpacing() - Get word spacing.
    PDF::SetWordSpacing() - Set word spacing.
    PDF::GetWidth() - Get current width of page.
    PDF::GetHeigth() - Get current height of page.
    PDF::GetScaleFactor() - Get scale factor.
    PDF::GetObjNum() - Get object number
    PDF::GetFontSizePt() - Get current fontsize in points.
    PDF::StartTransform() - Use this before calling any transformation. (Scale, Skew, Mirror, Translate)
    PDF::StopTransform() - Restore the normal painting and placing behaviour as it was before calling pdf_StartTransform().
    PDF::Translate() - Translate -> right/bottom
    PDF::TranslateX() - Translate -> right
    PDF::TranslateY() - Translate -> bottom
    PDF::SkewX() - Skewing (angle x)
    PDF::SkewY() - Skewing (angle y)
    PDF::MirrorH() - Alias for scaling -100% in x direction
    PDF::MirrorV() - Alias For scaling -100% in y direction.
    PDF::SetLineCap() - Sets the line cap style
    PDF::SetLineJoin() - Sets the line join style.
    PDF::SetTextColorCMYK() - Set Textcolor CMYK
    PDF::SetDrawColorCMYK() - Set Drawcolor CMYK
    PDF::SetFillColorCMYK() - Set Fillcolor CMYK
    PDF::ASCII85_Decode() - Decodes an ASCII85 encoded buffer.
    PDF::ASCII85_Encode() - Encodes data to ASCII85-
    PDF::ASCII85_Free() - Frees a Databuffer that was allocated with pdf_ASCII85_Encode().

PieChartModule.pbi

Verfasst: 26.09.2017 20:44
von Thorsten1867
PieChartModule.pbi
PB V5.6x
(all OS)

Erstellen von Kreisdiagrammen
  • PieC::Create(X.i,Y.i,Name.s,Radius.d,Flag.b)
    PieC::Add(*PieChart,Name.s,Value.d,Color.l)
    PieC::Remove(*PieChart,Name.s)
    PieC::Update(*PieChart,Name.s,Value.d)
    PieC::Free(*PieChart)


Bild

ProgressBarModule.pbi

Verfasst: 26.09.2017 20:57
von Thorsten1867
ProgressBarModule.pbi
PB V5.6x
(all OS)

Farbenfrohe Fortschrittsanzeige (Colorful Progressbar)
  • PBar::Create(X.i,Y.i,Width.i,Height.i,Minimal.i,Maximal.i,BackColor.l,FrontColor.l,FxColor.l,Vertical.b)
    PBar::Set(Gadget.i,State.i)
    PBar::Get(Gadget.i)
    PBar::Percent(Gadget.i)
    PBar::SetColor(Gadget.i,Color.l,Flag.b)
    PBar::SetColors(Gadget.i,BackColor.l,FrontColor.l,FxColor.l)
    PBar::SetStateCallback(Gadget.i,Function.i,State.i,Custom.i)
    PBar::SetDrawCallback(Gadget.i,Function.i,Custom.i)
    PBar::Free(Gadget.i)
Bild

Re: Module für PureBasic 5.6x

Verfasst: 26.09.2017 22:12
von mk-soft
...