Avatar billede cava1010 Nybegynder
07. august 2006 - 15:12 Der er 4 kommentarer

Brug af en DLL

Ja jeg er så i den situation at jeg skal bruge en DLL fil jeg har hentet fra en hjemme side. Problemet er at eksemplet på brug af dll filen er lavet til Delhpi.

Er der nogen der kan oversætte og evt. hjælpe mig med hvordan jeg gør. Jeg har aldrig arbejdet med DLL filer på den måde før.

følgende hjælpe tekst ligger til filen:

Revision History
================

Build 2004.10 - 15. December 2004
  * Base times for relays added
  * DLL created



FINAPoints2004.dll
==================

The DLL exports two functions:


Interface in Delphi (Object Pascal)
-----------------------------------

// Description of default parameter for both functions
//  - ARelayCount : number of swimmers. 1 for individual events, 4 for regular relay events
//  - ADistance  : the distance of the event. This is the distance for one swimmer in a relay event
//  - AStroke    : FREE, FLY, BACK, BREAST, MEDLEY
//  - AGender    : MEN, WOMEN
//  - ACourse    : SCM, LCM

//@@ Calculate points from swim time. The specific parameters are:
//  - ATime  : The swim time in hundreds of a second. (1:09.54 >>>  6954)
//  - Result : Number of FINA points achieved
function SwimTimeToFinaPoints(ARelayCount, ADistance: Integer; AStroke, AGender, ACourse: PChar; ATime: Integer): Integer; stdcall;

//@@ Calculate the slowest needed swim time for cerataon points value. The specific parameters are:
//  - APoints : Number of FINA points
//  - Result  : The swim time in hundreds of a second.
function FinaPointsToSwimTime(ARelayCount, ADistance: Integer; AStroke, AGender, ACourse: PChar; APoints: Integer): Integer; stdcall;


______________________________________________
JEg håber på hjælp til at:
En hjælp til at kalde funktionerne i VB (i excel eller almindelig VB)
Avatar billede cava1010 Nybegynder
07. august 2006 - 15:13 #1
Avatar billede kjulius Novice
07. august 2006 - 22:00 #2
Med disse deklarationer kan man i hvert fald få et resultat:

Declare Function SwimTimeToFinaPoints Lib "C:\Finapoints\Finapoints2004.dll" (ByVal ARelayCount As String, ByVal ADistance As Integer, ByVal AStroke As String, ByVal AGender As String, ACourse As String, ByVal ATime As Integer) As Integer

Declare Function FinaPointsToSwimTime Lib "C:\Finapoints\Finapoints2004.dll" (ByVal ARelayCount As String, ByVal ADistance As Integer, ByVal AStroke As String, ByVal AGender As String, ACourse As String, ByVal APoints As Integer) As Integer

Jeg har forsøgt mig med følgende tests:

?SwimTimeToFinaPoints("1",200,"FREE","MEN","SCM", 7950)
2366

?FinaPointsToSwimTime("1",200,"FREE","MEN","SCM", 2366)
7950

De to resultater stemmer i hvert fald overens. Om de så er rigtige, ved jeg ikke. Du kan jo selv teste videre...
Avatar billede cava1010 Nybegynder
08. august 2006 - 12:37 #3
Jep det virker perfekt..

Tusinde tak!!!
Avatar billede kjulius Novice
08. august 2006 - 13:50 #4
Ingen årsag...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester