AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Edit feld und 2tes Formular

Ein Thema von svern · begonnen am 21. Okt 2004 · letzter Beitrag vom 24. Okt 2004
Antwort Antwort
svern

Registriert seit: 22. Mai 2004
14 Beiträge
 
#1

Edit feld und 2tes Formular

  Alt 21. Okt 2004, 16:58
Hey,

wenn ich in meinem Editfeld 1 eine (korrekte) Eingabe mache, dann soll das Programm ein weiteres Formular öffnen und anschließend wieder in Editfeld 2 zurückkehren.
Macht das Programm.... so halbwegs jedenfalls.

Es öffnet das 2te Formular, und springt dann auch ins 2te Editfeld, aber ohne dieses zu Markieren (wie sonst auch mit Tab). Stattdessen ist der Cursor zwar drin, aber irgendwie checkt es das Programm nicht. Denn wenn ich dann ne Funktion unter Edit2.exit aufrufe macht es überhaupt nichts. Woran liegt das? Ist mit Sicherheit ein einfaches Problem...


Der Quelltext zu Edit1.exit:
Delphi-Quellcode:
ANZ_KN:=strtoint(Edit1.Text);
  if (ANZ_KN < 2) or (ANZ_KN > 10 ) then
     showmessage('Wert nicht erwartet!')
  else
     begin
     Form2.Show; // Hier gehts in das 2te Formular
     Form2.FormShow(Sender);
     KN_ANZ_W := False;
     end;
  Form1.show; // das bringt er auch wieder in Vordergrund,
  Edit2.Color:=clInactiveCaptionText; // aber ohne das Edit2Feld zu markieren
  Edit1.Color:=clWindow;
  Form1.show;

Hoffe auf eure Hilfe,
Svern

[edit=MrSpock]Code Tags eingefügt. Mfg, MrSpock[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Edit feld und 2tes Formular

  Alt 21. Okt 2004, 17:01
Hi!

Zuerst einmal:
Bitte setze deinen Quellcode in [.Delphi] [./Delphi] (ohne Punkte).
Dann ist es leichter zu lesen.


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
tuxhol

Registriert seit: 22. Jul 2004
Ort: Overath
30 Beiträge
 
Delphi 6 Professional
 
#3

Re: Edit feld und 2tes Formular

  Alt 21. Okt 2004, 17:11
Hi,

kann Dein Problem irgendwie nicht ganz verstehen, aber hilft Dir das vielleicht weiter?
edit2.SetFocus Schließlich mußt Du Deiner Form2 beim Aufruf ja auch mitteilen, welche Komponente den Focus haben soll...
  Mit Zitat antworten Zitat
svern

Registriert seit: 22. Mai 2004
14 Beiträge
 
#4

Re: Edit feld und 2tes Formular

  Alt 21. Okt 2004, 17:24
Hey, habe das mit dem Setfocus ausprobiert:

form1.edit1.setfocus

//Editfeld ist ja in Formular 1

Aber es geht immer noch nicht.

Delphi-Quellcode:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  ANZ_KN:=strtoint(Edit1.Text);
  if (ANZ_KN < 2) or (ANZ_KN > 10 ) then
     showmessage('Wert nicht erwartet!')
  else
     begin
     Form2.Show;
     Form2.FormShow(Sender);
     KN_ANZ_W := False;
     end;
  //Form1.show;
  Edit2.Color:=clInactiveCaptionText;
  Edit1.Color:=clWindow;
  //Form1.show;
  Form1.Edit2.setfocus;
end;


procedure TForm1.Edit2Exit(Sender: TObject);
begin
    ANZ_KA_KN[1]:=strtoint(Edit2.text); // Kanten von Knoten 1
    Edit2.Color:=clWindow;
end;

Edit2Exit (Edit2 in der Tabulatorreihenfolge als nächstes dran) wird nicht beim Verlassen von Edit2 aufgerufen....

Hätte auch gedacht, dass das mit dem Focus klappen könnte... aber leider ist nichts passiert.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Edit feld und 2tes Formular

  Alt 21. Okt 2004, 17:27
Du könntest Edit2Exit auch manuell aufrufen:

Edit2Exit(Sender);
  Mit Zitat antworten Zitat
svern

Registriert seit: 22. Mai 2004
14 Beiträge
 
#6

Re: Edit feld und 2tes Formular

  Alt 21. Okt 2004, 18:10
Naja, das ist es auch noch nicht was ich brauche.

Das Ding ist ja, dass ich das 2te Formular aktiv mache (durch form2.show), und wenn ich es schließe, dann geht der cursor automatisch auf das 2te Editfeld, genau so wie ich es will.

Ich will nun aber, dass das 2te Formular geöffnet bleibt, aber halt nur im Hintergrund, also passiv bleibt.

Wie kann ich das machen?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#7

Re: Edit feld und 2tes Formular

  Alt 21. Okt 2004, 18:13
Hi!

willst du es unsichtbar?
Form2.Visible:=false; oder nur im Hintergrund?
Da war glaube ich was mit Hier im Forum suchenSetWindowPos


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
svern

Registriert seit: 22. Mai 2004
14 Beiträge
 
#8

Re: Edit feld und 2tes Formular

  Alt 21. Okt 2004, 19:30
Hey,

visible war nicht das, was ich mir vorgestellt hatte.

Und das setwindowpos ist für mich als Anfänger noch ein wenig zu komplex ;-(


Ich befürchte schon, dass mir nicht zu helfen ist...
dabei ist das doch eigentlich sooo simple und unlogisch....
  Mit Zitat antworten Zitat
tuxhol

Registriert seit: 22. Jul 2004
Ort: Overath
30 Beiträge
 
Delphi 6 Professional
 
#9

Re: Edit feld und 2tes Formular

  Alt 22. Okt 2004, 10:59
Also, in der OH steht
Zitat:
Das Ereignis OnExit tritt nicht auf, wenn zwischen Formularen oder zwischen einer anderen Anwendung und dieser Anwendung umgeschaltet wird.
Damit hätte sich das mit dem OnExit wohl auch schon erledigt...
Anderer Weg:
Du hast eine Form1 mit den Komponenten Edit1 und Button1
Du hast eine Form2 mit den Komponenten Edit2 und Button2
Durch Drücken von Form1.Button1 wird der Inhalt von Form1.Edit1 in Form2.Edit2 übergeben. Form1 wird disabled, Form2 enabled.
Und andersrum: Durch Drücken von Form2.Button2 wird der Inhalt von Form2.Edit2 in Form1.Edit1 übergeben.
Form2 wird disabled, Form1 enabled.

Voraussetzung dafür ist, daß die beiden Units sich jeweils im USES-Teil referenzieren.
Der Code für Form1.Button1.Click:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Enabled := TRUE;
  Form2.Edit2.Text := Form1.Edit1.Text;
  Form2.Show;
  Form2.Edit2.SetFocus;
  Form1.enabled := FALSE;
end;
Der Code für Form2.Button2.Click:
Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
begin
  Form1.Enabled := TRUE;;
  Form1.Edit1.Text := Form2.Edit2.Text;
  Form1.Edit1.SetFocus;
  Form2.Enabled := FALSE;
end;
Hoffe, das hilft Dir weiter. Zumindest sollte es die Übergabe zwischen den beiden Formen verdeutlichen
  Mit Zitat antworten Zitat
svern

Registriert seit: 22. Mai 2004
14 Beiträge
 
#10

Re: Edit feld und 2tes Formular

  Alt 24. Okt 2004, 13:02
Hey,

danke für den Tipp Tuxhol.

Gerade das mit dem OH hätte ich wohl selbst besser beachten sollen.

Thx
  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 22:55 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