Unique Superseded Update

Ich habe bei der Entwicklung verschiedener Programme in VB2008 mitbekommen, wie man die Ermittlung von Superseded Updates beschleunigen.
Im Moment funktioniert das ja so, dass ein sortiertes Dokument über einen Leser zeilenweise gelesen wird und beim Vergleich
mit der letzten Zeile abgeglichen wird.
Es ist aber auch möglich zu prüfen, ob ein String eine Zeile bereits enthält (getrennt mit Trennzeichen, z.B. ";")
Diesen String könnte man dann wie im Orginal über einen Streamwriter geschrieben werden.
Das würde das Sortieren ersparen und den Vorgang beschleunigen.
VB2008 Beispielcode
Viele Grüsse
Im Moment funktioniert das ja so, dass ein sortiertes Dokument über einen Leser zeilenweise gelesen wird und beim Vergleich
- Code: Select all
Do While Not inputFile.AtEndOfStream
strCurrentLine = inputFile.ReadLine()
If strCurrentLine <> strLastLine Then
outputFile.WriteLine(strCurrentLine)
End If
strLastLine = strCurrentLine
Loop
mit der letzten Zeile abgeglichen wird.
Es ist aber auch möglich zu prüfen, ob ein String eine Zeile bereits enthält (getrennt mit Trennzeichen, z.B. ";")
- Code: Select all
If Instr(strFeatureID,"HMV") <> 0 then
strfeaturetype="HMV"
elseif Instr(strFeatureID,"HMR") <> 0 then
strfeaturetype="HMR"
elseif Instr(strFeatureID,"SHMR") <> 0 then
strfeaturetype="SHMR"
elseif Instr(strFeatureID,"SHMV") <> 0 then
strfeaturetype="SHMV"
End if
Diesen String könnte man dann wie im Orginal über einen Streamwriter geschrieben werden.
Das würde das Sortieren ersparen und den Vorgang beschleunigen.
VB2008 Beispielcode
- Code: Select all
dim oldString as string = "a;b;c;b;a"
dim newString as string = ""
for i as integer = 0 to Ubound(Split(oldString, ";"))
if oldString = "" then
newString = Split(oldString, ";")(i)
else
if newString.Contains(Split(oldString, ";")(i)) = False then
newString = newString = newString & ";" & Split(oldString, ";")(i)
end if
end if
next
' newString wäre nun gleich "a;b;c"
Viele Grüsse