Forum | | | | GDL | allô Frank,
j'ai déjà quelques Versuche avec qui Sharewarever. gemacht et voudrais pour dem Lizenzgewinn qui Listview aussi dans mon Modellbahnproggi nutzen. et ici habe je un Reaktionsproblem avec normalen Windowsbutton ab mittelgrossen Datenmengen im Listview. ca 100kb.
cela heisst, si je im Listview une sélection tätigte, réagir qui anderen Fenstercontrols après avec einer einmaligen Verzögerung.Je grösser qui Datenmenge im Listview desto länger qui Verzögerung.
j'ai rien besonderes comment une simple Hauptschleife un paire Controls et 4 Listboxen.cela waitinput peux je pas omettre, là im späterem Hauptmodul autre Funktionen sonst pas aller.
Probier s'il te plaît simple chez dir ne Anwendung aus et lade dabei deine Flughäfendatei un. cet verursacht chez mir 17 jusqu'à 20 sec. Reaktionszeit .dedans des Listviews wird tout de suite reagiert.(Anderen Datensatz,Linksklick,Droit)
salut Georg |
| | | | |
| | | Hey Georg! Büdde avec kleinem Source.
je hab mir ici la fois une Textblock geschrieben den je simple toll finde:
[tb]minimalbeispiel[/tb] |
| | | | |
| | GDL | Finde je aussi toll.seulement brauche je toujours Zusatzdateien um cela Problem réel représenter trop peut.je suis arrêt un Einzelgänger dans Sachen proggen. Hoffe cela ca allez.Ansonsten bekomme je es so léger pas hin. KompilierenMarqueSéparationdeclare astart$,ende%,lvdll&,image#,string#,bereich#,hdll&,font1&,font&,name$,num%
declare anzahl&,x&,listview&,listview1&,listview2&,listview3&,bemerkung$,decoder$
declare ausgang$,rahmen1&,rahmen2&,text&[100],bt&
Def GetSysColor(1) !USER32, GetSysColor
usermessages 16
SetTrueColor 1
astart$=$ProgDir
case left$(astart$,14)=C:ProgrammeX:astart$=C:\Steuerung\
case left$(astart$,14)=C:PROGRAMMEX:astart$=C:\Steuerung\
chdir astart$
mkdir daten
chdir astart$+daten
window 0,0-%maxx,%maxy
cls getsyscolor (15)
Dim bereich#,320
$I Listview_Funktionen.inc
lvdll&=usedll(Listview.dll)
$I SKCONTROL.INC
let hdll& = UseDll(SKControl.dll) Farb DLL laden
SKCtrl_InitDll()
dim string#,255
dim image#,255
font1&=@Create(Font,Courier,17,0,1,0,0)
font&=@Create(Font,Courier,8,0,1,0,0)
=================================================================
proc vorbereiten
chdir astart$+daten\
ifnot findfirst$(komponenten.str)=komponenten.str
assign #1,komponenten.str
rewrite #1
print #1,feld1;C;2;0
print #1,feld2;C;20;0
print #1,feld3;C;4;0
print #1,decoder;C;4;0
print #1,ausgang;C;1;0
close #1
dbcreate komponenten.str > b.dbf
dbcreate komponenten.str > k.dbf
dbcreate komponenten.str > w.dbf
dbcreate komponenten.str > m.dbf
dbcreate komponenten.str > s.dbf
name$=w.dbf
clearlist wbox&
erzeugen
name$=s.dbf
clearlist sbox&
erzeugen
name$=m.dbf
clearlist mbox&
erzeugen
name$=b.dbf
clearlist bbox&
erzeugen
else
name$=w.dbf
einlesen
name$=s.dbf
einlesen
name$=m.dbf
einlesen
name$=b.dbf
einlesen
endif
endproc
==============================================================================
proc erzeugen
num%=1
anzahl&=dbopen(#1,name$)
dbuse(#1)
whilenot num% > 999
dbappendblank()
dbput(feld1,xx)
dbput(feld2,....................)
dbput(decoder,0000)
dbput(ausgang,0)
dbputrec(0)
inc num%
wend
dbclose(#1)
endproc
===============================================
proc bildschirm
x&=MixRGBs(GetSysColor(15),RGB(193,65,3))
listview&=CreateListView(%hwnd,%hinstance,0,x&,-1,$31)
ShowListview(listview&,10,150,440,200)
setfont listview&,font&
InsertColumn listview&,lfd.Nr.,80,0
InsertColumn listview&,Bezeichnung,180,0
InsertColumn listview&,Decoder,80,0
InsertColumn listview&,Ausgang,80,0
x&=MixRGBs(GetSysColor(15),RGB(193,65,93))
listview1&=CreateListView(%hwnd,%hinstance,0,x&,-1,$31)
ShowListview(listview1&,470,150,440,200)
setfont listview1&,font&
InsertColumn listview1&,lfd.Nr.,80,0
InsertColumn listview1&,Bezeichnung,180,0
InsertColumn listview1&,Decoder,80,0
InsertColumn listview1&,Ausgang,80,0
x&=MixRGBs(GetSysColor(15),RGB(0,202,0))
listview2&=CreateListView(%hwnd,%hinstance,0,x&,-1,$31)
ShowListview(listview2&,10,450,440,200)
setfont listview2&,font&
InsertColumn listview2&,lfd.Nr.,80,0
InsertColumn listview2&,Bezeichnung,180,0
InsertColumn listview2&,Decoder,80,0
InsertColumn listview2&,Ausgang,80,0
x&=MixRGBs(GetSysColor(15),RGB(0,0,224))
listview3&=CreateListView(%hwnd,%hinstance,0,x&,-1,$31)
ShowListview(listview3&,470,450,440,200)
setfont listview3&,font&
InsertColumn listview3&,lfd.Nr.,80,0
InsertColumn listview3&,Bezeichnung,180,0
InsertColumn listview3&,Decoder,80,0
InsertColumn listview3&,Ausgang,80,0
declare bemerkungedit&,decoderedit&,adresseedit&
bt&=create(button,%hwnd,w,10,100,50,20)
endproc
========================================================
proc einlesen
num%=1
anzahl&=dbopen(#1,name$)
dbuse(#1)
whilenot num% > anzahl&
dbgo(num%)
bemerkung$=dbget$(feld2)
decoder$=dbget$(decoder)
ausgang$=dbget$(ausgang)
case left$(name$,1)=w:SetItem listview&,right$(00+str$(num%),3),bemerkung$,decoder$,ausgang$
case left$(name$,1)=s:SetItem listview1&,right$(00+str$(num%),3),bemerkung$,decoder$,ausgang$
case left$(name$,1)=m:SetItem listview2&,right$(00+str$(num%),3),bemerkung$,decoder$,ausgang$
case left$(name$,1)=b:SetItem listview3&,right$(00+str$(num%),3),bemerkung$,decoder$,ausgang$
inc num%
wend
dbclose(#1)
endproc
==================================================================
proc aufraeumen
dispose string#
dispose image#
dispose bereich#
deleteobject font&
deleteobject font1&
SKCtrl_DeInitDll() Farb DLL löschen
FreeDll hdll&
FreeDll lvdll&
endproc
==========================================================================
bildschirm
vorbereiten
whilenot ende%
waitinput
if %umessage = 16
ende%=1
aufraeumen
elseif clicked(bt&)
beep
endif
Wend
ca volonté seulement 17k Fichiers. Im Hauptmodul sinds ensuite 4MB avec 255 Spalten. Verzögerungszeit ici sommes ca 2 sec.
salut Georg |
| | | | |
| | Frank Abbing | allô Georg,
Hab mon Demo quatre.prf la fois getestet (beinhaltet Flughafendatei) et peux aucun Verzögerungen erkennen. comment du weisst, utilise qui Listview.dll seulement qui originalen SysListview32- Controls. qui komplette Verwaltung wird alors de Windows übernommen, là funkt qui Listview-Dll pas entre. je vermutet, du bekommst qui Probleme avec älteren ordinateur, qui wahrscheinlich aussi trop wenig RAM besitzen. Windows wird wahrscheinlich chez seiner Verwaltung données auslagern doit et un alter Prozessor arbeitet aussi entsprechend langsamer. Daher werde je à deinem Problem rien changement peut, du devrait es la fois avec quelque chose plus grenier essayer. peux du car bestättigen, dass mon Demo quatre.prf chez dir lente reagiert? |
| | | | |
| | GDL | allô Frank,
j'ai dans quatre.prf encore button&=create(button,dialog&,T,650,230,20,20) eingefügt et frage den dans qui Hauptschleife ab.
allez sur jeden calculateur einwandfrei. Werde maintenant la fois avec den Spalten hantieren. Vielleichts Il se trouve à en Anzahl. ou bien je übersehe irgendwas Wichtiges et viens simple pas puis.
salut Georg
maintenant bekomme aussi je belle aufgelockerte Oberflächen hin. |
| | | | |
| | Michael Wodrich | Bekommt là chaque qui 4 Listviews 255 Spalten? |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 02.03.2007 ▲ |
| |
| | GDL | | | | | |
|
répondreOptions du sujet | 962 Views |
Themeninformationencet Thema hat 4 participant: |