ich wünsche mir einen KillFileRequester.
denn beim OpenFileRequester steht öffnen, ich hätte aber gerne das da löschen oder zumindest ok steht.
Wünsche mir einen KillFileRequester
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Wünsche mir einen KillFileRequester
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: Wünsche mir einen KillFileRequester
Dann wärs aber doch ein "DeleteFileRequester" und nicht "KillFileRequester". Prozesse werden getötet, Dateien werden gelöscht.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: Wünsche mir einen KillFileRequester
@hjbremer
Ich hab mal für dich einen Code mit Hilfe dieses Threads ( http://www.purebasic.fr/english/viewtop ... 12&t=38051 ) geschrieben:
Ist es das, was du möchtest?
Sieht dann so aus:

Ich hab mal für dich einen Code mit Hilfe dieses Threads ( http://www.purebasic.fr/english/viewtop ... 12&t=38051 ) geschrieben:
Code: Alles auswählen
EnableExplicit
Define EventID
Define File$
Global WinMainX, WinMainY, WinMainWidth, WinMainHeight
Procedure RequesterCallBack(hWnd, uMsg, wParam, lParam)
hWnd = FindWindow_(#Null,"Datei löschen")
If hWnd
hWnd = FindWindowEx_(hWnd,#Null,#Null,"Ö&ffnen")
If hWnd
SetWindowText_(hWnd,"Löschen")
EndIf
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ButtonGadget(1,10,10,100,20,"DeleteFileRequester",0)
SetWindowCallback(@RequesterCallBack())
Repeat
EventID=WaitWindowEvent()
If EventID=#PB_Event_Gadget
Select EventGadget()
Case 1
File$ = OpenFileRequester("Datei löschen","","",0,0)
If File$
Debug File$
EndIf
EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Sieht dann so aus:

- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Re: Wünsche mir einen KillFileRequester
Cool, sehr gut, danke RSBasic
normalerweise wärs das, aber ich bräuchte das für ein kleines Toolfenster, welches in den verschiedensten Programmen via Include eingebunden wird, und das sollte keinen Callback haben, denn in PB gibt es ja nur einen Callback im Mainprogramm.
Ich könnte natürlich meine eigene Dialogbox machen, oder ein Treegadget benutzen, aber der Aufwand nur für ein klitzekleines Wort. Das ist zuviel des Guten.
normalerweise wärs das, aber ich bräuchte das für ein kleines Toolfenster, welches in den verschiedensten Programmen via Include eingebunden wird, und das sollte keinen Callback haben, denn in PB gibt es ja nur einen Callback im Mainprogramm.
Ich könnte natürlich meine eigene Dialogbox machen, oder ein Treegadget benutzen, aber der Aufwand nur für ein klitzekleines Wort. Das ist zuviel des Guten.
Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Re: Wünsche mir einen KillFileRequester
SetWindowCallback() hat einen optionalen Parameter...hjbremer hat geschrieben:[...]denn in PB gibt es ja nur einen Callback im Mainprogramm.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Re: Wünsche mir einen KillFileRequester
@hjbremer
Und wie sieht es mit einem Thread aus? Ginge das?
Entscheidend sind folgende Code-Zeilen:
Hier mal ein Thread-Beispiel:
\\Edit:
Ja, HeX0R hat Recht. Da gibt es einen optionalen Parameter, falls dir das hilft.
Und wie sieht es mit einem Thread aus? Ginge das?
Entscheidend sind folgende Code-Zeilen:
Code: Alles auswählen
hWnd = FindWindow_(#Null,"Datei löschen")
If hWnd
hWnd = FindWindowEx_(hWnd,#Null,#Null,"Ö&ffnen")
If hWnd
SetWindowText_(hWnd,"Löschen")
EndIf
EndIf
Code: Alles auswählen
EnableExplicit
Define File$
Procedure RequesterThread(z)
Protected hWnd
Repeat
hWnd = FindWindow_(#Null,"Datei löschen")
If hWnd
hWnd = FindWindowEx_(hWnd,#Null,#Null,"Ö&ffnen")
If hWnd
SetWindowText_(hWnd,"Löschen")
EndIf
EndIf
Delay(100)
Until hWnd
EndProcedure
CreateThread(@RequesterThread(),0)
File$ = OpenFileRequester("Datei löschen","","",0,0)
If File$
Debug File$
EndIf
Ja, HeX0R hat Recht. Da gibt es einen optionalen Parameter, falls dir das hilft.
- hjbremer
- Beiträge: 822
- Registriert: 27.02.2006 22:30
- Computerausstattung: von gestern
- Wohnort: Neumünster
Re: Wünsche mir einen KillFileRequester
HeX0R hat geschrieben:SetWindowCallback() hat einen optionalen Parameter...hjbremer hat geschrieben:[...]denn in PB gibt es ja nur einen Callback im Mainprogramm.
Man hätte trotzdem 2 Callbacks, habe mit dem Parameter schon gearbeitet, und 2 Callbacks im Programm gehabt. Hat nicht so recht funktioniert. Wohl mangels Wissen.
Aber die Sache mit dem Thread funktioniert
Vielen Dank für die Mühe.


Purebasic 5.70 x86 5.72 X 64 - Windows 10
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer