AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

problem beim übersetzen von funktionen

Ein Thema von ghost007 · begonnen am 22. Jun 2007 · letzter Beitrag vom 27. Jun 2007
Antwort Antwort
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#1

problem beim übersetzen von funktionen

  Alt 22. Jun 2007, 14:38
Hallo,
ich hab aus einem forum folgende angaben für das benutzen einer dll datei:
Zitat:
BOOL GetProductString(OUT PVOID Buffer, IN ULONG BufferLength);
--- Should give: "G15 Keyboard"

BOOL SetBgLight(IN INT value);
--- value: 0=off 1=half 2=full

BOOL SetLCDLight(IN INT value);
--- value: 0=off 1=half 2=full

BOOL SetLCDContrast(IN INT value);
--- value: the higher, the more contrast; when value exceedes 43 it is set back to 18, which is the level, the LCDMon.exe sets it to low

BOOL SetMacroKeys(IN BOOL M1, IN BOOL M2, IN BOOL M3, IN BOOL MR);
--- multiple are really possible!

INT GetLight(IN INT value);
--- value: look at values.txt

DWORD SetCallback(IN DWORD lpProc);
--- lpProc: pointer to the callback function:
--- VOID WINAPI keyProc(INT pressedKeys);
ich hab auch schon ein paar in mein delphi einbauen(übersetzen können), aber wie übersetze ich den rest?
Hier das was ich bisher hab:
Delphi-Quellcode:
procedure SetBgLight(Value:Integer);stdcall;export;external 'lglight.dll';
procedure SetLCDLight(Value:Integer);stdcall;export;external 'lglight.dll';
procedure SetMacroKeys(M1,M2,M3,MR:Boolean);stdcall;export;external 'lglight.dll';
MfG - Ghost007
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#2

Re: problem beim übersetzen von funktionen

  Alt 22. Jun 2007, 14:46
Das was Du hast ist schonmal falsch. Das sind alles functions die einen Boolean zurückgeben, keine Procedures.

GetLight ist auch eine, die einen Integer zurückgibt.

SetMacroKeys gibt auch einen Boolean zurück und nimmt 4 Booleans an.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#3

Re: problem beim übersetzen von funktionen

  Alt 22. Jun 2007, 15:13
hm, die 3 funktionieren aber so wie se da sind und zwar wunderbar

wie müsste das denn für die anderen aussehen?

MfG - Ghost007
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Benutzerbild von g0rmed
g0rmed

Registriert seit: 3. Apr 2007
Ort: Sülzetal
64 Beiträge
 
Delphi 2005 Personal
 
#4

Re: problem beim übersetzen von funktionen

  Alt 22. Jun 2007, 15:38
So wie ich das sehe machst du ne Delphi-übersetztung für die G15-Tastaturfunktionen. Kannst du die vllt. als unit ins open-source stellen wenn alles fertig ist
Hans
  Mit Zitat antworten Zitat
quantum

Registriert seit: 15. Apr 2006
Ort: Kassel
64 Beiträge
 
Delphi XE Professional
 
#5

Re: problem beim übersetzen von funktionen

  Alt 22. Jun 2007, 16:31
Die G15 ist schon ein geiles Teil. Ich liebe sie

Apropos, versuch es mal damit:

Delphi-Quellcode:
unit lglight;

interface

uses
  Windows;

function GetProductString(pBuffer: PChar; iBufferLength: DWORD): DWORD; stdcall; external 'lglight.dll';

//--- value: 0=off 1=half 2=full
function SetBgLight(iValue: Integer): DWORD; stdcall; external 'lglight.dll';

//--- value: 0=off 1=half 2=full
function SetLCDLight(iValue: Integer): DWORD; stdcall; external 'lglight.dll';

// --- value: the higher, the more contrast; when value exceedes 43 it is set back to 18, which is the level, the LCDMon.exe sets it to low
function SetLCDContrast(iValue: Integer): DWORD; stdcall; external 'lglight.dll';

//--- multiple are really possible!
function SetMacroKeys(M1, M2, M3, MR: DWORD): DWORD; stdcall; external 'lglight.dll';

function GetLight(iValue: Integer): Integer; stdcall; external 'lglight.dll';

//--- lpProc: pointer to the callback function:
//--- VOID WINAPI keyProc(INT pressedKeys);
function SetCallback(pValue: Pointer): DWORD; stdcall; external 'lglight.dll';

implementation

end.
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#6

Re: problem beim übersetzen von funktionen

  Alt 26. Jun 2007, 11:55
hi,
sehr schön danke aber eins versteh ich nicht.
Was bringt die letzte funktion?

MfG - Ghost007
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#7

Re: problem beim übersetzen von funktionen

  Alt 27. Jun 2007, 16:44
*PUSHÜ
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: problem beim übersetzen von funktionen

  Alt 27. Jun 2007, 17:19
kleine Verbesserung:
Delphi-Quellcode:
uses
  Windows;
const LGLIGHT_DLL='lglight.dll'; // <==== hier kann man zentral den Namen der DLL angeben
function GetProductString(pBuffer: PChar; iBufferLength: DWORD): DWORD; stdcall; external LGLIGHT_DLL;
...

Mit SetCallback kann dein Programm sich über Tastendrücke informieren lassen:
Delphi-Quellcode:
procedure KeyProc(pressedKeys:integer);stdcall;
begin
   if Assigned(Form1) then
      Form1.MemoPressedKeys.Add(intToStr(pressedKeys));
end;
....

   SetCallback(@KeyProc); // hier müsste man noch den Returnwert von SetCallback auswerten
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von ghost007
ghost007

Registriert seit: 31. Okt 2005
Ort: München
1.024 Beiträge
 
Delphi 7 Personal
 
#9

Re: problem beim übersetzen von funktionen

  Alt 27. Jun 2007, 18:05
danke
funktioniert wunderbar

MfG - Ghost007
Christian
Es gibt möglich Dinge und unmöglich Dinge.
Für unmögliche braucht man lediglich etwas länger.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz