Deutsch
Units

Einfachstes ListView erzeugen (Unit) - Download

 
- Seite 1 -



Michael
Dell
plv.pcu v2.4

Befehlsliste:

plv.CreateListView()
plv.DelLView()
plv.SetHeader()
plv.SetRow()
plv.ReSetItem()
plv.GetRow()
plv.DelAll()
plv.DelRow()
plv.gSelItems()
plv.gCheckItems()
plv.sCheckItem()
plv.BKCol()
plv.tCol()
plv.tBKCol()
plv.UpDate()
plv.SetFnt()
plv.ResFnt()
plv.gImgXY()
plv.Ico2Lst()
plv.GetHeader()
plv.GetHeaderOrder()
plv.SetHeaderOrder()
plv.Version$()
plv.HitSortsLV()

Autoren: Richard Maurukas, Michael Dell, Rolf Koch, Carlo Keil, efisch, Thomas R. & Dieter Zornow

Geändert am: 05.12.2007

Änderungen v2.4: XProfan v11 Problem gelöst. Dank, Dieter Zornow!!!
plv als Include plv.pinc inkl. Beispiel beigelegt.

56 kB
Kurzbeschreibung: pöv v2.4
Hochgeladen:05.12.2007
Ladeanzahl564
Herunterladen
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
22.10.2004  
 



 
- Seite 5 -



efisch
Hallo,

Weil ich Daten, die ich mit der PLV-Unit anzeige nicht noch einmal in einem Array speichern möchte, benötige ich eine Funktion, die den Inhalt einer Zelle des Listviews zurückgibt.
Da meine Versuche mit LVM_GETITEMTEXT in die Hose gegangen sind (vermutlich klemmts bei meinem Verständnis der Feinheiten der LV_Item Struktur), hoffe ich, das es hier bei irgendeinem hilfsbereiten Menschen weniger klemmt und er eine entsprechende Funktion postet.

Danke
Ebi
 
19.12.2005  
 




Michael
Dell
Hallo,

werd mal sehn was ich für Dich machen kann. Wird etwas dauern, aber ich kümmer mich drum. Versprochen!
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
19.12.2005  
 




Michael
Dell
Ok, hab grad Version 1.8 hochgeladen.

Hinzu gekommen ist:

plv.GetRow(LV_Hndl&,Zeile&)
--> Liest eine ganze Zeile (Spalten sind durch | getrennt)

Das funktioniert nach dem Speicherprinzip, soll heißen wenn die Zeile mit plv.SetRow() erstellt wurde kann sie auch mit plv.GetRow() ausgelesen werden.

Test es mal an...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
19.12.2005  
 




Carlo
Keil
Ich hatte Ebis Problem kürzlich auch und bin auf die unten stehende Lösung gekommen. Damit kann ich einzelne Zellen gezielt beschreiben und auslesen.
(Ich gebs ja zu, SetCell war einfach, weil AddItem bereits vorhanden war).

@Michael: ich halte es für eine Überlegung wert, diesen Codeschnipsel noch einzubauen, damit eben auch einzelne Zeilen zugänglich sind.

Gruß
Carlo
KompilierenMarkierenSeparieren
Proc ?_SetCell

    Parameters lvHndl&, RowNr&, ColNr&, Text$
    AddItem(lvHndl&, RowNr&, ColNr&, Text$)

EndProc

-----------------------------------------------------------------------------

Proc ?_GetCell

    Parameters lvHndl&, Zeile&, Spalte&
    Declare Item#, Text#, t$
    Dim Item#, LV_Item
    Dim Text#, 255

    With Item#

        .pointerText& = Text#              Textpuffer für Zelleninhalt
        .TextLen&     = 255                Pufferlänge
        .Spalte&      = Spalte&
        SendMessage(lvHndl&, 4141, Zeile&, Item#)

    EndWith

    t$ = @String$(Text#, 0)
    Dispose Text#
    Dispose Item#
    Return t$

EndProc

 
19.12.2005  
 




Michael
Dell
Hi Carlo,

gute Idee etwas ähnliches hatte ich schon im Sinn. Also folgendes ist daraus geworden: plv.GetRow() & plv.SetRow() lesen & schreiben jetzt sowohl ganze Zeilen als auch einzelne Zellen und natürlich ließt plv.GetRow() jetzt wirklich aus dem Listview wie es sich gehört.


plv.SetRow(LV_Hndl&,Zeile&,DatNam.exe|23.456,IcoNr&,Schalter&)
--> Schreibt eine ganze Zeile nach lv.SetHeader
-- IcoNr& > -1 kein Icon
-- Schalter& > 0 = Ganze Zeile >0 = SpaltenNummer

plv.GetRow(LV_Hndl&,Zeile&,Schalter&)
--> Liest eine ganze Zeile (Spalten sind durch | getrennt)
-- Schalter& > 0 = Ganze Zeile >0 = SpaltenNummer

Version 1.9 ist jetzt Online!

Was meinst Du, ist doch ganz gut geworden oder?
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
19.12.2005  
 




Michael
Dell
Hat sich da doch glatt ein kleiner Bug eingeschlichen!
plv.GetRow hat nicht korreckt einzelne Zellen ausgelesen!!!

Naja is ja wieder in Ordnung.
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
20.12.2005  
 




efisch
Hallo Michael,

in der Prozedur GetItem der Version 1.9 solltest du vor dem ENDPROC noch ganz schnell die Zeile
KompilierenMarkierenSeparieren
Return txt$
einbauen.

Gruß
Ebi
 
20.12.2005  
 




Michael
Dell
Peinlich, peinlich!

Und mir qualmt der Schädel weil ich nich rauskrieg warum das Ding im Interpreter nicht läuft dabei wars ein Wunder das es Compiliert ging!

Danke, da hät ich noch ne Weile drangesessen!
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
20.12.2005  
 



Funktioniert alles perfekt - tolles Teil!

Wenn die beigelegte plv.prf die Unit ist, dann möchte aber auch noch ein bisl mehr dazu sagen.

<senf>

Als Unit wäre das ein - bitte nicht falsch verstehen! - ein schlimmes Verbrechen.

Du deklarierst Defs und Variablen und Structs ohne Namensraumsymbol - was natürlich (fast) niemals in einer Unit passieren sollte.

</senf>

*duck*

Spielt aber keine Rolle - denn der Code liegt ja bei - und der ist schliesslich super.
 
23.01.2006  
 




Michael
Dell
Komm doch mal da raus! Na...

Spass beiseit, klar (nur) eine der Globalen wird Extern gebraucht die hab ich korrigiert. Die andern Internen sind nun deutlicher benannt!

Bin froh das die PLV funzt und anklang findet (Danke!!!). Mit etwas Hilfe ist ja doch noch was aus dem kleinen (ursprünglichen Eigenbedarfs) Projekt geworden.

Dank der Community!
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
23.01.2006  
 




Jac
de
Lad
Hallo Michael!

Das Teil ist echt der Hammer! Es hat in vielen meiner Programme schon einen Stammplatz bekommen! Ich hab aber mal ne Frage: Mit einem bestimmten Stil kann man einstellen, dass der Benutzer die Anordnung der Spalten per DragnDrop vertauschen kann. Kann man irgendwie abfragen, wie die aktuelle Reihenfolge ist (zwecks Speichern und beim nächsten Start des Programms wieder so Anordnen)?

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
29.01.2006  
 




Michael
Dell
Hi Jac,

gute Frage hab da so ne Idee aber erst mal testen.

Melde mich dann...
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
29.01.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

59.579 Betrachtungen

Unbenanntvor 0 min.
Gast.081512.10.2024
Erhard Wirth14.06.2024
Axel Berse03.12.2023
RudiB.08.04.2022
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie