English
Forum

Search Text vieeeel too slow

 
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
 
11/10/04  
 



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?
 
11/10/04  
 



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
 
11/10/04  
 



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
 
11/10/04  
 



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
 
11/10/04  
 



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
 
11/10/04  
 



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
 
11/10/04  
 



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
 
11/10/04  
 



where there because The Version 1.6 ?
on the Website find I only The 1.5

greeting Dirk
 
11/10/04  
 



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
 
11/10/04  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

no Systemprofil laid out. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Please register circa a Posting To verfassen.
 

Topic-Options

5.074 Views

Untitledvor 0 min.

Themeninformationen

this Topic has 1 subscriber:

unbekannt (10x)


Admins  |  AGB  |  Applications  |  Authors  |  Chat  |  Privacy Policy  |  Download  |  Entrance  |  Help  |  Merchantportal  |  Imprint  |  Mart  |  Interfaces  |  SDK  |  Services  |  Games  |  Search  |  Support

One proposition all XProfan, The there's!


My XProfan
Private Messages
Own Storage Forum
Topics-Remember-List
Own Posts
Own Topics
Clipboard
Log off
 Deutsch English Français Español Italia
Translations

Privacy Policy


we use Cookies only as Session-Cookies because of the technical necessity and with us there no Cookies of Drittanbietern.

If you here on our Website click or navigate, stimmst You ours registration of Information in our Cookies on XProfan.Net To.

further Information To our Cookies and moreover, How You The control above keep, find You in ours nachfolgenden Datenschutzerklärung.


all rightDatenschutzerklärung
i want none Cookie