AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Tabsheetwechsel mit Bedingung verknüpfen
Thema durchsuchen
Ansicht
Themen-Optionen

Tabsheetwechsel mit Bedingung verknüpfen

Ein Thema von Ykcim · begonnen am 2. Feb 2011 · letzter Beitrag vom 2. Feb 2011
Antwort Antwort
mkinzler
(Moderator)

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

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 11:12
Setzte AllowChanging auf False, wenn du einen Wechsel verhindern willst
Markus Kinzler
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 11:19
Für das TabSheet oder für das PageControl?
ANdere Tabsheets sollen weiter erreichbar sein können, da nicht jedes TabSheet die gleichen Daten benötigt. Ich brauche eine Kontrolle vor dem Wechsel, ob die erforderlichen Daten für das Tabsheet, welches geöffnet werden soll, verfügbar sind. Wenn nicht, soll der Wechsel auf dieses Tabsheet nicht vollzogen werden.
Patrick
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 11:33
Der Event feuert für jedes TabSheet

In ihm kannst du je nach TabSheet eitscheiden, welche überprüfungen durchgeführt werden sollen und ob gewechselt werden soll
Markus Kinzler
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#4

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 12:14
Danke für die Erklärung!

Ich komme leider noch nicht ganz dahinter.

Delphi-Quellcode:
if Daten verfügbar then
  begin
    Tabsheetname.AllowChanging ???
    oder
    PageControlname.AllowChanging???
  end;
Beide Varianten werden nicht erkannt. Ich weiß nicht, wie ich das "AllowChanging" anwenden muss.
Patrick
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#5

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 12:20
Sorry!!!

AllowChange ist ja eine mitgelieferte Variable der Procedure!

Wie kann ich diese auf ein bestimmtes TabSheet anwenden?

Ich habe gerade folgendes ausprobiert:

Delphi-Quellcode:
if Daten NICHT verfügbar then
  begin
    AllowChange:=false;
  end;
Aber wie kann ich abfragen, welches Tabsheet eigentlich geöffnet werden sollte?
Patrick
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
669 Beiträge
 
Delphi 12 Athens
 
#6

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 12:25
Aber wie kann ich abfragen, welches Tabsheet eigentlich geöffnet werden sollte?
Aus der Online-Hilfe von D2009:

Delphi-Quellcode:
procedure TForm1.PageControl1Changing(Sender: TObject; var AllowChange: Boolean);
begin
  if ((Sender as TPageControl).ActivePage = TabSheet1) then
    AllowChange := (Edit1.Text <> '')
  else
    AllowChange := True;
end;

Das sollte dir die nötigen Ansätze geben.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
669 Beiträge
 
Delphi 12 Athens
 
#7

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 12:37
Kleiner Nachtrag:

Ganz so geht das nicht. Ich habe gerade noch was gestest:

Im OnChanging hast du noch die alten Werte für TabIndex stehen, aber weißt nicht, wo die Reise hingehen soll.

Im OnChange (ohne -ing) hast du die neuenWerte für TabIndex stehen.

Du müsstest dir also in eine zusätzliche Variable im OnChanging den alten Wert von TabIndex merken, dann im OnChange deine Prüfungen durchführen, abhängig davon, was geöffnet werden soll (also abhängig vom dann gültigen Wert von TabIndex) und dann, falls die Prüfung fehlschlägt, den alten, zwischengespeicherten Wert von TabIndex wieder zuweisen.

Bis denn
Bommel
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#8

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 12:21
AllowChanging := Daten verfügbar; AllowChanging ist ein Var-Parameter des Events
Glückauf
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 12:43
@mkinzler
er wird das Problem haben dass er das Zieltabsheet beim Klicken nicht kennt...

EDIT:
sorry Bbommel's Eintrag übersehen , mhhhh
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi ( 2. Feb 2011 um 12:54 Uhr)
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#10

AW: Tabsheetwechsel mit Bedingung verknüpfen

  Alt 2. Feb 2011, 12:46
@ Bummi
Genau das ist mein Problem!

@Bbommel
Das werde ich mal fix testen und melde mich dann gleich wieder!
Patrick
  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 18:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz