Autor Beitrag
Wink
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 15.05.11 12:19 
Morgen zusammen!

Vorab möchte ich betonen, dass ich eher ein Anfänger bin (Info 11. Klasse vor 5 Jahren für 1 Jahr) und von daher nicht so bewandelt bin!!

Da ein Kollege und ich Dartversessen sind und regelmäßig selbst spielen, allerdings absolut gegen diese Plastik E-Dart-Scheiben sind und deshalb mit Steeldarts auf eine Naturfaser-Scheibe spielen, habe ich ein Programm geschrieben in dem wir die Punkte festhalten können (es wird immer von 501/301 Punkten runter gespielt) und darüber hinaus auch den Average anzeigen lassen. Dank dem Internet läuft das Ding mittlerweile ziemlich gut und wäre quasi auch fertig, wäre da nicht eine (wahrscheinlich) einfache Sache:

Wie das Bild im Anhang zeigt, gibt es 2 Edit-Felder um die geworfenen Punkte einzutragen, was natürlich auch mit Enter bestätigt werden kann um nicht mit der Maus oder vorher per Tab den Button zu aktivieren. Nervig ist allerdings nun, dass man per Maus bzw. mehrfachem Tab-Druck nur ins jeweils andere Editfeld kommt.

In einem anderen Zusammenhang habe ich bereits den Befel:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm4.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key = #13 then
  begin
    Self.Perform(WM_NEXTDLGCTL, 00);
    key := #0;
    end;


angewandt, was auch super funktioniert. In dem Fall kann ich ihn nur leider nicht anwenden, da er dann vom Editfeld direkt auf den Button springt anstatt rüber ins andere Edit-Feld.

Mir wurde bereits eine Möglichkeit über sogenannte Listen vorgeschlagen, allerdings muss ich gestehen, dass ich das für sehr aufwendig und kompliziert halte und es auch selbst nicht in den Code hineinbekommen habe.

Von daher meine Frage: Habt ihr eine Idee, wie ich das Problem lösen kann? Für Lösungsansätze wäre ich sehr dankbar!

Schönen Gruß
Wink

PS: Ich hoffe ich habs hier ins richtige Forum gepackt, ansonsten bitte verschieben!!

Moderiert von user profile iconGausi: Highlight- durch Delphi-Tags ersetzt
Moderiert von user profile iconMartok: Topic aus Sonstiges (Delphi) verschoben am So 15.05.2011 um 12:52
Einloggen, um Attachments anzusehen!
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: So 15.05.11 12:31 
Hallo und :welcome: hier im Forum!

es gibt hier im Forum [delphi ]-Tags (ohne das Leerzeichen). Damit kannst du deinen Quelltext umrahmen und er wird schön formatiert. Des Weiteren hast du kein Bild angehangen :gruebel: . Hast du auch auf "Dateianhang hinzufügen" geklickt?
Du könntest mit Edit2.SetFocus(); ins nächste Feld kommen.

Viele Grüße
Regan
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 15.05.11 12:51 
Passender wäre es aber, die TabOrder aufzuräumen: Rechte Maustaste im Designer -> "Tabulatorreihenfolge".

EDIT: das passiert wenn man sich das Bild nicht anguckt. Diese Methode wird hier durch die Groupboxen nicht gehen, da diese eine Art "Über-Reihenfolge" bilden.
Also doch SetFocus. 'Tschuldigung :roll:

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: So 15.05.11 14:29 
Hallo,

ich nutze für solche Steuerungen gerne die Eigenschaft Default der Buttons, ist Default auf True gesetzt wird bei Enter das OnClick-Event des Buttons ausgelöst.

Geschickt aufgebaut muss man dann die Enter-Taste nicht mehr abfangen, so oder ähnlich:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
procedure TForm1.ButtonCheckLinksClick(Sender: TObject);
begin
  //Berechnen
  EditRechts.SetFocus;
end;

procedure TForm1.ButtonCheckRechtsClick(Sender: TObject);
begin
  //Berechnen
  EditLinks.SetFocus;
end;

procedure TForm1.EditLinksEnter(Sender: TObject);
begin
  ButtonCheckLinks.Default := True;
end;

procedure TForm1.EditRechtsEnter(Sender: TObject);
begin
  ButtonCheckRechts.Default := True;
end;

procedure TForm1.EditLinksExit(Sender: TObject);
begin
  ButtonCheckLinks.Default := False;
end;

procedure TForm1.EditRechtsExit(Sender: TObject);
begin
  ButtonCheckRechts.Default := False;
end;

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )

Für diesen Beitrag haben gedankt: Regan
Wink Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 15.05.11 20:24 
Guten Abend!

Danke erstmal für's verschieben und den Tip mit den Code-Quotations, habe entsprechenden Befehl heute morgen nicht gefunden und deshalb nur als Highlight markiert.

Danke auch für den Lösungsansatz! Werde ich morgen nach der Arbeit direkt ausprobieren und berichten :)

Wieso allerdings die Grafik seit dem Verschieben nicht mehr anhängt, ist mir ein Rätsel :s

Schönen Abend noch
Grüße
Wink
Einloggen, um Attachments anzusehen!
Wink Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 17.05.11 18:01 
ABEEEEEND :D

Ich raste völlig aus - ist das geil :D

Danke danke danke das funktioniert ja sowas von!!

Dankbarste Grüße
Wink :)