kleine Mathe erweiterungen

Übersicht BlitzBasic DLLs und Userlibs

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

$tankY

Betreff: kleine Mathe erweiterungen

BeitragMi, Jan 25, 2006 17:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab mich vor kurzem mit c++ beschäftigt, und hab dann letztens eine Vorlage für DLLs in Dev-C++ gesehen, da hab ich halt meinen BB Code in C++ umgeschrieben und in ne DLL gespeichert, das ist diese DLL:
DownloadLink
Sie kann z.Z. nur
- Wurzeln berechen (nur positive)
- den ggT berechnen
- den kgV berechnen
- die Fakultät berechnen
- nCr bzw N über R berechnen (aus dem Pascalschem Dreieck)

Das is nur n Test von mia (in ner Min geschrieben), also nicht so viel erwarten Wink
 

Florian

BeitragMi, Jan 25, 2006 17:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Schon wieder eine DLL

Code: [AUSKLAPPEN]


Print SquareRoot(2)
Print ggT(8,4)
Print kgV(4,16)
Print Fak(5)
waitkey

Function SquareRoot#(Zahl#)
 Return Sqr#(Zahl#)
End Function

Function Fak(Zahl)
 If Zahl=>1 Then Wert=1
 For Nr=2 To Zahl
  Wert=Wert*Nr
 Next
 Return Wert
End Function

Function kgV(Zahl1,Zahl2)
   Local Counter
   Local kgV   
   While Not kgV       
      Counter = Counter + 1
      If Float(Counter)/Float(Zahl1) = Counter/Zahl1 Then
         If Float(Counter)/Float(Zahl2) = Counter/Zahl2 Then
            kgV = Counter
         EndIf
      EndIf 
   Wend   
   Return kgV   
End Function

Function ggT(a%,b%)
   While b<>0
      r = a Mod b
      a = b
      b = r
   Wend
   Return a
End Function
  • Zuletzt bearbeitet von Florian am Fr, Sep 22, 2006 20:15, insgesamt 2-mal bearbeitet

Ninja

BeitragMi, Jan 25, 2006 17:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Owned.
Spiele & Security Tools
www.SelfSoft.org
 

$tankY

BeitragMi, Jan 25, 2006 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
wie gesagt, is nur n test, die sachen hat ich auch zuerst in bb (habs se auch ins eglische forum geposted) und hab se halt zum ausprobieren umgeschrieben Rolling Eyes

FreetimeCoder

BeitragDo, Sep 21, 2006 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du mal den (C++) Sourcecode posten?
Ich hab nämlich auch Dev C++, aber 0 Ahnung wie ich Funktionen erstellen / in Blitz reinkriegen kann.
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

$tankY

BeitragDo, Sep 21, 2006 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab das ganze nach dem Tut von hier gemacht: LINK
Und Source (*erstma_such*):
Musste erstma neues Projekt und dann auf DLL, dann in dllmain.cpp
Code: [AUSKLAPPEN]

#include <windows.h>
#include "dll.h"

EXPORT float CALLBACK Sqr(float a)
{
    float x0;
    float check;
    while ( x0 != check)
    {
          check = x0;
          x0 = 0.5 * ( x0 + a / x0);
    };
    return x0;
}

EXPORT int CALLBACK ggT(int A,int B)
{
       int R;
       while ( B > 0 )
       {
             R = A % B;
             A = B;
             B = R;
       };
       return A;
}

EXPORT int CALLBACK kgV(int A,int B)
{
       return A * ( B / ggT(A,B));
}

EXPORT int CALLBACK Fak(int n)
{
       int check=1;
       for (int i=1;i<=n;i++)
       {
           check=check*i;
       }
       return check;
}

EXPORT int CALLBACK nCr(int n,int k)
{
       return Fak(n)/(Fak(k)*Fak(n-k));
}

und in dll.h
Code: [AUSKLAPPEN]

#ifdef __cplusplus
#define EXPORT extern "C" __declspec (dllexport)
#else
#define EXPORT __declspec (dllexport)
#endif

