AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [VBScript] Objekte in Arrays ablegen
Thema durchsuchen
Ansicht
Themen-Optionen

[VBScript] Objekte in Arrays ablegen

Ein Thema von Luckie · begonnen am 8. Feb 2007 · letzter Beitrag vom 11. Feb 2007
Antwort Antwort
Seite 2 von 3     12 3      
EWeiss
(Gast)

n/a Beiträge
 
#11

Re: [VBScript] Objekte in Arrays ablegen

  Alt 10. Feb 2007, 21:08
Zitat von Luckie:
Der spielt doch keine Rolle. Und wenn er nicht gefunden wird, macht es auch nichts.
JO sieht dann bescheiden aus...
Dein Fehler liegt hier.

Set file = file_array(i)
Filedate = File.DateLastModified

Auf File kommst du nur über 'Scripting' nicht über Scripting.FileSystemObject
Und Set file = kannst du keinen array zuweisen wenn du vorher das Object nicht auf scripting.File initialisiert hast

EDIT:
für file der Pfad Scripting.File
für Filedate Scripting.File.DateLastModified

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#12

Re: [VBScript] Objekte in Arrays ablegen

  Alt 10. Feb 2007, 21:39
Hier ein kleines Beispiel..

Habs unten geschrieben und das hier gelöscht.

gruss
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

Re: [VBScript] Objekte in Arrays ablegen

  Alt 10. Feb 2007, 21:51
Sorry PUSH!

Hier deine Lösung. Warst ja eigentlich nahe dran.

Set Files = fo.Files
i = 0
ReDim file_array(Files.Count)
For Each File In Files
file_array(i) = File
i = i + 1
Next

Set File = fo.Files
For Each File In fo.Files
//Set Files = file_array(i)
Filedate = File.DateLastModified
Filesize = File.Size
FileName = File.Name
ts.WriteLine "<tr>"
ts.WriteLine "<td class='date'>" & Filedate & "</td>"
ts.WriteLine "<td class='size'>" & Filesize & "</td>"
ts.WriteLine "<td class='name'>" & FileName & "</td>"
ts.WriteLine "</tr>"
Next

Das ist falsch //Set Files = file_array(i)

Wenn es dir Hauptsächlich um das Array geht dann mach es so.

Code:
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
Du mußt das Array dann nur mit dem Delemiter "," spliten dann hast du was du brauchst.
Code:
For i = 0 To UBound(file_array) - 1
  s = Split(file_array(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
Das Object selbst kannst du nicht in ein array mit einbinden nur den Wert.

gruss Emil
  Mit Zitat antworten Zitat
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, 01: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
EWeiss
(Gast)

n/a Beiträge
 
#15

Re: [VBScript] Objekte in Arrays ablegen

  Alt 11. Feb 2007, 02:37
Hi Michael

Hier ist das beispiel von dir.
Schau mal rein ...

Läuft alles einwandfrei bei mir.
Zum testen mußt du einen Ordner Test auf D:\ erstellen im Rootpfad.

Mit Source von dir.

gruss Emil
Angehängte Dateien
Dateityp: rar html_datei_ausgeben_910.rar (8,1 KB, 1x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: [VBScript] Objekte in Arrays ablegen

  Alt 11. Feb 2007, 02:43
Wo liegt den bei mir der Fehler, dass es nicht läuft? Ich sehe da irgendwie keinen Unterschied.

Im Anhang mal mein Code als vbs Script-Datei.

PS: Bei dir wird es auch nicht richtig sortiert.
Angehängte Dateien
Dateityp: txt 04_03_dir2html.vbs_189.txt (4,5 KB, 2x aufgerufen)
Michael
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#17

Re: [VBScript] Objekte in Arrays ablegen

  Alt 11. Feb 2007, 02:46
PUSH ist ja spät!

Hier ein Pic!
So richtig sortiert da aber nix.

Nach was soll er denn sortieren.

gruß
Miniaturansicht angehängter Grafiken
test_957.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: [VBScript] Objekte in Arrays ablegen

  Alt 11. Feb 2007, 02:49
Verdammt, warum läuft das bei dir, aber bei mir nicht? Sortiert werden soll nach der Dateigröße.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#19

Re: [VBScript] Objekte in Arrays ablegen

  Alt 11. Feb 2007, 02:55
Zitat von Luckie:
Verdammt, warum läuft das bei dir, aber bei mir nicht? Sortiert werden soll nach der Dateigröße.
Werd nachher mal schauen muss jetzt ins Bett
Habe jetzt auch mein Scripting bei den Diensten deaktiviert muss das erst einschalten.

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: [VBScript] Objekte in Arrays ablegen

  Alt 11. Feb 2007, 03:02
Besten Dank. Ich gehe jetzt auch erstmal ins Bett. Guten Nacht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz