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
Der schöne Günther

Registriert seit: 6. Mär 2013
6.212 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Übungsprogramm "Kinokarten"

  Alt 8. Dez 2016, 19:34
Edit-Felder sollten für die Eingabe verwendet werden..nicht für reine Ausgaben (dafür gibts StaticText/Label...)
Finde ich überhaupt nicht. Aus einem Edit-Feld kannst du komfortabel den Inhalt markieren und kopieren. Mit einem Label nicht.
  Mit Zitat antworten Zitat
EdAdvokat

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

AW: Übungsprogramm "Kinokarten"

  Alt 8. Dez 2016, 19:58
Also konstruktive Kritik ist nützlich.
Es ist mein erstes Programm, dass ich je hochgeladen habe, obwohl ich so ganz jung nicht mehr bin.
Es war von Anfang an als Beispielprogramm geplant, um einiges auszuprobieren, aus Spaß an der Freude aber nie für
einen realen Zweck.
Sicher sind die Checkboxen nicht wirklich nötig, doch die Spielerei mit den Bedingungen fand ich nicht schlecht.
Ja eine Eingabe über Maskedit wäre besser, doch so hätte ich auf die Eingabenbehandlung verzichten müssen und das
wollte ich eigentlich nicht. Was mit der 10-er Tastatur gemeintist, habe ich nicht verstanden. Ich dachte alles erfaßt zu haben.
Die Anregung arrays zu verwenden ist ok. So wäre das Ganze besser ausbaufähig, werde ich mir merken.
Die Lesbarkeit des Quelltextes ist immer verbesserungsmöglich.
Auch meine Ausgabe über ShowMessage ist nicht wirklich der Hit, dass muss ich gegen mich hier mal feststellen.
Ich hätte gar nicht gedacht, dass so ein kleines "Programmchen" so viel Beachtung findet.
Es hilft mir als reiner Hobby-Programmierer wirklich weiter. Vielen Dank
Norbert
  Mit Zitat antworten Zitat
Aviator

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

AW: Übungsprogramm "Kinokarten"

  Alt 8. Dez 2016, 21:25
Edit-Felder sollten für die Eingabe verwendet werden..nicht für reine Ausgaben (dafür gibts StaticText/Label...)
Finde ich überhaupt nicht. Aus einem Edit-Feld kannst du komfortabel den Inhalt markieren und kopieren. Mit einem Label nicht.
Ich auch nicht. Und wenn man den Text kopieren will und es aussehen soll wie ein Label, dann stellt man einfach den BorderStyle auf bsNone.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#4

AW: Übungsprogramm "Kinokarten"

  Alt 8. Dez 2016, 21:33
Ich auch nicht. Und wenn man den Text kopieren will und es aussehen soll wie ein Label, dann stellt man einfach den BorderStyle auf bsNone.
Siehe der Dateieigenschaftendialog des Explorers

Zitat:
Delphi-Quellcode:
var
  Anz1, Anz2, Anz3, Gesamt, Kinopl : integer;
  R1, R2, R3, zwSu, Steuer, Endpreis : real;
Gerade als "Beispielprogramm", da sollte schon jemand für die globalen Variablen gesteinigt werden.
Ganz schlimm daran ist vorallem, dass viele dieser Variablen auch nur für lokale Zwischenergebnisse verschwendet verwendet werden.

Zitat:
Delphi-Quellcode:
const Fehler=('Es ist ein Eingabefehler aufgetreten. Bitte prüfen!');

try

except
  on EConvertError do showMessage(Fehler);
end;
Was ist mit anderen Fehlern/Exceptiontypen?

Warum manuell anzeigen, wenn Exceptions sowieso automatisch angezeigt werden?
Vorallem wenn man dann die eigentliche aussagefähige Fehlermeldung "vernichtet", in welcher sogar der fehlerhafte Wert genannt wurde, der in irgendeinem der vielen Edits steht.


Und dann noch die total aussagefähigen Bezeichner.
Edit1, CheckBox1, ...

