CatchSound() vor MessageRequester?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
by night
Beiträge: 45
Registriert: 24.02.2007 21:52

Beitrag von by night »

Läuft keine .exe im Taskmanager. Woran könnte es noch liegen?
PureBasic v4.00 (Windows - x86)
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

Beitrag von ts-soft »

by night hat geschrieben:Läuft keine .exe im Taskmanager. Woran könnte es noch liegen?
Dann mach mal nen frisches Windows (Neustart!) :D
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
by night
Beiträge: 45
Registriert: 24.02.2007 21:52

Beitrag von by night »

Bereits 3 mal gemacht :(
PureBasic v4.00 (Windows - x86)
Benutzeravatar
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:

Beitrag von HeX0R »

Die Exe darf nicht grösser als 64MB werden.
(Quelle : http://www.purebasic.fr/english/viewtopic.php?p=172322)
Benutzeravatar
by night
Beiträge: 45
Registriert: 24.02.2007 21:52

Beitrag von by night »

Ui ... Das ist natürlich schlecht! Dann weiß ich woran es liegt :roll:

Naja, dann versuche ich mich jetzt an einem schlichtem Textbutton.

Code: Alles auswählen

If OpenWindow(0, 0, 0, 200, 200, "Welche Band?", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(0))
If CreateGadgetList(WindowID(0))
ButtonGadget(1, 10, 100, 180, 60, "Rammstein")
ButtonGadget(0, 10, 15, 180, 60, "Blink 182")
Else
MessageRequester("Fehler", "Sorry, aber dein Rechner ist zu lame!")
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
EndIf
Wie lautet der Befehl, dass ich jetzt festlegen kann, was der Button per MessageRequester sagt, wenn ich ihn anklicke? In der Hilfe gibt es soo viele Befehle <)
PureBasic v4.00 (Windows - x86)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich finde es auch etwas unsinnig, zig MB große musik in ne exe packen zu wollen.
du spielst die als sound ab... sind das etwas WAV files?
probier mal, die in OGG umzuwandeln (converter im inet suchen),
dann werden die schon mal kleiner.
außerdem kannst du über PlayMovie auch MP3s abspielen.

aber auf jeden fall würde ich die von extern laden,
also zusätzliche dateien neben der exe mitliefern.

wenn du verhindern willst, dass die außerhalb deines Progs benutzt werden,
kannst du ja einfach die dateiendung ändern, das hilft schon mal ein wenig.
professionell wäre, den Header zu manipulieren, aber das ist keine Anfänger-sache,
das heb dir mal für später auf.

--------------------------------------------------------------------
zu deinem neuen code:

1) BITTE EINRÜCKEN!
so kann das doch keiner lesen. :?

2) egal womit du reagieren willst, der code für die event-abfrage läuft
immer noch über EventID = #PB_Event_Gadget und EventGadget()
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Wie lautet der Befehl, dass ich jetzt festlegen kann, was der Button per MessageRequester sagt, wenn ich ihn anklicke?
Du musst das Ergebnis auswerten und entsprechend reagieren.

Liest du eigentlich mal was in der Hilfe so steht?

PS: Du brauchst nur eine GadgetList.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
by night
Beiträge: 45
Registriert: 24.02.2007 21:52

Beitrag von by night »

Hm ... Ich verstehe die Beispiele und Erklärungen bei der Hilfe von PB nicht recht. Kannst du mir die Sache vielleicht anhand eines Beispiels erklären? Würde mich freuen :)
PureBasic v4.00 (Windows - x86)
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

Beitrag von ts-soft »

So grosse Sound-Dateien niemals mit Include-Binary in die Exe packen, die
wird beim Start der Exe in den Speicher geladen und beim Abspielen
nochmals, befindet sich also 2x im Speicher. Unter Windows ist es besser
Resourcen zu verwenden, dann wird der Sound nur einmal beim Abspielen
geladen. Dafür bietet sich die UDRes lib von mir an:
http://www.purebasic.fr/german/viewtopi ... 2&start=20

oder die Sounddateien extern mitliefern
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
by night
Beiträge: 45
Registriert: 24.02.2007 21:52

Beitrag von by night »

Wenn ich die Hilfe so richtig verstehe ist EventID also eine Variable. Schon mal ein Schritt weiter :lol: Doch ganz verstehen will ichs noch nicht. Wie schon in meinem Code gezeigt habe ich nun zwei Buttons. Auf dem einen Button steht XYZ, auf dem anderen ABC. Wenn ich nun ABC anklicke, möchte ich einen Text per MesageRequester erhalten. Doch wie das geht bleibt mir immer noch ein Rätsel. Bevor jetzt wieder 1000 Flames gepostet werden: Ja, ich habe die Hilfe benutzt, ja ich habe Google benutzt, und ja, ich habe mir einige Tutorials angeschaut. Ein einfaches Beispiel würde mir sehr weiterhelfen, sodass ich mir anhand des Beispiels mehr drunter vorstellen kann :)
PureBasic v4.00 (Windows - x86)
Antworten