12-25-2025, 04:35 PM
Okay, that was it! Thanks! It works with both versions of the C file; however, the name in the BAS file needs to be adjusted in `Microphone2.h` for your file (... BAS source remains the same). Of course , the QB IDE can't do anything with the C file. The error message only appears because no microphone is connected.
![[Image: Audio-funktioniert2025-12-25-170058.jpg]](https://i.ibb.co/fYdkD2D3/Audio-funktioniert2025-12-25-170058.jpg)
I tried something similar in a smaller format, where the external h file had to be declared in the BAS file. I'm surprised it works without that here.
![[Image: Audio-funktioniert2025-12-25-170058.jpg]](https://i.ibb.co/fYdkD2D3/Audio-funktioniert2025-12-25-170058.jpg)
I tried something similar in a smaller format, where the external h file had to be declared in the BAS file. I'm surprised it works without that here.
Code: (Select All)
Option _Explicit
'In QB64 mit "Declare Library" wie angegeben
Declare Library "D:\Lab\QuickBasic64\Extern-nicht-Basic\Basic-ruft-C\bfibonacci"
Function fibo& (ByVal N As Integer)
End Declare
Dim As Integer N, rueckgabe
Dim As Single zeitstart, zeitende
Timer On
Cls
Locate 3, 3
Input "Berechnet die Fibonacci-Zahl von: ", N
zeitstart = Timer
Locate 5, 3
rueckgabe = fibo&(N%)
If rueckgabe = -1 Then
Print "Eingabe zu gross!"
Sleep: System
Else
Print Using "Die Fibonacci-Zahl von ## = ###,########"; N; fibo&(N%)
End If
zeitende = Timer
Locate 7, 3
Print Using "Sekunden: ##.#### "; zeitende - zeitstart
End
Code: (Select All)
#include <stdio.h>
#include <stdlib.h>
long fibo(int n)
{
long x, y;
int i;
//Um bei 3 eine Anzeige von: 1 2 3 zu erreichen
x = y = i = 1;
if (n == 0 || n == 1)
{
return(n);
}
if (n > 40)
{
return(-1);
//sonst Überlauf
}
else while (i < n)
{
x = x + y; y = x - y; i++;
}
return(x);
}

