AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi bei keiner Änderung "nicht speichern"
Thema durchsuchen
Ansicht
Themen-Optionen

bei keiner Änderung "nicht speichern"

Ein Thema von Hansa · begonnen am 1. Jan 2003 · letzter Beitrag vom 2. Jan 2003
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1
  Alt 1. Jan 2003, 19:37
Hi,

ich habe Forms mit 3 Seiten voler Datenfeldern. Dann müßte man aber eine globale Routine haben, die alle Felder automatisch abcheckt. Würde mich mal interessieren, wie das geht. Aber es geht einfacher : Die DataSets haben eine Funktion "modified" :

Code:
procedure Form1.Button2Click(Sender: TObject);
begin
  IF NOT LiefModul.LiefDS.IsEmpty THEN BEGIN
showmessage ('LJLÖK');
    IF LiefModul.LiefDS.Modified THEN BEGIN
      if MessageDlg('Soll der Datensatz gespeichert werden ?',
        mtInformation, [mbYes, mbNo, mbCancel], 0) = mrYes then begin
        LiefModul.LiefDS.post;
        LiefModul.TransAction.Commit;
      END
      ELSE
        LiefModul.Transaction.Rollback;
    END
    ELSE
      LiefModul.Transaction.Rollback;
  END;
  LiefStamm.FormShow (Sender);
end;
Die arbeitet intern anscheinend wie die meisten Editoren. Bei einer Änderung wird ein Flag gesetzt. Was aber den Nachteil hat, beim rückgängig machen, ist der Datensatz immer noch als geändert gekennzeichnet. Erkläre mir aber mal einer wieso bei obigem Programm das ganze Programm verlassen wird ? Steht die ShowMessage (ziemlich am Anfang) im Quelltext, wird auch das FormShow am Schluß ausgeführt, dann habe ich wieder eine leere Form. Mache ich es weg, wird das Programm beendet. Wie immer Da hat man doch tatsächlich viel schneller als man dachte ein Problem gelöst und die Lösung verursacht das nächste.

Gruß
Hansa

hier ist noch das FormShow (mache ich den Showmessage Kommentar weg, ja dann geht es auch ):
Code:
procedure Form1.FormShow(Sender: TObject);
begin
// showmessage ('2Ä');
  Edit1.Enabled := true;
  Edit1.Text := '';
  Edit1.SetFocus;
  Button1.Enabled := true;
  Button2.Enabled := true;
end;
  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 05:01 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