AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Übungsprogramm "Kinokarten"
Thema durchsuchen
Ansicht
Themen-Optionen

Übungsprogramm "Kinokarten"

Ein Thema von EdAdvokat · begonnen am 8. Dez 2016 · letzter Beitrag vom 16. Jan 2017
Antwort Antwort
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Übungsprogramm "Kinokarten"

  Alt 14. Dez 2016, 15:26
Was ist denn das? Warum kein einfaches Close? Klar, kann ich beim Auto einfach den Zündschlüssel abziehen. Aber normalerweise bremst man, hält an, leg den ersten Gang ein, zieht die Handbremse, macht dann den Motor aus und zieht den Zündschlüssel ab.
Du hast das Lenkradschloss vergessen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Übungsprogramm "Kinokarten"

  Alt 14. Dez 2016, 15:32
Was ist denn das? Warum kein einfaches Close? Klar, kann ich beim Auto einfach den Zündschlüssel abziehen. Aber normalerweise bremst man, hält an, leg den ersten Gang ein, zieht die Handbremse, macht dann den Motor aus und zieht den Zündschlüssel ab.
Du hast das Lenkradschloss vergessen.
Das lasse ich vom Autodieb selber einrasten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
419 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Übungsprogramm "Kinokarten"

  Alt 14. Dez 2016, 16:36
Ich will aus der Anweisung Application.terminate keine Ideologie machen, oder gar ein "Autounfall" provozieren. Bislang habe ich auch immer "close" für das Schließen des Programmes benutzt und mußte u.a. auch hier in der DP und in anderen Foren lernen, dass "close" lediglich zum Schließen eines Formulars eingesetzt werden sollte, jedoch nicht zum Schließen des Programms selbst. Dies wurde wie eine Todsünde behandelt. Nun kommt die Rolle rückwärts? Da habe ich doch brav all die Hinweise der Foren berücksichtigt und soll nun also wieder vom Glauben abfallen? Ist es denn so schlimm mit Application.terminate?
Über die anderen Fakten werde ich nachdenken.
Wie ich die Exception besser lösen könnte ist mir nicht klar. Ich weis da nicht so richtig weiter. Einfach nur frei lassen (also den Quatsch mit "on EConvertError do showMessage(Fehler)" weglassen?) und erwarten was für eine Exception-Meldung kommt oder was? Da könnte ich eine Anregung gebrauchen. Danke
Norbert
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.429 Beiträge
 
Delphi 12 Athens
 
#4

AW: Übungsprogramm "Kinokarten"

  Alt 14. Dez 2016, 16:47
Moin...
Zitat:
und mußte u.a. auch hier in der DP und in anderen Foren lernen, dass "close" lediglich zum Schließen eines Formulars eingesetzt werden sollte
Das hast du nicht von hier... Auch deine Anwendung ist auch ein Formular. ...allerdings das Letzte.
Mit Terminate brichst du das Programm HART ab. (sinngemäß) Beispiel: Datenbanken werden u.u. nicht richtig geschlossen. Das kann zu Problemen führen.

..also immer CLOSE

Geändert von haentschman (14. Dez 2016 um 16:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Übungsprogramm "Kinokarten"

  Alt 14. Dez 2016, 17:11
Wenn du die eine große Prozedur, wie schon vorgeschlagen, in einzelne zerlegst, kannst du gezielt mögliche Exceptions abfangen.

Und zum Close: Ein Aufruf von Close im Hauptformular bewirkt genau das, dass die Anwendung beendet wird. Und bitte zeig mir den Thread hier im Forum, wo gesagt wird, dass Apüplication.Terminate zum Beendne einer Anwendung vor zu ziehen ist. Klar auch wenn man eine Anwendung/Prozess hart beendet gibt Windows alle Systemressourcen frei, DLls werden entladen, alle offenen Handles werden geschlossen usw. Aber Close ist einfach sauberer.

@haentschman: Sockets und DBs sollte man wohl extra behandeln zu Sicherheit, sprich explizit selber schließen, da würde ich mich nicht auf Windows verlassen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
419 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Übungsprogramm "Kinokarten"

  Alt 15. Dez 2016, 14:57
Ich gebe zu, mit den Hinweisen war ich gefordert und das Ergebnis (Datei anbei) ist sicher nicht so, wie erwaret. Ich komme nicht weiter mit einer effektiveren Verkleinerung der großen Prozedur "Kartenbestellung". Bei jeder versuchten Neuaufteilung kommt die Zählerei der noch freien Plätze durcheinander. Wenn diese Berechnung ordentlich durchführt wird, gibt er trotz nicht freier Kinoplätze eine Rechnungssumme aus. Ich habe mehrere Varianten ausprobiert, doch meine bescheidenen Kenntnisse...
In der jetzigen Form sollte alles so wie vorgesehen funktionieren.
Noch eine kleine Frage habe ich zum Compilerhinweis besser charlnset zu verwenden bei der Abfrage der Editfelder (Key in...)
Angehängte Dateien
Dateityp: zip Kinokarten4.zip (3,26 MB, 4x aufgerufen)
Norbert

Geändert von EdAdvokat (15. Dez 2016 um 15:08 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

AW: Übungsprogramm "Kinokarten"

  Alt 15. Dez 2016, 15:56
Deswegen das ganze in eine Klasse kapseln.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Übungsprogramm "Kinokarten"

  Alt 15. Dez 2016, 17:43
Noch eine kleine Frage habe ich zum Compilerhinweis besser charlnset zu verwenden bei der Abfrage der Editfelder (Key in...)
Und wie wäre die Frage?

CharInSet solltest du bei neueren Delphi Versionen verwenden. Müsste dann so aussehen: if not CharInSet(Key, ['0'..'9']) then
  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:55 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 by Thomas Breitkreuz