EXPORT float CALLBACK Sqr(float a);
EXPORT int CALLBACK ggT(int A,int B);
EXPORT int CALLBACK kgV(int A,int B);
EXPORT int CALLBACK Fak(int n);
EXPORT int CALLBACK nCr(int n,int k);

Und die decls:
Code: [AUSKLAPPEN]

.lib "maths.dll"
SquareRoot#( a# ):"Sqr"
ggT%( A%,B% ):"ggT"
kgV%( A%,B% ):"kgV"
Fak%( n% ):"Fak"
nCr%( n%,r% ):"nCr"


PS: Manche Funktionen können noch optimiert werden.

FreetimeCoder

BeitragDo, Sep 21, 2006 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx, aber welchen Button muss ich drücken, damit das ganze in eine Dll compiliert wird?

Also ich hab alle Buttons schon ausprobiert, aber da wird keine Dll raus Embarassed
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

X0r

BeitragDo, Sep 21, 2006 23:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Der erstellt die Dlls automatisch. Einfach mal den Button "Compile" ausprobieren.

FreetimeCoder

BeitragFr, Sep 22, 2006 6:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaub ich mach irgendetwas falsch Crying or Very sad

Ich klick immer auf den grünen Haken, und es wird auch etwas kompiliert, aber ich finde die Dll nicht???
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

$tankY

BeitragFr, Sep 22, 2006 13:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schick dir einfach die Projekt Dateien bzw einen Rohling, den kannste dann abändern wie du willst.
LINK
Wenn du noch C++ lernst, dann kann ich dir ein gutes englisches Einsteiger Tutorial empfehlen: http://www.cplusplus.com/doc/language/tutorial/
 

lettorTrepuS

BeitragFr, Sep 22, 2006 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.
 

$tankY

BeitragFr, Sep 22, 2006 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Es reicht aus, wenn man an die Variable und an die Funktion ein einfaches #-Zeichen anhängt Cool , jedoch ist die Funktion
Code: [AUSKLAPPEN]

Function SquareRoot#(Zahl#)
 Return Sqr(Zahl#)
End Function

überflüssig Wink
 

lettorTrepuS

BeitragFr, Sep 22, 2006 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.
 

$tankY

BeitragFr, Sep 22, 2006 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist sehr unwahrscheinlich, dass Florian diesen Thread lesen wird und seinen vor 8 Monaten geposteten Code ändern wird Very Happy, hoffentlich haste genug Tee, Kekse und ein gutes Spiel, damit du die Wartezeit besser überbrückst Very Happy
 

lettorTrepuS

BeitragFr, Sep 22, 2006 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

FreetimeCoder

BeitragFr, Sep 22, 2006 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ich bins wieder:

Ich bin am verzweifeln, da ich es irgentwie nich hinbekommen eine Dll zu kompilieren Embarassed Crying or Very sad Embarassed Crying or Very sad

Ich hab aber schon alles ausprobiert: "Run Project" "Compile Project" "Compile and Run Project" und "Rebuild All"

Aber es will nicht !!!
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

$tankY

BeitragFr, Sep 22, 2006 20:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du meinen Rohling genommen?
Dann musst du einfach Projekt1.dev öffnen, dann auf "Ausführen" und dann auf "Kompilieren", dannach sollte Projekt1.dll in dem Ordner von Projekt1.dev sein. Die DLL kannst du umbennen.
 

Florian

BeitragFr, Sep 22, 2006 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo

Ich habe die Function SquareRoot in SquareRoot# geändert.

MfG

Florian
 

$tankY

BeitragFr, Sep 22, 2006 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Schön, dass du nun die Kopierfunktion beherrschst.
Abgerundet mit einem Zitat eines Vorredners:
Ninja hat Folgendes geschrieben:
Owned.
 

lettorTrepuS

BeitragFr, Sep 22, 2006 23:41
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic DLLs und Userlibs

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group