simple Demo von Prototype angewendet auf eigene Prozeduren

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
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

simple Demo von Prototype angewendet auf eigene Prozeduren

Beitrag von hjbremer »

Das Echo auf Beiträge zu Interfaces ist hier im Board recht mager.
Aber vielleicht interressieren sich ja einige für die Möglichkeiten von Prototypes.

In der Hilfe steht, Prototype ist besser als CallFunctionFast und wird verwendet um auf Funktionen fremder DLLs zugreifen zu können.
Wohl war, aber man kann nochmehr damit machen.

z.B. auf eigene Funktionen zuzugreifen

hier mal ein einfaches Beispiel.

Code: Alles auswählen

Structure Protofeld
 a.i
 b.s
 c.s
EndStructure 

Prototype HoleDaten(Array a.Protofeld(1))
   Global HoleDaten.HoleDaten

Procedure Anzeigen(Array b.Protofeld(1))
 
 size = ArraySize(b())
 
 For j = 0 To size
  Debug Str(b(j)\a) + " " + b(j)\b + " " + b(j)\c
 Next

EndProcedure

Procedure Aufrufen(funktionszeiger)

 HoleDaten = funktionszeiger 
 
 Dim b.Protofeld(0)  ;Feld muß existieren
 HoleDaten(b()) 
  Anzeigen(b())

EndProcedure

;bis hier könnte der obige Code in einer Include oder einer DLL stecken

;ab hier könnte das Programm beginnen

Structure blabla  ;muß der gleiche Aufbau sein wie Structur für Prototype
 a.i
 b.s
 c.s
EndStructure 

Procedure Daten1(Array d.blabla(1))
 
  max = 6
  Dim d.blabla(max)
  
  For j = 0 To max
    d(j)\a = Random(max)
    d(j)\b = Str(j)
    d(j)\c = Chr(j+64)
  Next  

EndProcedure

Procedure Daten2(Array d.blabla(1))
 
  max = 9
  Dim d.blabla(max)
  
  For j = 0 To max
    d(j)\a = Random(max)
    d(j)\b = Str(j)
    d(j)\c = Chr(j+64)
  Next  

EndProcedure

Aufrufen(@Daten1())
Debug "-----------"
Aufrufen(@Daten2())
Sollte Interresse bestehen, kann ich auch einen komplexen Code posten.

__________________________________________________
Thread wurde verschoben
Allgemein>Code, Tipps und Tricks
13.08.2009
RSBasic
Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer