Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Warum funktioniert ein Code einmal und dann wieder nicht? (https://www.delphipraxis.net/142895-warum-funktioniert-ein-code-einmal-und-dann-wieder-nicht.html)

Mr.XYZ 5. Nov 2009 16:22


Warum funktioniert ein Code einmal und dann wieder nicht?
 
Hi,
ich habe in meinem neuen Delphi Programm folgende Zeile verwendet:
Delphi-Quellcode:
taste:=IntToStr(key);
Aber jetzt wollte ich sie wieder verwende, und es geht nicht mehr. :x
Delphi-Quellcode:
procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char);
var
pres : string;
begin
pres:= IntToStr(key);
 if (pres = '17') then
 begin
 self.Height:=326;
 Bevel1.Visible:=true;
 Edit2.Visible:=true;
 end;
end;
Wieso, und was muss ich ändern?

Fehler: Inkompatible Typen

mkinzler 5. Nov 2009 16:27

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
Char ist kein Integer

Mr.XYZ 5. Nov 2009 16:28

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
Warum geht es dann beim ersten Mahl?

Cyberbob 5. Nov 2009 16:30

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
Versuch mal das:

Delphi-Quellcode:
procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Ord(Key) = 17 then
  begin
    self.Height:=326;
    Bevel1.Visible:=true;
    Edit2.Visible:=true;
  end;
end;

p80286 5. Nov 2009 16:31

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
Weil da Key ein Integer/Byte/Word... war?

Gruß
K-H

alleinherrscher 5. Nov 2009 16:32

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
Viel eleganter ist es, wenn du die Funktion Hier im Forum suchenord verwendest:

Delphi-Quellcode:

if ord(key)=17 then [do something]
[edit: [OT]Oh man, warum kommt heute keine Warnung, wenn neue Beitrage gepostet worden sind, bevor man den eigenen Beitrag abschickt?[/OT]]

Sir Rufo 5. Nov 2009 16:33

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
Zitat:

Zitat von Mr.XYZ
Warum geht es dann beim ersten Mahl?

Da war der Compi noch hungrig :mrgreen:

Ich vermute mal, du hast diese Codezeile im Event OnKeyDown oder OnKeyUp benutzt, und da ist Key vom Typ word!

cu

Oliver

@himitsu: erster :P

himitsu 5. Nov 2009 16:34

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
Delphi-Quellcode:
if Key = #17 then
Zitat:

Zitat von Mr.XYZ
Warum geht es dann beim ersten Mahl?

kann es dein, daß du da OnKeyDown oder OnKeyUp verwendet hattest?
Wenn ja, dann schau dir mal die Definitionen genau an.

Cyberbob 5. Nov 2009 16:35

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
Es gibt OnKeyPress und OnKeyDown. Beim einen wird das Zeichen als Parameter übergeben, beim anderen wird der Tastencode als Parameter übergeben!

Mr.XYZ 5. Nov 2009 16:40

Re: Warum funktioniert ein Code einmal und dann wieder nicht
 
danke geht jetzt, aber ich hätte da noch eine frage.
also wie man im Quellcod sieht,
Delphi-Quellcode:
procedure TForm2.FormKeyPress(Sender: TObject; var Key: Char);
var
pres : string;
begin
if Ord(Key) = 17 then
  begin
    self.Height:=326;
    Bevel1.Visible:=true;
    Edit2.Visible:=true;
  end;
end;
wird immer wen man 17 also Strg. drückt ein Menü sichtbar, aber sobald ich das Programm starte ist der Fokus auf einem Edit, und ich bekomme ihn nicht herunter. demzufolge geht das ganze nicht , und ich weiß nicht wich dieses Problem lösen kann.
wie bekomme ich das hin?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:51 Uhr.
Seite 1 von 3  1 23      

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