DLL/ Userlibs

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Commander-Tobi

Betreff: DLL/ Userlibs

BeitragMi, Dez 15, 2004 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Dez 15, 2004 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
ü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

BeitragDo, Dez 16, 2004 0:31
Antworten mit Zitat
Benutzer-Profile anzeigen
hab momentan noch BlitzPlus 1.4 und wollte die Listview.dll von Frank Abbing mal benutzen.
 

noir

BeitragDo, Dez 16, 2004 0:34
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 16, 2004 0:53
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 16, 2004 0:55
Antworten mit Zitat
Benutzer-Profile anzeigen
mit was die dll geschrieben is is egal, deshalb benutz du ja userlibs.
 

Dreamora

BeitragDo, Dez 16, 2004 0:56
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 16, 2004 1:01
Antworten mit Zitat
Benutzer-Profile anzeigen
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"
natürlich stand mehr drin.
hab sie auch kopiert und mal in listview.decls unbenannt tut sich aber nichts ausser ner error message
 

Dreamora

BeitragDo, Dez 16, 2004 1:05
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 16, 2004 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
ja ich schau mir das mal an.
aber direkt einen befehl aus der dll auszuführen geht nicht oder?
 

Dreamora

BeitragDo, Dez 16, 2004 1:11
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Commander-Tobi

BeitragDo, Dez 16, 2004 2:35
Antworten mit Zitat
Benutzer-Profile anzeigen
so hab jetzt fortschritte gemacht, Very Happy .
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.Brill

Betreff: Listview.dll

BeitragDo, Dez 16, 2004 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 16, 2004 20:10
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDo, Dez 16, 2004 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
perfekt, sowas hab ich gesucht. die Hilfe ist auch leicht verständlich.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group