![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
|
Hallo zusammen, mein Prog hat sich prächtig entwickelt. (Dank eurer Hilfe
Mit der selectLine- Funktion von Frank kann ich ja mein Suchergebnis in den sichtbaren bereich scrollen. Nun ist so, das die Markierung sehr oft kurz über den unteren Rand des sichtbaren Bereichs klebt. Da ich aber schon während der Eingabe die Suche starte, iwäre es besser, wenn die markierte Zeile am oberen Rand klebt, so daß ich dann sehr schnell sehen kann, welche Namen,Vornamen (alphabetisch sortiert) im Anschluss des momentanen Suchergebnisses stehen, um ggf. die Sucheingabe mit esc zu verlassen & mit den Pfeiltasten zb. zwei Zeilen tiefer den gesuchten Namen zu markieren bzw. auszuwählen. In Frank's reichhaltigen Funktionsangebot habe ich nichts in dieser Richtung gefunden... Gibt es da vllt noch ein Funktiönchen, mit der ich das iwie hinwerkeln kann? Gruß Jörg |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Der Trick ist: Vor dem SelectLine ein weiteres SelectLine einbauen, womit du ganz nach unten in die Liste springst. Wenn dann dein eigentliches SelectLine kommt, hast du den Eintrag schönen oben "kleben". Das wurde von MS bischen blöd geregelt und ein Flag oder einen Style für das Sprungverhalten gibt es wohl nicht.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#3 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
|
alles Klar! probier ich gleich, hoffentlich "zappelt" dadurch das Listview nicht zu arg, weil die Aktualisierung ja nach jedem getippten Buchstaben ausgeführt wird.
Vielen Dank für den Tip Gruß Jörg |
|
|
|
|
|
#4 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
|
Hi Frank, klappt super!
Dadurch wird das verschieben sehr schnell ausgeführt, stört kein bischen Ist ein geiler Trick Gruß Jörg |
|
|
|
|
|
#5 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Etwas tiefer setzen geht auch. Wenn dein Prog überall "hackelfrei" laufen soll, würde ich ermitteln, wieviel Zeilen im sichtbaren Bereich liegen können. Je nach Größe der Systemschrift und BS passen bei dem einen mehr Einträge rein als bei jemand anderem.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#6 (Direktlink) | |
|
Weiß worum´s geht
![]() Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
|
Zitat:
Wie kann ich aber die Schriftart /-größe im Listview festlegen? Gruß Jörg |
|
|
|
|
|
|
#7 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Schau dir mal den Democode an, um eigene Schriftarten zu benutzen.
GetVisibleLines() ist dazu da, die Anzahl sichtbarer Zeilen zu bestimmen, genau.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#8 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@Jörg
So sieht der Anfangscode für eines meiner zwei Listview in meinem Dateibrowser aus: Zitat:
Mit der Listview.dll von Frank ist alles möglich
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
#9 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
|
Jo, Danke Horst, ist doch gleich viel verständlicher, wenn zu einem Thema ein kleiner Schnipsel zum "nachvollziehen" im Spiel ist
Im Rahmen dieses Projektes wollte ich den Inhalt einer Spalte auf eine bestimmte Anzahl von Zeichen einkürzen. Mein Schwerpunkt: es sollte schnell laufen (20.000 Einträge). Rausgekommen ist eine kleine Proc, die ich hier mal reinstellen wollte. Vllt. braucht jemand so etwas. Sie arbeitet nicht mit den üblichen Stringoperationen, sondern greift direkt auf dem Speicher zu: Code:
proc kurz
'proc kürzt die inhalte einer spalte einer liestview auf eine bestimmte zeichenanzahl ein;
'benötigt Frank Abbing's Listview.dll
'parameter: handle von listview (long)
'spaltenindex (int)
'zeilenindex ab wo gekürzt wird (long)
'zeilenindex bis wo gekürzt wird (long)
'position ab welche stelle gekürzt wird (int)
'größe des bereichs, zum auslesen (long)
parameters lv&,sp%,st&,ed&,p%,mem&
declare txt# 'nimmt den iteminhalt auf
dim txt#,mem& 'ausreichend platz zuweisen
whileloop st&, ed& 'löppt den definierten tabellenabschnitt durch (st&-ed&)
getitemtext(lv&,txt#,sp%,&loop) 'den inhalt von spalte X der aktuellen zeile in den speicherbereich txt# schreiben
if MemPos(txt#,0,chr$(0)) > p% 'wenn die position des nullbyte über 40 ist
char txt#,p% = Chr$(0) 'in das byte 40 des bereiches txt# ein nullbyte erzeugen (kennzeichnet das ende eines strings in einem bereich)
setitemtext(lv&,txt#,sp%,&loop) 'den manipulierten (gekürzten) bereich in die tabelle zurückschreiben
endif
endwhile
endproc
Wichtiger Hinweis an Frank: Ich hatte zuerst anstelle MemPos() deine Funktion GetNullOffset(B) angewendet, die mir ja die pos. vom Nullbyte lieferte. Mit MemPos() war die Abarbeitung der kompletten Tabelle jedoch deutlich schneller. (Bitte nicht als "nörgelei" verstehen, vllt. ist das ja noch ein unentdeckter Bug), weil ja sonst deine Funktionen alle auf Geschwindigkeit zugeschnitten sind. Gruß Jörg Geändert von JörgG (17.08.2010 um 00:04 Uhr) Grund: Kleiner fehler im code |
|
|
|
|
|
#10 (Direktlink) | |
|
MoRoGeP-Träger 2011
![]() Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.878
|
@Jörg
Am besten gefällt mir in deinem Code das: Zitat:
PS: Nicht böse sein
__________________
Gruss, horst Computer werden kleiner und kleiner, bald verschwinden sie völlig. (Ephraim Kishon 1924-2005) http://www.web-treffpunkt.de |
|
|
|
|
|
|
|
#11 (Direktlink) | |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Zitat:
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
|
#12 (Direktlink) | |
|
Weiß worum´s geht
![]() Registriert seit: 08.12.2009
Ort: Mecklenburg
Beiträge: 202
|
Zitat:
Vllt. die Funktion am Anfang des Progs in einem Speicherbereich laden & dort direkt ausführen oder sowas in dieser Richtung. - Wär ja schade, wenn deine Superschnelle Assemblerprogrammierung durch den dll-Aufruf (zumindest in einer Schleife) ausgebremst wird. Ist aber jetzt einfach nur "laut gedacht" , so wie ich das mit meinem mageren Verständnis für dll & Co so interpretiere... Gruß Jörg |
|
|
|
|
|
|
#13 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Ich denke, ein Aufruf mit XProfans ImportDll/ImportFunc dürfte schneller sein.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Taskleiste nach oben gerutscht | sobi | Windows 95/98/ME/2000/NT | 8 | 26.05.2011 20:10 |
| Listview.dll und sortieren nach Datum | Ralph Theobald | Dlls, Includes, Units & Prozeduren | 1 | 24.01.2010 20:21 |
| Listview Drag n Drop Zeile verschwindet | PaRaDoX-Vision | Dlls, Includes, Units & Prozeduren | 7 | 06.07.2009 06:43 |
| CSS - Box weiter nach oben | Cage | Homepagegestaltung | 2 | 23.04.2006 15:46 |
| Netzteillüfter nach oben oder nach unten? | Dakotasilver | Hardware - Problemlösungen | 9 | 06.04.2005 18:36 |