03-07-2016 03:43 AM
Hallo,
ich habe verschiedene csv-Dateien welche ich selektiv lade.
(i have to load several csv-files)
Select Case left(oArray(k),4)
Case "0104", "0105", "0106"
Call DataFileImport(T5& "\" &oArray(k),"csv")
....
Wie bekomme ich nun die Anzahl dieser geladenen Dateien?
How can i get the number of this loaded files?
Gruß / regards
03-07-2016 10:39 AM
Einfach einen Zähler mitführen.
dim count : count = 0 Select Case left(oArray(k),4) Case "0104", "0105", "0106" Call DataFileImport(T5& "\" &oArray(k),"csv") count = count + 1
MsgBox count
Oder spricht etwas dagegen?
03-08-2016 12:13 AM
Danke, das ist klar.
Ich habe aber 30 cases und jeder muß mit count = 0 beginnen.
Könnte auch die Anz. der Dateien bestimmen und in ein Array schreiben.
Besser wäre aber eine Funktion .count
Gruß
03-08-2016 01:41 AM
Eine kleine Klasse mit einem Dictionary könnte die Lösung sein
Option Explicit ' our counter dim counters : set counters = new CCounters counters.Called("abc") counters.Called("def") counters.Called("abc") counters.Called("abc") MsgBox counters.Count("abc") & VBCRLF & counters.Count("def") & VBCRLF & counters.Count("xyz") & VBCRLF ' class to do the counts class CCounters sub Called(ByVal usecaseName) if counters_.Exists(usecaseName) then counters_(usecaseName) = counters_(usecaseName) + 1 else counters_.Add usecaseName, 1 end if end sub function Count(ByVal usecaseName) Count = 0 if counters_.Exists(usecaseName) then Count = counters_(usecaseName) end if end function Private Sub Class_Initialize() set counters_ = CreateObject("Scripting.Dictionary") end sub private counters_ end class
03-08-2016 01:51 AM
Hallo,
ein Zähler zum Mitlaufen wäre denke ich auch eine gute Möglichkeit. Alternativ gibt es noch eine Gruppeneigenschaft sourceoriginalname mit der man den Dateinamen auslesen kann.
on error resume next for j=1 to data.Root.ChannelGroups.Count call LogfileWrite("property " & i & " _ " & data.Root.ChannelGroups(j).Properties("sourceoriginalname").Name & " _ " & data.Root.ChannelGroups(j).Properties("sourceoriginalname").Value) next on error goto 0
Wenn man das mit dem Zähler besser umsetzen will, als in jede individuelle Laderoutine reinzugehen, sollte man auch mit dem OnLoaded Ereignis argbeiten. Dort könnte man zentral einen Zähler mitlaufen lassen, den man nur beim Start des Skriptes zurücksetzen müsste.
Ereignis: OnLoaded - DIAdem 2012 Hilfe - National Instruments
http://zone.ni.com/reference/de-XX/help/370858K-0113/scriptnavi/events/navigator_event_onloaded/
Gruß Christoph
03-09-2016 05:53 AM
Dank für Eure Hilfe.
Werde das alles mal ausprobieren.