Code: Alles auswählen
Global a
Procedure Sing()
a+1
AddElement(daten())
daten()=a
If a<>10 : Sing() : EndIf
EndProcedure
Sing()
Code: Alles auswählen
Global a
Procedure Sing()
a+1
AddElement(daten())
daten()=a
If a<>10 : Sing() : EndIf
EndProcedure
Sing()
Code: Alles auswählen
Global a
Procedure Sing()
;Hier z.B. auf einen AbbruchButton testen:
If WindowEvent() = #PB_Event_Gadget And EventGadgetID() = #DEIN_ABBRUCH_BUTTON
ProcedureReturn #True
EndIf
a+1
AddElement(daten())
daten()=a
If a<>10
If Sing() = #True
ProcedureReturn 1
EndIf
EndIf
ProcedureReturn 0
EndProcedure
Sing()
Code: Alles auswählen
repeat
eventid=windowevent()
if eventid=#pb_eventmenu
select eventmenuid()
case 1 : searchfile(path)
endselect
endif
until eventid=#pb_eventwindowclose
z.B. deine TATSÄCHLICHE searchfile() Procedure.Nummer5 hat geschrieben:Ich brauche mehr Input
Code: Alles auswählen
Procedure SearchFile(Folder.s)
Protected Search.s,Type.b,result.b
Static DirID.l
If ExamineDirectory(DirID,Folder,"")
DirID+1
Repeat
Type=NextDirectoryEntry()
If Type : Search=Trim(DirectoryEntryName()) : EndIf
If Type=2
If Search<>"." And Search<>".."
result=IsEmpty(Folder+Search+"\")
UseDirectory(DirID-1)
If result=0
Search=Folder+Search+"\"
StatusBarText(0,1,"Durchsucht: "+Search)
SearchFile(Search)
UseDirectory(DirID-1)
ElseIf result=1
AddElement(files())
files()\path=Folder
files()\name=Search+" (Ordner)"
EndIf
EndIf
ElseIf Type=1
If DirectoryEntrySize()=0
AddElement(files())
files()\path=Folder
files()\name=Search+" (Datei)"
EndIf
EndIf
Until Type=0 Or stop=1
DirID-1
EndIf
EndProcedure
Code: Alles auswählen
toolbar=CreateToolBar(0,WindowID())
If toolbar=0
Error("Konnte das Programm nicht initialisieren!",1,10)
EndIf
ImageList_Destroy_(SendMessage_(toolbar,1073,0,0))
imgl=ImageList_Create_(32,32,#ILC_COLOR8|#ILC_MASK,0,1)
SendMessage_(toolbar,1072,0,imgl)
ToolBarImageButton(0,UseImage(0))
ToolBarImageButton(1,UseImage(1))
ToolBarSeparator()
ToolBarImageButton(2,UseImage(2))
ToolBarImageButton(3,UseImage(3))
DisableToolBarButton(0,1)
DisableToolBarButton(1,1)
status=CreateStatusBar(0,WindowID())
If status=0
Error("Konnte das Programm nicht initialisieren!",1,10)
EndIf
AddStatusBarField(100)
AddStatusBarField(500)
Dim Tooltext.s(4)
Tooltext(0)="Starte Suche"
Tooltext(1)="Stoppe Suche"
Tooltext(3)="Version-Info"
Tooltext(4)="Hilfe"
ToolBarToolTip(0,Tooltext(0))
ToolBarToolTip(1,Tooltext(1))
ToolBarToolTip(2,Tooltext(3))
ToolBarToolTip(3,Tooltext(4))
Code: Alles auswählen
Repeat
EventID=WindowEvent()
If EventID=0
hot=SendMessage_(toolbar,1095,0,0)
If hot<>oldhot
oldhot=hot
If hot=-1 : StatusBarText(0,0,"") : Else : StatusBarText(0,0,Tooltext(hot)) : EndIf
EndIf
Delay(5)
ElseIf EventID=#PB_EventMenu
Select EventMenuID()
Case 0
DisableToolBarButton(1,0)
DisableToolBarButton(0,1)
ClearList(files())
ClearGadgetItemList(2)
stat.w=0
stop=0
SearchFile(result)
StatusBarText(0,1,"Bereit")
ResetList(files())
ForEach files()
AddGadgetItem(2,stat,files()\name+Chr(10)+files()\path)
SetGadgetItemState(2,stat,#PB_ListIcon_Checked)
stat+1
Next
DisableToolBarButton(0,0)
Case 1
stat.w=0
ClearList(files())
ClearGadgetItemList(2)
stop=1
EndSelect
EndIf
Until EventID=#PB_EventCloseWindow
Ende()
Code: Alles auswählen
Procedure.l SearchFile(Folder.s)
Protected Search.s,Type.b,result.b
Static DirID.l
If ExamineDirectory(DirID,Folder,"")
DirID+1
Repeat
Type=NextDirectoryEntry()
If Type : Search=Trim(DirectoryEntryName()) : EndIf
;NEW
If WindowEvent() = #PB_EventMenu And EventMenuID() = 1
ProcedureReturn 1
EndIf
;NEW END
If Type=2
If Search<>"." And Search<>".."
result=IsEmpty(Folder+Search+"\")
UseDirectory(DirID-1)
If result=0
Search=Folder+Search+"\"
StatusBarText(0,1,"Durchsucht: "+Search)
;CHANGED
If SearchFile(Search)
ProcedureReturn 1
EndIf
;CHANGED END
UseDirectory(DirID-1)
ElseIf result=1
AddElement(files())
files()\path=Folder
files()\name=Search+" (Ordner)"
EndIf
EndIf
ElseIf Type=1
If DirectoryEntrySize()=0
AddElement(files())
files()\path=Folder
files()\name=Search+" (Datei)"
EndIf
EndIf
Until Type=0 Or stop=1
DirID-1
EndIf
;NEW
ProcedureReturn 0
;NEW END
EndProcedure