 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Simon
Anmeldungsdatum: 18.02.2008 Beiträge: 26
|
Verfasst am: 06.03.2008, 19:43 Titel: 2 Fragen |
|
|
Hallo ! Ich hab mal wieder 2 Fragen !
1.) Ich wollte ein Lied (Simple Plan - Think about you , wav.) mit fbn abspielen ! Dazu hab ich folgendes übernommen/geschrieben :
dim pfad as string
#include once "windows.bi"
#include once "win/mmsystem.bi"
Pfad="C:\Dokumente und Einstellungen\Simon\Desktop\Musik\"
sndPlaySound Pfad & "cool.wav",SND_SYNC
Doch das geht nur ein bisschen ! Er spielt es zwar ab aber nur die ersten 10 sec oder so ! Dan ist das Lied plötzlich zuende ! Wenn ich es mit dem WMP abspiel ist es volständig !
2.) Wie kann ich in einer Message Box ein Eingabe Feld machen ? So das das eigegebene in einem String gespeichert wird ? ich habe schon gehört das des ziemlich schwierig sein soll aber ich wäre trotzdem Dankbar für ein bisschen Code !
MfG Simmmon _________________ Bitte geht auf http://simmmon.chapso.de/ |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 06.03.2008, 19:59 Titel: |
|
|
1)
Du versuchst das Lied als Soundeffekt abspielen, dafür ist es aber zu groß! Du musst es als Stream laden und abspielen.
2)
Das ist ein VisualBASIC- Feature. FB kann das nicht... Am einfachsten wäre es, einfach über den FBEdit Resourcen- Editor einen Dialog zu erstellen, z.B. so Code: | #define IDD_DLG1 1000
#define IDC_STATIC 1001
#define IDC_EDIT 1002
#define IDC_OK 1003
IDD_DLG1 DIALOGEX 6,6,196,51
CAPTION "InputBox" '< Ändern!
FONT 8,"MS Sans Serif",0,0,0
STYLE 0x10C00000
BEGIN
CONTROL "Gib deinen Namen ein:",IDC_STATIC,"Static",0x50000000,2,1,186,9 '< "Gib deinen Namen ein:" ändern!
CONTROL "",IDC_EDIT,"Edit",0x50010000,2,16,184,13,0x00000200 '< Den Leerstring bei Bedarf ändern, um einen vordefinierten Wert zu erhalten!
CONTROL "OK",IDC_OK,"Button",0x50010000,2,35,54,13 '< "OK" bei Bedarf ändern!
END |
Das dann z.B. als "input.rc" abspeichern. Das muss dann über die WinAPI in FB eingebunden werden. Näheres dazu in diesem Tutorial. Ist leider für C geschrieben, mit ein bisschen Arbeit lässt sich das aber auch nach FreeBASIC portieren. Der Abschnitt "Standard Controls" dürfte in diesem Fall interessant sein.
Edit:
Und die input.rc natürlich mitcompilieren. _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
Simon
Anmeldungsdatum: 18.02.2008 Beiträge: 26
|
Verfasst am: 06.03.2008, 21:25 Titel: |
|
|
Sorry aber ich versteh GANIX
Zitat: |
Du versuchst das Lied als Soundeffekt abspielen, dafür ist es aber zu groß! Du musst es als Stream laden und abspielen. |
Wie geht denn das ?
Zitat: | #DEFINE IDD_DLG1 1000
#DEFINE IDC_STATIC 1001
#DEFINE IDC_EDIT 1002
#DEFINE IDC_OK 1003
IDD_DLG1 DIALOGEX 6,6,196,51
CAPTION "InputBox" '< Ändern!
FONT 8,"MS Sans Serif",0,0,0
STYLE 0x10C00000
BEGIN
CONTROL "Gib deinen Namen ein:",IDC_STATIC,"STATIC",0x50000000,2,1,186,9 '< "Gib deinen Namen ein:" ändern!
CONTROL "",IDC_EDIT,"Edit",0x50010000,2,16,184,13,0x00000200 '< Den Leerstring bei Bedarf ändern, um einen vordefinierten Wert zu erhalten!
CONTROL "OK",IDC_OK,"Button",0x50010000,2,35,54,13 '< "OK" bei Bedarf ändern!
End
|
Ich benutz fbide und würde nicht gern davon umsteigen ! Wie kann ich denn DAS in fbedit machen ? In TI-BASIC wär der COde für sowas ja einfach
Dialog
Title "TITEL "
Text "Hallo"
Request "Wie heißt du ?:",name
Enddlog
disp "Hallo "&name
aber in FB `?? _________________ Bitte geht auf http://simmmon.chapso.de/ |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.03.2008, 21:41 Titel: |
|
|
Simon hat Folgendes geschrieben: | Ich benutz fbide und würde nicht gern davon umsteigen ! |
ich sehe keinen grund, nicht umzusteigen... FBIde ist veraltet  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 06.03.2008, 22:02 Titel: |
|
|
Zu den Streams:
Die Funktion die du verwenden ist, lädt den gesamten Sound in den Speicher. Bei Soundeffekten (< 10 Sec) macht das Sinn. Wenn ein Lied jedoch länger ist, lädt man es als Stream (das Lied wird in Speichergerechte Stücke geteilt und diese nach der Reihe geladen und abgespielt). Streammethoden für MIDIs gibts in der WinAPI: Code: | declare function midiStreamOpen (byval as LPHMIDISTRM, byval as LPUINT, byval as DWORD, byval as DWORD, byval as DWORD, byval as DWORD) as MMRESULT
declare function midiStreamClose (byval as HMIDISTRM) as MMRESULT
declare function midiStreamProperty (byval as HMIDISTRM, byval as LPBYTE, byval as DWORD) as MMRESULT
declare function midiStreamPosition (byval as HMIDISTRM, byval as LPMMTIME, byval as UINT) as MMRESULT
declare function midiStreamOut (byval as HMIDISTRM, byval as LPMIDIHDR, byval as UINT) as MMRESULT
declare function midiStreamPause (byval as HMIDISTRM) as MMRESULT
declare function midiStreamRestart (byval as HMIDISTRM) as MMRESULT
declare function midiStreamStop (byval as HMIDISTRM) as MMRESULT | Aber für WAVs und so anscheinend nicht. Schau dir mal FMOD an. _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.03.2008, 23:31 Titel: |
|
|
...ne, lieber BASS statt FMOD. ist kleiner und besser  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Simon
Anmeldungsdatum: 18.02.2008 Beiträge: 26
|
Verfasst am: 07.03.2008, 15:24 Titel: |
|
|
hmm oki aba wenn ich das
Zitat: | #DEFINE IDD_DLG1 1000
#DEFINE IDC_STATIC 1001
#DEFINE IDC_EDIT 1002
#DEFINE IDC_OK 1003
IDD_DLG1 DIALOGEX 6,6,196,51
CAPTION "InputBox" '< Ändern!
FONT 8,"MS Sans Serif",0,0,0
STYLE 0x10C00000
BEGIN
CONTROL "Gib deinen Namen ein:",IDC_STATIC,"STATIC",0x50000000,2,1,186,9 '< "Gib deinen Namen ein:" ändern!
CONTROL "",IDC_EDIT,"Edit",0x50010000,2,16,184,13,0x00000200 '< Den Leerstring bei Bedarf ändern, um einen vordefinierten Wert zu erhalten!
CONTROL "OK",IDC_OK,"Button",0x50010000,2,35,54,13 '< "OK" bei Bedarf ändern!
End |
da eingebe kommt irgendwie fbc -s gui oda so ! und er compiliert das nicht ! _________________ Bitte geht auf http://simmmon.chapso.de/ |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 07.03.2008, 16:08 Titel: |
|
|
Ja, das ist ein gui-Script, da mußt schon mit -s gui compilieren. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Simon
Anmeldungsdatum: 18.02.2008 Beiträge: 26
|
Verfasst am: 07.03.2008, 16:09 Titel: |
|
|
un wie mach ich dat ? bei fbide wars viel besser ! Das Schwarz regt mich auf !!!  _________________ Bitte geht auf http://simmmon.chapso.de/ |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 07.03.2008, 16:23 Titel: |
|
|
Bei FBEdit gibt es rechts oben in der Symbolleiste ein DropDown, wo Du das Zielsystem eingeben kannst. Da stellste "Windows gui" ein. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 07.03.2008, 17:14 Titel: |
|
|
Zwingt dich ja niemand umzusteigen, es war bloß Jojos Empfehlung; ganz einfach deswegen, weil FBIde nicht mehr mit Updates versorgt wird und FBEdit - mit zugegeben, etwas Einarbeitungszeit - sehr viel mehr Funktionen bietet. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Cherry
Anmeldungsdatum: 20.06.2007 Beiträge: 249
|
Verfasst am: 07.03.2008, 21:40 Titel: |
|
|
mann, das RC darfst du natürlich nicht wie ein BAS kompilieren. Wegen Eingabefeld: im Ordner "examples" im FreeBasic Ordner ist unter "disphelper" ein beispiel für sowas, wo ein viel einfacherer Weg gezeigt wird. Hieß glaub ich "inputbox.bas" oder so.
mfG Cherry |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 07.03.2008, 23:00 Titel: |
|
|
Cherry hat Folgendes geschrieben: | mann, das RC darfst du natürlich nicht wie ein BAS kompilieren. Wegen Eingabefeld: im Ordner "examples" im FreeBasic Ordner ist unter "disphelper" ein beispiel für sowas, wo ein viel einfacherer Weg gezeigt wird. Hieß glaub ich "inputbox.bas" oder so.
mfG Cherry |
Das ist eigentlich egal. FBC erkennt automatisch (an der Dateiendung), was für einen Dateityp er vor sich hat und wie er ihn behandeln muß. Damit kann man problemlos auch .rc-Scripte kompilieren. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
max06

Anmeldungsdatum: 05.12.2004 Beiträge: 390 Wohnort: Augsburg
|
Verfasst am: 07.03.2008, 23:24 Titel: |
|
|
rc-scripte werden nicht kompiliert...
Die Zeile muss so aussehen: Code: | fbc.exe -s gui programm.bas input.rc | Damit sollte das besser funktionieren... Unter FBedit kannst du in den Projekteigenschaften die .rc-Datei angeben, solltest du dafür ein Projekt angelegt haben. Dann sucht sich FBedit das Zeugs selber zusammen. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|