Jag har en liten undran då jag plötsligt blev lite osäker: Varje gång du förändrar strängen så skapas en ny och hela innehållet kopieras. Försök därför att förändra strängen så få gånger som möjligt. Tack, det var som jag misstänkte fast nu fick jag en något bättre förklaring på vad som egentligen händer "under huven" på burken... Det betyder att jag har ett ganska stort jobb framför mig... Fast med ganska goda utsikter att lyckas med uppdraget! :-DEffektiviseringsproblem/Bearbetning av strängar
Jag har fått i uppdrag att få ett VB6-program att köra mer effektivt och försöka få den att göra en bearbetning något snabbare än vad som görs idag. Min fråga är: Är det mer effektivt (hastighetsmässigt) att först göra en Trim$() av en sträng innan nästa funktion bearbetar strängen? Vad den funktionen gör är bl.a. att göra Replace$() på ej tillåtna tecken. Man skulle ju kunna utöka Replace$() att ta bort även mellanslag. Eller har det ingen betydelse?
Frågan är helt enkelt om det är mödan värt att leta upp alla ställen där det görs Trim$() på och ersätta detta i de två funktioner som gör bearbetningarna?
Vad som också görs som jag tänke hitta någon annan lösning på är att det är väldigt mycket arbete med temporära variabler, typ tmpNewString = tmpNewString & Mid$(...) men det får bli nästa steg.
Det är en array som loopas igenom där varje sträng kan vara VÄÄLDIGT stor och arrayen kan innehålla mellan 1000 och 1500 värden. Det innebär att just nu känns processen väldigt seg som sirap och det ger ett allmänt dåligt intryck på hela programmet.
Alla synpunkter är av intresse...Sv: Effektiviseringsproblem/Bearbetning av strängar
t.ex. använd regex för att ta bort alla otillåtna tecken på en gång istället för att göra replace på dem ett och ett.
Använd dessutom samma regex parser för alla strängarna så den inte behöver byggas varje gång.
Att loopa genom en sträng och göra som du skriver
tmpNewString = tmpNewString & Mid$(...)
är väldigt inneffektivt eftersom det måste skapas nya strängar hela tiden. Försök använda regex här också för att göra så mycket som möjligt på en gång.Sv:Effektiviseringsproblem/Bearbetning av strängar