PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von bobobo »

Schön

aber der Messagerequester ist unhandlich.

Wäre es nicht netter wenn die aktuelle Procedure als gehighlight in der Werkzeugtafel
angezeigt werden können sollte haben würde werden sein?

Dafür wäre es natürlich nett wenn man in den Tools neben den anderen
Triggern auch sowas wie "Quelltext geändert" angeben könnte.
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Sicro
Beiträge: 955
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von Sicro »

Anstatt eines normalen MessageRequesters könnte man auch einen mit Timeout verwenden: MessageRequester mit Timeout
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von ts-soft »

@Sicro
Dann wäre aber der schöne "Crossplattform" effekt wieder weg.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8679
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von NicTheQuick »

Oder eher eine Art Overlay-Window, was nach einer kurzen Zeit wieder verschwindet. Dann müsste man sich nur noch überlegen, wo es erscheinen soll.
Bild
Derren
Beiträge: 557
Registriert: 23.07.2011 02:08

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von Derren »

ts-soft hat geschrieben:@Sicro
Dann wäre aber der schöne "Crossplattform" effekt wieder weg.
wieso? Ist doch nicht so schwer sich seinen eigenen "MessageRequester" zu basteln.

Ich hab echt keinen Plan von der IDE und den ganzen SDK's und Scintilla, aber kann man die Nachricht nicht in das Debugger-Gadget (i.d.R unter dem Quelltext) schreiben?
Signatur und so
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von RSBasic »

Derren hat geschrieben:Ich hab echt keinen Plan von der IDE und den ganzen SDK's und Scintilla, aber kann man die Nachricht nicht in das Debugger-Gadget (i.d.R unter dem Quelltext) schreiben?
Das wäre auch eine Möglichkeit und ja, das geht selbstverständlich.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
c4s
Beiträge: 1235
Registriert: 19.09.2007 22:18

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von c4s »

RSBasic hat geschrieben:
Derren hat geschrieben:Ich hab echt keinen Plan von der IDE und den ganzen SDK's und Scintilla, aber kann man die Nachricht nicht in das Debugger-Gadget (i.d.R unter dem Quelltext) schreiben?
Das wäre auch eine Möglichkeit und ja, das geht selbstverständlich.
:shock: Davon schreibe ich doch u.A. hier die ganze Zeit. Wenn es dazu "selbstverständlich" eine Möglichkeit gibt, hätte ich mich schon viel früher auf eine weiterhelfende Antwort gefreut.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von RSBasic »

Sorry, ich hab den vorherigen Beitrag von dir nicht gelesen/gesehen, sondern hab nur auf die Frage von Derren geantwortet.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von Kiffi »

@c4s: Habe mal grade den Code von Thomas im Parallelthread geklaut und einen Teil von Deinem Code injiziert:

Code: Alles auswählen

EnableExplicit

Procedure EnumChildProc(hWnd, *lParam.Integer)
	Protected CName.s{128}
	
	GetClassName_(hWnd, @CName, 128)
	If CName = "ListBox"
		*lParam\i = hWnd
		ProcedureReturn #False
	EndIf
	
	ProcedureReturn #True
EndProcedure

Define hListBox.i, hWnd.i, msg.s

hWnd = FindWindow_(0, "PureBasic 5.30 (x86)") ; Hier dann später: Val( GetEnvironmentVariable("PB_TOOL_MainWindow") )

If hWnd
	
	EnumChildWindows_(hWnd, @EnumChildProc(), @hListBox)
	
	If hListBox
		
		Debug hListBox
		
		msg = "huhu"
		
		SendMessage_(hListBox, #LB_ADDSTRING, 0, @msg)
		SendMessage_(hListBox, #LB_SETTOPINDEX, SendMessage_(hListBox, #LB_GETCOUNT, 0, 0) -1, 0)
		
	EndIf
	
EndIf
Probleme hier: Es wird die erstbeste Listbox verwendet. (Die Prozedurauflistung in der Sidebar ist beispielsweise auch eine Listbox) und die anderen OSler werden nicht erfreut sein. ;-)

Grüße ... Peter
Hygge
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB-Tool: Namen der aktuellen Procedure ausgeben lassen

Beitrag von RSBasic »

Bei mir nimmt er die ListBox aus der Prozedurenliste.
Ich würde es so machen:

Code: Alles auswählen

EnableExplicit

Define hListBox.i, hWnd.i, msg.s

hWnd = FindWindow_(0, "PureBasic 5.30 (x86)") ; Hier dann später: Val( GetEnvironmentVariable("PB_TOOL_MainWindow") )
If hWnd
  hListBox = FindWindowEx_(hWnd, 0, "ListBox", 0)
  If hListBox
    msg = "huhu"
    SendMessage_(hListBox, #LB_ADDSTRING, 0, @msg)
    SendMessage_(hListBox, #LB_SETTOPINDEX, SendMessage_(hListBox, #LB_GETCOUNT, 0, 0) -1, 0)
  EndIf
EndIf
Klappt es bei euch auch?
Bei mir ja. Laut ControlList gibt es in meiner PB-Benutzeroberfläche nur ein ListIconGadget auf der ersten Ebene. Die anderen ListIconGadgets sind ein paar Tiefen drunter, zum Beispiel im PanelGadget (SideBar von PB).
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten