Entwickler-Ecke

Sonstiges (Delphi) - Bei Buttonklick Label verändern


Dragonlord2oo2 - Mi 14.12.05 17:09
Titel: Bei Buttonklick Label verändern
Hallo ich bin sehr neu in der Delphi Branche und blicke nicht so wirklich durch.
Nun zu meiner Frage, ich bin dabei ein kleines Tool zu schreiben und möchte gerne wenn man den Button F9 zb. anklickt es weiter unten bei "F-Taste:" als F9 erscheint, genauso bei "Tempo:"... Zudem würd ich gerne mein Fenster fest ankern sprich dass man es nicht mehr vergrößern oder verkleinern kann und nur noch schließen kann...
Ich hoffe Ihr könnt mir helfen ;)

Ps.: Ich hänge mal ein Bild von dem Programm an damit ihr es euch besser vorstellen könnt.

user defined image


Marc. - Mi 14.12.05 17:19

ein label änderst du beispielsweiße so:



Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption := 'F1';
end;


wobei du natürlich nu dein label und text verwenden musst ;)


[edit] eine feste größe verpasst du dem programm, in dem du im objektinspektor von deiner Mainform "Borderstyle: bsSingle" auswählst!

oder die 2te variante wäre:


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Borderstyle := bssingle;
end;


;)


Dragonlord2oo2 - Mi 14.12.05 18:34

WoW vielen Dank für die schnelle Antwort, hat soweit alles geklappt.. Bis jetzt schaut es so aus:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button9Click(Sender: TObject);
begin
   label5.caption := 'F9';
   label9.caption := 'Bitte Speed einstellen';
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
   label7.caption := 'Normal';
   label9.caption := 'Alles Okay';


Nun gehts zum nächsten Punkt ;)
Und zwar möchte ich nun dass er sich den gedrückten Button merkt zB "F9" und dann das Tempo zB "schnell" damit ich dann wenn ich ins Spiel wieder gehe einfach nur Strg+K drücken muss und er für mich die Tasten "F9" "Enter" "Enter" ausführt..
Ich hoffe es ist verständlich ausgedrückt :)


Amateur - Mi 14.12.05 18:48

naja bevor wir hier dein ganzes programm schreiben empfehle ich dir folgende links um die grundlagen zu erlernen...
Crashkurs Delphi [http://www.christian-stelzmann.de/artikel/crashkurs.htm]
und
Delphi Source [http://dsdt.info]
und
Delphi Basics für diverse Befehle [http://www.delphibasics.co.uk/index.html]


Dragonlord2oo2 - Mi 14.12.05 19:41

Ja okay da hast Du auch wieder recht, aber könnte mir nicht jemand vielleicht einen kleinen Tipp geben? :)
Nur den Befehl wie mein Programm auf STRG+K beginnt die Tasten zusimulieren, ich bräuchte also nur um es grob auszudrücken "Starte Eingabe wenn STRG+K gedrückt wird" und "Simuliere [Taste]" dass wäre schon alles, mit dem Rest komme ich soweit zu recht

Vielen Dank im Voraus


Marc. - Mi 14.12.05 20:07

Benutze die suche! ;)

ansonsten bekommst von mir grad noch schnell ne antwort zum simulieren:

eine taste simulierst so:


Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #{<= ordzahl d. zeichens} then do anweisung1 else anweisung2;
end;


Funktioniert allerdings nicht mehr, wenn du dein Programm nicht mehr im vordergrund steht!

mfg


Dragonlord2oo2 - Mi 14.12.05 20:22

Vielen Dank für die schnelle Antwort, klappt soweit alles allerdings ist dass
user profile iconNoTVerYEvilPzYchO hat folgendes geschrieben:

Funktioniert allerdings nicht mehr, wenn du dein Programm nicht mehr im vordergrund steht!

natürlich sehr schlecht, kann ich dass ändern?

Vielen Dank im Voraus


Marc. - Mi 14.12.05 20:45

benutz die suche!

das stichwort dazu lautet: "Hooks" ;)


Dragonlord2oo2 - Do 15.12.05 09:35

okay die Suchfunktion habe ich jetzt mal genutzt allerdings kamen dort zuviele Ergebnisse bei raus und ich fand nichts passendes :roll:

Nun nochmal zu meiner Frage ich möchte dass ganze nun so machen:

Quelltext
1:
if 'F9' und 'schnell' gedrückt worden so tue wenn Strg+K gedrückt wird load script5                    

und Script5 sollte dann so aussehen:

Quelltext
1:
2:
simuliere Tasten 'F9', '1 Sekunde Pause', 'Enter', '1 Sekunde Pause', 'Enter';
Repeat in einer endlos schleife bis STRG+L gedrückt wird


natürlich nicht so, aber habe es jetzt mal Grob ein eigenen Wörtern verfasst..
Ich weiß ihr wollt mir keinen kompletten Code geben aber für beide ein Beispiel zB genau diese zwei wären schon sehr nett und ich könnte mich besser damit beschäftigen und auch eigens für die anderen Kombinationen umsetzen..

Vielen Dank im Voraus


Ps.: Die Suchfunktion nutze ich leider nicht da ich nicht genau weiß nach was ich denn genau jetzt suchen sollte, dass mit dem 'Hook' wäre ich auch nie von alleine darauf gekommen :oops:


Amateur - Do 15.12.05 23:03

so wie du das beschreibst hört es sich sehr nach winapi an. dazu gibt es ein tutorial auch zu finden auf [url]http://www.dsdt.info[/url] (war auch bei meinen links dabei). aber ob dir das weiterhelfen wird ist ne andere sache. denn winapi ist nen kapitel für sich und wenn man die grundlagen von delphi nicht kann braucht man damit gar nicht erst anzufangen...