Hi Thomas,
nee, das war mir nicht bekannt. Ich habe deinen Vorschlag aufgegriffen
und
lande nun bei 12ms. Also 5ms schneller. Aber trotzdem noch relativ lang.
Klemens
Am 03.06.2009 um 10:37 schrieb Thomas Tempelmann:
2009/6/3 Klemens Klarhoelter <[email protected]>:
Wie kann ich den Vorgang beschleunigen?
m.cString(0) = NthField(m1.CString(0),chr(13),i)
Dir ist klar, daß jeder NthField-Aufruf immer wieder am Beginn des
Strings anfängt, nach CRs zu suchen und das bei jedem höheren "i"
immer länger dauert?
Also ändere den Loop in der Art, daß du z.B. mit InStr nach dem
nächsten CR suchst, und dann den String mit StringValue ausschneidest,
und v.A. beim nächsten Mal dann _dort_ weitersuchst anstatt am Beginn
(dafür bietet Instr einen weitere Parameter).
Außerdem führt die CString-Funktion jedesmal zum Erzeugen eines neuen
String-Objekts. Wenn du aber im loop immer das selbe ansprichst, dann
bestimme das nur einmal!
--
Thomas Tempelmann, http://www.tempel.org/
Mit freundlichen Grüßen
Klemens Klarhoelter-Selbst
kNetSoft UG (haftungsbeschränkt)
[email protected]