DLL/ Userlibs
Übersicht

![]() |
Commander-TobiBetreff: DLL/ Userlibs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, wo gibts ein Tutorial (oder Buch) für Dll und Userlibs?
Auf der BuchCd von Rene Mayer gabs ein Beispiel dazu lief aber bei mir nicht, wollt mich dann halt woanders schlau machen. Sorry falsche Kategorie. |
||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
über dlls allgemein wird es bestimmt bücher geben, aber keine direkt für blitzbasic
lern ein bisschen c++ und les dir alles darüber im forum durch dann wirst du es schon verstehen. welche bb version hast? |
||
![]() |
Commander-Tobi |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab momentan noch BlitzPlus 1.4 und wollte die Listview.dll von Frank Abbing mal benutzen. | ||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, mit bb2d gehen userlibs leider nicht.
schau dich ma im forum um, da gibts sehr viele themen zu diesem thema auch einige tutorials. |
||
![]() |
Commander-Tobi |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab grad ein bisschen gestöbert aber nichts gefunden.
alle beiliegende beispiele sind in Profan² geschriben. kann ich über haupt diese dll in BP verwenden, wenn ja wäre wer so net und würde mir 2-3 zeilen an beispielen geben. |
||
noir |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mit was die dll geschrieben is is egal, deshalb benutz du ja userlibs. | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hast du die userlib und die decls ins userlib verzeichnis kopiert?
eigentlich müsste es gehen, denn 1) RM hat nur 2D dinge gemacht in den büchern eigentlich 2) BB2D hat keine userlibs also bleibt nur BlitzPlus bedingung is jedoch, dass du die vollversion hast, die demo hat keinen userlib support |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Commander-Tobi |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja hab die vollversion. hab das ganze auch kopiert.
hab keine ahnung von decls aber da war ne dateibei die Listview_funktionen.inc hies mit folgendem inhalt: Code: [AUSKLAPPEN] Declare clv1#,clv2#,clvall#,lvitem# Dim clv1#,256 Dim clv2#,64 Dim clvall#,1400 Dim lvitem#,292 DEF CreateListview(6) !"LISTVIEW","CreateListview" DEF ShowListview(5) !"LISTVIEW","ShowListview" DEF IColumn(4) !"LISTVIEW","IColumn" DEF SItem(3) !"LISTVIEW","SItem" DEF InitMessages(1) !"LISTVIEW","InitMessages" DEF ASortListview(3) !"LISTVIEW","ASortListview" DEF ReadFileQuick(4) !"LISTVIEW","ReadFileQuick" DEF SetItemsFromMem(4) !"LISTVIEW","SetItemsFromMem" DEF CsvToListview(4) !"LISTVIEW","SetItemsFromMem" DEF SwapLines(3) !"LISTVIEW","SwapLines" DEF GetSelected(2) !"LISTVIEW","GetSelected" DEF GetSelectedDbClk(2) !"LISTVIEW","GetSelectedDbClk" DEF GetTabOffsets(2) !"LISTVIEW","GetTabOffsets" DEF GetLines(1) !"LISTVIEW","GetLines" hab sie auch kopiert und mal in listview.decls unbenannt tut sich aber nichts ausser ner error message |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
keine ahnung was das darstellt.
Aber decls für ne Userlib ist es definitiv nicht! wenn du mehr zu userlibs wissen willst, schau ma hier: http://www.blitzbasic.com/sdkspecs/sdkspecs.php |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Commander-Tobi |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja ich schau mir das mal an.
aber direkt einen befehl aus der dll auszuführen geht nicht oder? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
doch mit CallDLL
Aber userlib ist schneller da es vordefiniert ist. Und du musst nicht die kryptischen funktionsnamen verwenden sondern kannst dir eigene speziell dafür definieren ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Commander-Tobi |
![]() Antworten mit Zitat ![]() |
---|---|---|
so hab jetzt fortschritte gemacht, ![]() aber aber leider auch noch paar schwierigkeiten. in der doku steht: Code: [AUSKLAPPEN] ShowListview(H,X,Y,B,H) Zeigt ein Listview auf dem Bildschirm an, das mit CreateListview() erzeugt wurde. H : Long - Handle eines mit CreateListview() erstellten Listview Controls X : Long - X-Koordinate des Listviews Y : Long - Y-Koordinate des Listviews B : Long - Breite des Listviews H : Long - Höhe des Listviews Das Listview mit dem Handle H wird jetzt sichtbar gemacht, an Position X, Y und in Größe B x H. Es gibt keine spezielle Funktion, um ein Listview wieder freizugeben oder zu beenden, dazu kann Profan's @DestroyWindow() oder die Windows-API DestroyWindow() benutzt werden. Wird das Fenster geschlossen, in dem sich das Listview befindet, dann zerstört Windows automatisch alle Objekte, die sich darin befinden. Bevor ShowListview() aufgerufen wird, sollte das Listview mit Text und/oder Icons gefüllt werden. Vorher nämlich, in unsichtbarem Zustand, erfolgt das Füllen mit Text und Grafik mit 3-4 facher Geschwindigkeit !!!. ShowListview(listview&,100,100,600,400) in meiner .decls datei steht: Code: [AUSKLAPPEN] .lib "listview.dll" createlistview(F,I,T,H,G,S) :"CreateListview" showlistview(H,X,Y,B,H) :"ShowListview" in meinem quelltext Code: [AUSKLAPPEN] createlistview(tax,hINSTANCE%,-1,-1,-1,$20) showlistview(tax,100,100,600,400) wenn ich bei showlistview das tay weglasse dann gibts ne fehler meldung im haupt programm. wenn ichs drinlasse meint BPlus "Too many parameters" |
||
H.BrillBetreff: Listview.dll |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich habe die Listview.dll von Frank Abbing auch. Ich hatte es mal vor einiger Zeit mit B+ versucht, aber nicht richtig hingekriegt (liegt irgendwie am Fenster). Das Grid wird einfach nicht richtig gezeichnet, soll heißen, nur die Spaltenköpfe werden ausgegeben. Wie es aussieht, hängt es am Fensterstil von B+. Ich hatte für Frank auch die Purebasic - Demos geschrieben. Bei PB mußte ich auch ein Frame3D - Gadget nehmen, damit es lief. Vielleicht kannst du damit was anfangen bzw. weitermachen. Hier mal die Deklarationen der userlib : Code: [AUSKLAPPEN] .lib "Listview.dll" ; Listview - Deklarationen ; Listview.decls AddItemValues(H%,S,B*,A%):"AddItemValues" AreCheckboxesPresent%(H%):"AreCheckboxesPresent" AreIconsPresent%(H%):"AreIconsPresent" ASortListview(H%,B%,A*):"ASortListview" CheckIfMarked%(H%):"CheckIfMarked" CloseMessages(H%):"CloseMessages" CopyColumnTo(H%,Z*,I%,F%):"CopyColumnTo" CopyLineTo(H%,Z*,I%,F%):"CopyLineTo" CreateImageList%(F%,B*):"CreateImageList" CreateListview%(F%,I%,T%,H%,G%,S%) : "CreateListview" CryptMem(B*,A%,S*,L%):"CryptMem" CsvToListview(H%,B*,A%,S%):"CsvToListview" DbfToCsv%(B*,A*,S*,Z*,F%):"DbfToCsv" EnableEdits(H%,F%):"EnableEdits" EraseListview(H%):"EraseListview" ExamineColumns%(H%,S%):"ExamineColumns" ExchangeSeparator(B*,A%,AT%,NT%):"ExchangeSeparator" FilelistToCsv%(N*,B*,S*,Z*,F%,I*):"FilelistToCsv" GetAllSelected%(BT*,BL*):"GetAllSelected" GetCheckboxState%(H%,I%):"GetCheckboxState" GetChecked%(BL*,BI*,BS*):"GetChecked" GetColumns%(H%):"GetColumns" GetColumnUpdate(H%,B*):"GetColumnUpdate" GetColumnWidth%(H%,I%):"GetColumnWidth" GetControlParas%(B*):"GetControlParas" GetIndex%():"GetIndex" GetItemText%(H%,T*,S%,L%):"GetItemText" GetLines%(H%):"GetLines" GetLineText%(H%,Z%,BT*):"GetLineText" GetNeededMemory%(H%,F%):"GetNeededMemory" GetNullOffset%(B*):"GetNullOffset" GetOwnControlParas(B*,H%,S%,Z%):"GetOwnControlParas" GetRealColumnIndex%(H%,S%):"GetRealColumnIndex" GetSelected%(BT*,BL*):"GetSelected" GetSelectedDbClk%(BT*,BL*):"GetSelectedDbClk" GetSelectedLine%(H%):"GetSelectedLine" GetTabOffsets%(BT*,BO*):"GetTabOffsets" GetVar%(F%):"GetVar" IColumn(H%,T$,B%,F%):"IColumn" InitMessages(F%):"InitMessages" ListviewToCsv%(H%,B*,A%,F%):"ListviewToCsv" ListviewToDbf%(H%,B*,A%,F%):"ListviewToDbf" MarkIfChecked%(H%):"MarkIfChecked" MixRGBs%(F1%,F2%): "MixRGBs" PrintListview(H%,W%,I%,S%,L%,O%,R%,U%,PS%,PZ%,US*,N*,F%):"PrintListview" RaiseColumns(H%,B*,S%,G%):"RaiseColumns" ReadFileQuick%(S*,B%,O%,A%):"ReadFileQuick" Register(k%):"Register" SearchText%(H%,SZ%,EZ%,SS%,S*,F%,V*):"SearchText" SelectColumnEdits(H%,B*):"SelectColumnEdits" SelectLine(H%,I%,F%):"SelectLine" SetBackImage(H%,N*,F%):"SetBackImage" SetCheckboxState(H%,I%,S%):"SetCheckboxState" SetColumnsFromMem(H%,B*,O*):"SetColumnsFromMem" SetColumnSort(H%,S%,F%):"SetColumnSort" SetColumnUpdate(H%,B*):"SetColumnUpdate" SetFilelistFilter(S*):"SetFilelistFilter" SetFilelistNoFilter(S*):"SetFilelistNoFilter" SetIcon(H%,Z%,N%):"SetIcon" SetIconMode(F%):"SetIconMode" SetIconsFromMem(H%,Z%,B*,A%):"SetIconsFromMem" SetIconsWith(H%,Z%,N%,A%):"SetIconsWith" SetImageList%(H%,I*):"SetImageList" SetIndex(I%):"SetIndex" SetItemText%(H%,T*,S%,L%):"SetItemText" SetStyle(S%):"SetStyle" ShowListview(H%,X%,Y%,B%,W%):"ShowListview" SItem(H%,B*,A%):"SItem" SortManual(H%,S%,F%):"SortManual" SwapLines%(B*,A%,F%):"SwapLines" WriteFileQuick%(S*,B*,O%,A%):"WriteFileQuick" Und hier mal ein kleiner Anfang : Code: [AUSKLAPPEN] Const class$="BLITZMAX_WINDOW_CLASS" ; <- BlitzPlus 1.34 ;Const class$="Blitz Runtime Class" Const title$ = "Listview" Const stil% = $31 Function CenterWindow (title$, width, height, group = 0, style = 1) CreateWindow (title$, (ClientWidth (Desktop ()) / 2) - (width / 2), (ClientHeight (Desktop ()) / 2) - (height / 2), width, height, group, style) Return FindWindow(class$,title$) End Function Function PokeString(Bank,Offset,String$) For I = 0 To Len(String$) - 1 PokeByte Bank,Offset + I,Asc(Mid$(String$,I + 1,0)) Next End Function Function PeekString$(Bank,Offset) While True Byte = PeekByte(Bank,Offset) If Byte = 0 Then Exit Else String$ = String$ + Chr$(Byte) EndIf Wend Return String$ End Function hwnd% = CenterWindow ("Listview", 640, 480) Bank1 = CreateBank(10) Bank2 = CreateBank(10) sp1$ = "Spalte1" sp2$ = "Spalte2" sp3$ = "spalte3" PokeString(Bank1, 0, "AAA") PokeString(Bank1, 4, "BBB") PokeString(Bank1, 8, "CCC") lv% = CreateListview(hwnd%,0, 0, -1, -1, stil%) IColumn(lv%, sp1$, 100, 0) IColumn(lv%, sp2$, 200, 1) IColumn(lv%, sp3$, 150, 2) SItem(lv%, Bank1, 3) ShowListview(lv,10,100,600,300) Repeat Until WaitEvent () = $803 FreeBank Bank1 FreeBank Bank2 End |
||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich habe alles (jedenfalls fast) umsetzen können für BB. Habe auch schon Hilfe dazu geschrieben, einfach die Beispiele Fehlen noch. Download: http://home.datacomm.ch/dtgeis...stview.zip |
||
![]() |
Commander-Tobi |
![]() Antworten mit Zitat ![]() |
---|---|---|
perfekt, sowas hab ich gesucht. die Hilfe ist auch leicht verständlich. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group