AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Taste in Byte umwandeln als Funktion - Taste kommt aus ini
Thema durchsuchen
Ansicht
Themen-Optionen

Taste in Byte umwandeln als Funktion - Taste kommt aus ini

Ein Thema von Michael94 · begonnen am 7. Apr 2007 · letzter Beitrag vom 7. Apr 2007
Antwort Antwort
Michael94

Registriert seit: 10. Mär 2007
Ort: Aalen
18 Beiträge
 
#1

Taste in Byte umwandeln als Funktion - Taste kommt aus ini

  Alt 7. Apr 2007, 12:50
Ich hoffe mal, ich hab die richtige Kategorie erwischt.

Ich will aus einer ini eine Taste auslesen, diese mittels Funktion in ein Byte umwandeln und dann zurücksenden.
Irgendwie klappt das nicht.

OnFormCreate: (geht)
left := ini.ReadString('scrolling', 'left1', '');
Auslöseevent: (hat bis zum Einbau der Funktion geklappt)
Delphi-Quellcode:
keyleft := transkey(left);
Keybd_Event(keyleft,0,0,0);
Keybd_Event(keyleft,0,KEYEVENTF_KEYUP,0);
Funktion:
Delphi-Quellcode:
function transkey(inikey: string):byte;
var
  return : byte;
begin
if inikey = 'VK_DOWNthen return := $28;
end;
Fehlermeldung:
[Error] test.pas(202): Incompatible types: 'Stringand 'Integer' Der Cursor beleibt beim Auslöseevent hinter transkey(left) stehen.

Da ich mich bis heute noch nie mit Funktionen auseinandergesetzt habe ist das bestimmt nur eine Verständnissache, da ich einfach noch zu doof in diesem Bereich bin.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Taste in Byte umwandeln als Funktion - Taste kommt aus i

  Alt 7. Apr 2007, 12:56
zeig mal die dekleration von keyleft her, diese muß als integer deklariert sein
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Michael94

Registriert seit: 10. Mär 2007
Ort: Aalen
18 Beiträge
 
#3

Re: Taste in Byte umwandeln als Funktion - Taste kommt aus i

  Alt 7. Apr 2007, 13:14
Die habe ich global als byte gesetzt, da ich sie an mehreren Stellen brauche.

Integer hat auch nichts gebracht, gleicher Fehler
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Taste in Byte umwandeln als Funktion - Taste kommt aus i

  Alt 7. Apr 2007, 13:24
Hallo, ich würd das so machen:

Delphi-Quellcode:
//schreiben
Ini.WriteInteger('section','key',Ord(SomeVKKeyVar));
//lesen
Ord(VKKey) := Ini.ReadInteger('section','key',Ord(VK_SOME_DEFAULT_KEY_CONSTANT)) //Ord ist doch ein Typecast, oder?
Lukas Erlacher
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Taste in Byte umwandeln als Funktion - Taste kommt aus i

  Alt 7. Apr 2007, 13:27
Hallo Michael,

Left ist eine Integer-Eigenschaft des Formulars. Wahrscheinlich hast du eine (globale?) String-Variable mit gleichem Namen vereinbart, die in diesem Fall nicht berücksichtigt wird. Vielleicht kannst du einmal ein größeres Code-Stück mit der fehlerhaften Stelle zeigen.

Deine Funktion transkey wird übrigens kein definiertes Ergebnis liefern. Der Rückgabewert wird in Delphi über die (vordefinierte) Variable Result festgelegt:

Delphi-Quellcode:
function transkey(inikey: string):byte;
begin
  if inikey = 'VK_DOWNthen
    Result := $28
  else // immer vorsehen, damit das Ergebnis nicht undefiniert ist
    Result := 0;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Michael94

Registriert seit: 10. Mär 2007
Ort: Aalen
18 Beiträge
 
#6

Re: Taste in Byte umwandeln als Funktion - Taste kommt aus i

  Alt 7. Apr 2007, 19:56
Vielen Dank euch allen, es war das böse "left" das man nicht benutzen sollte...
  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 00:23 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