| |
|
|
| Hello Frank,
I had to, in a of my programs a windows Listbox through one List view to exchange. In one Testlauf go ca. 20.000 Lines eingefügt where to the Insert eachone row examined becomes, whether these already present is. The Listbox-Version was in concise 4 minutes through, The Version list have I to 20 minutes and 1/10 the work aborted.
in the Listbox question I this so ex: exist& = SendMessage(box&,$01A2,-1,addr(edit$))
I Search to the detailed row
with the List view runs the so: exist& = SearchText(box&,0, GetLines(box&),1,Addr(edit$),10,addr(exist2&))
Accurate String, Search only in the betreffenden slot. already with 2.000 Lines damn slow.
-gives it no Vergleichbare windows Message, The either You use can or You me recommend can.
-can you whom construction the function once more rethinking, i am sure, that to the yet can optimize.
-i don't know as goes but I would it so make: only to the first characters eachone row Search, with accordance too the second inquire etc.
-have I a vorhandenen commands overlooking?
-meaningfully would one SearchText-Lite Variante, The hereon optimiert is only in a slot to search and with the first Fundstelle same abbricht. whom Parameter for Fundstellen-slot could one hierbei too omit.
If you it create, The function twice so quick To can make I yet nothing begin, first if it at least semi so quick How into Listboxes is would it acceptable. Meinst You this is machbar?
Sincerely, Sven |
|
|
| |
|
|
|
| have the following in the Win32.hlp found, could it however not successful in a function or Message umsetzen.
LVM_FINDITEM wParam = (WPARAM) (int) iStart; lParam = (LPARAM) (const LV_FINDINFO FAR *) plvfi;
// Corresponding macro int ListView_FindItem(HWND hwnd, int iStart, const LV_FINDINFO FAR* plvfi);
The LVM_FINDITEM message searches for a list view item with the specified c haracteristics. You can send this message explicitly or by using the ListVi ew_FindItem macro.
Parameters
hwnd
lever to the list view control.
iStart
index of the item to begin the search with or -1 to start from the beginnin g. The specified item is itself excluded from the search.
plvfi
Pointer to on LV_FINDINFO structure that contains information about what to search for. Return Value
Returns the index of the item if successful or -1 otherwise.
I stops it for unwahrscheinlich but Perhaps bremst too the commands GetLines(box&) The whole thing? reads the commands only a worth from or must it each times the Lines of 0 To end durchzählen? |
|
|
| |
|
|
|
| Hello Sven,
is me never noticed, the the commands so slow his should... probably needed the system longer, Data from one List view To reading, as from Listboxes. has Yes in the Regelfall too several Split.
and the List view strive thereafter, at delete or insert one Eintrags the List view To update. the cost terrific Time, can but slight abgestellt go
SendMessage(listview&,11,0,0) Neuaufbau of Listviews SendMessage(li stview&,11,1,0) rebuilding of Listviews (standart).[/CODE
I faith too, You attempt your trouble wrong To solve. i'd it so make, that I The 20000 Lines insert would and to that Sch luss first with DeleteDoubleItems() any double Deleting Entries would. so :
[CODE]SendMessage(listview&,11,0,0) Neuaufbau of Listviews verhinde rn !
Whileloop GetColumns(listview&) DeleteDoubleItems(listview&,(&loop-1)) EndWhile
SendMessage(listview&,11,1,0) rebuilding of Listviews (standart).
Teste time... Greeting, Frank |
|
|
| |
|
|
|
| Nochmal...
Hello Sven,
is me never noticed, the the commands so slow his should... probably needed the system longer, Data from one List view To reading, as from Listboxes. has Yes in the Regelfall too several Split.
and the List view strive thereafter, at delete or insert one Eintrags the List view To update. the cost terrific Time, can but slight abgestellt go
SendMessage(listview&,11,0,0) Neuaufbau of Listviews SendMessage(listview&,11,1,0) rebuilding of Listviews (standart).
I faith too, You attempt your trouble wrong To solve. i'd it so make, that I The 20000 Lines insert would and to that Sch luss first with DeleteDoubleItems() any double Deleting Entries would. so:
SendMessage(listview&,11,0,0) Neuaufbau of Listviews prevent !
Whileloop GetColumns(listview&) DeleteDoubleItems(listview&,(&loop-1)) EndWhile
SendMessage(listview&,11,1,0) rebuilding of Listviews (standart).
Teste time... Greeting, Frank |
|
|
| |
|
|
|
| Hello Frank, thanks for rapid response.
has it something To say, that DeleteDoubleItems() in the Help not documents is? at that Delete doppeler Entries should only a Column berücksichtigt go. dive in slot 1 double Entries on so should tappt im dunkeln deleted go, same what into others Split is.
there over longer Time time More and times less Lines eingefügt go, should The updating really always immediate come off and double Lines To none Time in the list his. its neither The Aktualsierung, The long need separate only the SearchText() if need be must I it even still end a double commands make, and me with the double Lines by then compensate. if the commands too spaltenweise functions - have you got moreover a idea?
Sven |
|
|
| |
|
|
|
| Hi,
> Hello Frank, thanks for rapid response. > > has it something To say, that DeleteDoubleItems() in the Help not documents is?
Hmm, in of my Help is the function declared... have you got time one Update made ?
> at that Delete doppeler Entries should > only a Column berücksichtigt go. dive in slot 1 double Entries on so should tappt im dunkeln deleted go, same what > into others Split is.
yet plainer, then can you The Whileloop-Loop Yes omit.
> > there over longer Time time More and times less Lines eingefügt go, should The updating really always immediate come off > and double Lines To none Time in the list his.
then building You DeleteDoubleItems even more frequently one. instead of To Verify, whether the entry twice is, using You DeleteDoubleItems.
> its neither The Aktualsierung, The long need separate only > the SearchText() if need be must I it even still end a double commands make, and me with the double Lines > by then compensate.
As I said, kontinuierlich install...
> if the commands too spaltenweise functions - have you got moreover a idea?
Have I already said. here's The Syntax:
DeleteDoubleItems(H,s)
deletes any twice or multiple vorkommen Itemtexte in a slot one Listviews.
H : Long - lever one with CreateListview() erstellten List view Controls s : Long - index the column of H, its multiple vorkommende Itemtexte deleted go should (nullbasierend)
an speedy and bequeme method, double, or. mehrfache Entries To delete. for a complete List view so To Edit, must any Split go through go, z.B. so:
SendMessage(listview&,11,0,0) Neuaufbau of Listviews prevent !
Whileloop GetColumns(listview&) DeleteDoubleItems(listview&,(&loop-1)) EndWhile
SendMessage(listview&,11,1,0) rebuilding of Listviews (standart).
Greeting, Frank |
|
|
| |
|
|
|
| Hello Frank, i think I habs understands. I make it without SearchText and be thereby yet 3time faster as with the Listbox Version.
Listbox immediate on double Verify: 3:30 minutes Listbox without check: < 1 Minute
ListView immediate on double Verify: > 20 minutes Listbox without check: ca. 1 Minute
so can I life!
only unfortunately Gibts whom DeleteDouble commands in the actually pkg not. i'm too right confused what The Version and Help Files angeht.
Aktueller Download:
Version 1.5 last stood: 25.Nov.2003 function uncharted: DeleteDoubleItems
Help on the Web:
Version 1.6 last stood: 25.Nov.2003 DeleteDoubleItems() in Help aufgeführt
now be I but confused! where I get The Version 1.6, What is except the DeleteDoubleItems into the bargain come and Why is the Entwicklungsstand too 25.Nov.2003 How with the 1.5.
Sincerely, Sven |
|
|
| |
|
|
|
| Hi,
ah, there Have I well Mist built. I werd you the new Dll-Version time so zuschicken, by Mail. the Update comes then, if yet some functions dazgekommen are.
Greeting, Frank |
|
|
| |
|
|
|
| where there because The Version 1.6 ? on the Website find I only The 1.5
greeting Dirk |
|
|
| |
|
|
|
| Hi,
Yes, 1.5 is the latest Update. 1.6 Beta is the Arbeitstitel of my Dll-Version, on the I momentarily sporadisch work. yet have I it so held, the one new Update results, once some New Features dazugekommen are. And so becomes it too furthermore stay. when very the 1.6 Update now appear, knows I not yet, sure but yet this year.
Greeting, Frank |
|
|
| |
|
|