Gut, der fehlende Ziffernblock wurde schon genannt, aber da gibt es noch einen anderen Bug.
Delphi-Referenz durchsuchenVcl.StdCtrls.TEdit.NumbersOnly
Miniaturansicht angehängter Grafiken
kinokarten1.png   kinokarten2.png  
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Dez 2016 um 22:23 Uhr)
  Mit Zitat antworten Zitat
EdAdvokat

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

AW: Übungsprogramm "Kinokarten"

  Alt 9. Dez 2016, 18:36
vielen Dank für die Anregungen.
"Der eine meint, er wäre fertig, doch die anderen sehen, er beginnt erst..."
NumbersOnly in den EditFeldern habe ich auf true gesetzt und hoffe damit, dass das "ich bin böse"-Phänomen damit nicht mehr auftreten kann.
Es lassen sich nun tatsächlich nur Zahlen eingeben. (Tastatur und Nummernblock). Ich habe noch immer nicht verstanden was ich ändern sollte hinsichtlich des Nummernblocks, 10-er Tastatur??? Welche falschen Eingaben müssen also noch abgefangen werden? Was ist damit gemeint?
Natürlich muss eine Überwachung der verkauften Karten in Bezug auf die Gesamtzahl der Plätze erfolgen. Mehr noch es muss unterteilt werden,
wieviel Karten im 1.,2. und 3. Rang vorhanden bzw. schon verkauft wurden. Das wird recht unübersichtlich, doch ich arbeite daran.
Die globalen Variablen wurden bereits in lokale umgewandelt und auch haben die Bezeichner aussagekräftigere Namen erhalten.
Auf die CheckBoxen habe ich verzichtet. Noch läuft es nicht ganz rund.
Norbert
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#6

AW: Übungsprogramm "Kinokarten"

  Alt 9. Dez 2016, 21:25
NumbersOnly in den EditFeldern habe ich auf true gesetzt und hoffe damit, dass das "ich bin böse"-Phänomen damit nicht mehr auftreten kann.
ähhhhhhh, naja
Aber es steht zumindestens in der Hilfe, dass Delphi Windows das Problem nicht gelöst, aber zumindestens dokumentiert hat.
Zumindestens macht das den eigenen Code "einfacher" und der Nummernblock wurde beachtet.

Im Prinzip müsste man "alle" möglichen Quellen für Text prüfen/behandeln.
Du kannst Text zuweisen (Edit.Text := 'abc' ), man kann einfügen (Copy&Paste) und das per mehreren ShortCuts (Strg+V, Shift+Einfg, ...), über das Kontextmenü und mehrere andere WindowsMessages.
Aber der sicherste Weg ist, wenn man auch noch im OnChange den Text auf ungültige Zeichen prüft.
Problem hierbei ist aber, dass "kurzzeitig" auch mal "ungültige" Werte erlaubt sein sollte, drum da nur optische/farbige Meldungen und erst im OnExit und beim Auslesen schärfer prüfen.
Das gilt vorallem dann, wenn z.B. auch das Vorzeichen und Tausender- oder Dezimaltrennzeichen drin vorkommen dürfen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
EdAdvokat

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

AW: Übungsprogramm "Kinokarten"

  Alt 12. Dez 2016, 13:05
Hier nun mein zweiter Versuch "Kinokarten" mit Karten für den 1. bis 3. Rang und Bedingungen für die Platzanzahl in Bezug auf die verkauften Karten.
Ich hoffe den Hinweis Arrays zu verwenden habe ich richtig verstanden und einige weitere Veränderungen haben das kleine Übungsprogramm etwas aufgewertet.
Angehängte Dateien
Dateityp: zip Kinokarten2.zip (87,2 KB, 7x aufgerufen)
Norbert
  Mit Zitat antworten Zitat
EdAdvokat

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

AW: Übungsprogramm "Kinokarten"

  Alt 14. Dez 2016, 13:07
So perfekt kann das Programm doch nicht gewesen sein, dass bislang keine Kritik folgte. Hier nun meine vorerst letzte Version mit einigen zusätzlichen Funktionen wie Kontextmenü und Preise für ermäßigte Karten.
Angehängte Dateien
Dateityp: zip Kinokarten3.zip (57,2 KB, 5x aufgerufen)
Norbert
  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 04:29 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