AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Warum funktioniert ein Code einmal und dann wieder nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

Warum funktioniert ein Code einmal und dann wieder nicht?

Ein Thema von Mr.XYZ · begonnen am 5. Nov 2009 · letzter Beitrag vom 6. Nov 2009
Antwort Antwort
Seite 1 von 3  1 23      
Mr.XYZ
(Gast)

n/a Beiträge
 
#1

Warum funktioniert ein Code einmal und dann wieder nicht?

  Alt 5. Nov 2009, 16:22
Hi,
ich habe in meinem neuen Delphi Programm folgende Zeile verwendet:
taste:=IntToStr(key); Aber jetzt wollte ich sie wieder verwende, und es geht nicht mehr.
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:27
Char ist kein Integer
Markus Kinzler
  Mit Zitat antworten Zitat
Mr.XYZ
(Gast)

n/a Beiträge
 
#3

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:28
Warum geht es dann beim ersten Mahl?
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#4

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:30
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;
Christian
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:31
Weil da Key ein Integer/Byte/Word... war?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:32
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]]
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:33
Zitat von Mr.XYZ:
Warum geht es dann beim ersten Mahl?
Da war der Compi noch hungrig

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

cu

Oliver

@himitsu: erster
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#8

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:34
if Key = #17 then
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#9

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:35
Es gibt OnKeyPress und OnKeyDown. Beim einen wird das Zeichen als Parameter übergeben, beim anderen wird der Tastencode als Parameter übergeben!
Christian
  Mit Zitat antworten Zitat
Mr.XYZ
(Gast)

n/a Beiträge
 
#10

Re: Warum funktioniert ein Code einmal und dann wieder nicht

  Alt 5. Nov 2009, 16:40
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?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 01:19 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