Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: [VBScript] Objekte in Arrays ablegen

  Alt 11. Feb 2007, 02:23
Zitat von EWeiss:
Das Object selbst kannst du nicht in ein array mit einbinden nur den Wert.
OK, darum ging es mir, ich kann also keine Objekte in einem Array ablegen. Ich wollte das Array dann ein eine Funktion übergeben, die esmir dann sortiert.

Ich habe es jetzt so gemacht:
Code:
' BubbleSort
function bubblesort(arrsort)
  for i = 0 to ubound(arrsort) - 1
    for j = i + 1 to ubound(arrsort) - 1
      s1 = Split(arrsort(i), ",", -1, vbTextCompare)
      filesize1 = s1(2)
      s2 = Split(arrsort(j), ",", -1, vbTextCompare)
      filesize2 = s2(2)
      if filesize1 < filesize2 then
        arrTemp = arrsort(i)
        arrsort(i) = arrsort(j)
        arrsort(j) = arrTemp
      end if
    next
  next
  bubblesort = arrsort
end function
'...

Set files = fo.Files
i = 0
ReDim file_array(files.Count)
For Each file In files
  file_array(i) = file & "," & file.DateLastModified & "," & file.Size & "," & file.Name
  i = i + 1 
Next

ReDim sortedarray(files.Count)
sortedarray = bubblesort(file_array)

For i = 0 To ubound(sortedarray) - 1
  s = Split(sortedarray(i), ",", -1, vbTextCompare)
  Filedate = s(1)
  Filesize = s(2)
  Filename = s(3)
  ts.WriteLine "<tr>"
  ts.WriteLine "<td class='date'>" & Filedate & "</td>"
  ts.WriteLine "<td class='size'>" & Filesize & "</td>"
  ts.WriteLine "<td class='name'>[url='" & fo.Path & "/" & FileName & "']" & Filename & "[/url]</td>"
  ts.WriteLine "</tr>"
Next
In Zeile 29 bekomme ich jetzt den Fehler: "Typen unverträglich". Warum denn das? Es sind doch beides Arrays? Desweiteren scheint er nicht zu sortieren, sondern eigentlich nur das Array durcheinander zu würfeln, als ich es mir mal zur Kontrolle haben ausgeben lassen in der Funktion bubblesort selber.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat