20.11.2014, 20:31
Hier ist mein Aktueller versuch. DH0 wird richtig ausgelesen, wenn er beginnt die Schubladen zu Scannen bleibt er aber in einer endlosschleife. Es beginnt in 'c' und bleibt dann dort stecken.
Laut einem älteren BB guide sollten functions sich selbst aufrufen können, insofern übersehe ich wohl etwas. Jemand eine Idee wo der Haken ist?
EDIT: das ; im in den 'If item > ""' Zeilen wird beim posten eingefügt, das ist im original code natürlich nicht vorhanden.
[ab3]Function icScanDir {icPath2.s}
SHARED *engine
*EnvList.tuiListView = (.tuiListView)ntui_GetObjectByID{*engine,"LVenv"} ; finde ListView
flags.l = (#dos_scan_files|#dos_scan_sorted)
Repeat
item.s = dos_ScanDir{icPath2,"(#?.info)",flags}
If item > ""
NPrint item
ntui_AddListItem{*EnvList,-1,item,0,1234,0}
EndIf
Until item = ""
Function Return 0
End Function
Function icFindDir {icPath.s}
icScanDir {icPath}
NPrint icPath
flags.l = (#dos_scan_dirs|#dos_scan_sorted)
Repeat
item.s = dos_ScanDir{icPath,"",flags}
If item > ""
NPrint item
icFindDir {item}
EndIf
Until item = ""
Function Return 0
End Function
; Aufgerufen wird das ganze mit:
icFindDir {dh0:}[/ab3]
BTW: Mit den NPrint hab ich die schleifen kontrolliert. Aus irgendeinem Grund finded AB meine reqtools.lib nicht und lässt mich den debugger nicht benutzen. Ich hab aber auch noch nicht nachgeschaut woran das liegen könnte.
Laut einem älteren BB guide sollten functions sich selbst aufrufen können, insofern übersehe ich wohl etwas. Jemand eine Idee wo der Haken ist?
EDIT: das ; im in den 'If item > ""' Zeilen wird beim posten eingefügt, das ist im original code natürlich nicht vorhanden.
[ab3]Function icScanDir {icPath2.s}
SHARED *engine
*EnvList.tuiListView = (.tuiListView)ntui_GetObjectByID{*engine,"LVenv"} ; finde ListView
flags.l = (#dos_scan_files|#dos_scan_sorted)
Repeat
item.s = dos_ScanDir{icPath2,"(#?.info)",flags}
If item > ""
NPrint item
ntui_AddListItem{*EnvList,-1,item,0,1234,0}
EndIf
Until item = ""
Function Return 0
End Function
Function icFindDir {icPath.s}
icScanDir {icPath}
NPrint icPath
flags.l = (#dos_scan_dirs|#dos_scan_sorted)
Repeat
item.s = dos_ScanDir{icPath,"",flags}
If item > ""
NPrint item
icFindDir {item}
EndIf
Until item = ""
Function Return 0
End Function
; Aufgerufen wird das ganze mit:
icFindDir {dh0:}[/ab3]
BTW: Mit den NPrint hab ich die schleifen kontrolliert. Aus irgendeinem Grund finded AB meine reqtools.lib nicht und lässt mich den debugger nicht benutzen. Ich hab aber auch noch nicht nachgeschaut woran das liegen könnte.