Entwickler-Ecke

Open Source Projekte - Fahrgeldberechnungsprogramm für Fahrgemeinschaft


steve-allround - So 02.10.05 01:31
Titel: Fahrgeldberechnungsprogramm für Fahrgemeinschaft
Hy,

ich bin ein totaler Delphi-Anfänger und hatte heut Mittag eine Idee.
Ich habe dann nun, bis jetzt 01:20 Uhr (neuer Tag) ein Programm programmiert, wo man die Kosten berechnen kann, bei einer Auto-Fahrgemeinschaft.

Schaut euch das Programm mal an und gibt mir bitte Verbesserungsvorschläge und Kritiken.

Vielen Dank.


Unter http://www.steve-allround.de/downloads/fgb/setup.exe steht jetzt die entgültige Version zur Verfügung.


-delphin- - So 02.10.05 13:47

Hm also ich bezweifle, dass du Delphi-Anfänger bist, aber macht ja nix.
Desweiteren verstehe ich das Prog nicht so ganz.
Wenn Fahrer 1 nur einmal fährt und die Fahrt bei 33 Liter 10,56€ kostet, warum muss dann jeder Teilnehmer die 10,56€ bezahlen und warum steht oben, dass Fahrer 1 11,56€ bezahlt und der Rest 1€? Und bei ungleicher Zusteigsweise plötzlich nur 4,14€? Irgendwie versteh ichs ned so ganz oO


Kokel - So 02.10.05 14:07

Ich versteh das auch nicht so ganz.
fahrer fünf zaht bei vier personen ein euro ?

Aber als Anfänger würd ich dich auch nicht bezeichnen.


-delphin- - So 02.10.05 14:54

hm also wie ich rausgefunden habe, kommt der eine euro von den zusatzkosten für waschanlage, abnutzung etc.
aber irgendwie berechnet sich das im kopf besser als mit dem prog oO


Kokel - So 02.10.05 15:04

Nun ist es mal so:
wer nicht da ist zahlt doch nichts ?


steve-allround - So 02.10.05 21:06

So, der Programmierer ist mal wieder online...

Also ich kann net von mir behaupten, dass ich die Programmiersprache auswendig weis.... meistens schua ich mir die Quelltexte bei anderen Units ab. o.ä.

Also das Programm berechnet zwei Varianten.
Nr. 1 : Berechnung bei gleicher Zustiegweise

d.h. dass alle Mitfahrer, egal wie viel es sind von einem Punkt A bis zum Ziel mitfahren. Wenn man natürlich nur 4 Fahrer ist (was man unter Grundlagen eingestellt hat) steht bei Fahrer Nr.5 ein Betrag (hier z.Zt 1 €), weil die Zusatzkosten auf alle Fahrer gleich geschrieben werden. Der Verbrauch oben rechts, zeigt den Verbrauch pro Person an (hier durch 4) .... Aber ich überlege gerade, das kann man auch anders machen, so dass dort der Gesamtverbrauch... naja... egal...

Nr. 2 : Berechnung bei ungleicher Zustiegsweise

d.h. Es gibt verschiedene Orte, die nacheinander liegen und dort steigen jeweils die Personen ein. Also entsteht ja die Kostenaufteilen unterschiedlich... der zuerst einsteigt muss immer mehr zahlen, als die Person, die zuletzt zusteigt....

Bsp:
Fahrer 1........ Ort 1............10 Kilometer zu Ort 2
Fahrer 2.........Ort 2.............5 Kilometer zu Ort 3
Fahrer 3.........Ort 3.............8 Kilometer bis zum Ziel

und so weiter
Man brauch dann bei Fahrer 4 und 5 nur eine 0 eintragen. Wenn auch hier wieder Zusatzkosten entstanden sind, werden die leider bei Fahrer 4 und 5 mit angezeigt....

ich glaube, man kann sich jetzt etwas davon Vorstellen oder?


Kokel - So 02.10.05 22:21

Die Unübersichtlichkeit oder besser gesagt Unüblichkeit deines Programm's macht das bedienen schwer. Das ist mir aber auch schon des öfteren passiert. Da progt man und kann sein Programm schon auswendig ( da ja selbst geschrieben ) und dann ist man enttäuscht , wenn andere das nicht checken. Meistens hat es daran gelegen ,dass ich nicht den Windowsbedienungsstandart eingehalten habe. F1 = Hilfe u.s.w.
Es ist merkwürdig aber was bei Spielen zum Teil akzeptiert wird ist bei Anwenderprogammen tödlich. Ich meine das nicht einhalten von Standards.
Wie wäre es wenn du , (wenigstens beim ersten Start deines Programm's) so eine Art Wizzard einbaust der alle Daten der Reihe nach abruft.


steve-allround - Mo 03.10.05 12:00

Hy, danke für die Kritik. Ich werde sofort die Windows Standards ändern bzw. bei meinem Programm anwenden. Die Unübersichtlichkeit werde ich gleichmal änder mit Bezeichnern und so.... Aber was meinst du mit einem Wizzard? wie soll ich das machen, bzw. was ist das?


Kokel - Mo 03.10.05 12:25

Ein Wizzard ist ein erzwungener Durchgang einer Anwendung.
1. Durch INI Datei feststellen ob programm das erste mal gestartet wird.
wen ja > wizzard starten.
Wizzard fragt nacheinander.
1. Wieviele Fahrer seid ihr ? eingabe ?
2 Wie hoch ist der Spritpreis ?
...
...

bis der benutzer alles beantwortet hat.
beim beenden des programms ini file schreiben.


beim nächsten start ini.file lesen
einstellungen werden geladen.
So brauch der Anwender nicht immer alles ändern vorrausgesetzt erstmal erfährt immer die gleiche strecke.
Angenommen der Benzinpreis erhöht sich mal wieder , dann brauch er nur den neuen preis eingeben.


steve-allround - Mo 03.10.05 12:31

Hy... das ist ja genial... kannst du mir sagen, wie man so eine ini Datei schreibt? Ich habe Edits oder Memos zur Verfügung....


Kokel - Mo 03.10.05 12:46

erzeugen von ini files


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
 
  var ini: TInifile;
begin
  ini := TInifile.create(datei);
  ini.writestring(sektion, 'Strings', s);
  // hier solltest du alles was du abspeicher willst reinschreiben.
  ini.free;

sektion und datei sind strings
Beispiele
datei:='c:\test\meine.ini'
sektion:='Spritpreis'

edit s ist auch ein string mit deinem wert name 'fahrer eins'.


steve-allround - Mo 03.10.05 12:49

mh... also, ich versuche mal was.... mal sehen, ob das funktioniert. Sobald ich damit fertig bin, zeige ich es hier.... ca 3/4 Stunde


steve-allround - Mo 03.10.05 17:39

Hy,

so naja die 3/4 Stunde war es nicht, aber ich muss sagen, ich hatte Erfolg.
Habe versucht, alle Standarts und Veränderungen einzubauen. Schaut euch es bitte mal an.

Viel Spass beim ausprobieren und ich hoffe auf ein Feedback von euch.

Danke

P.S.: Kann mir jemand ganz genau sagen, oder wo kann ich das nachlesen, was die Windowsbedienungsstandarts sind?


Kokel - Mo 03.10.05 17:57

Guck mal hier dann weißt du was ich meine.

Suche bei Google SAA STANDARD

das mit dem wizzard ist nicht schlecht.
aber deine Oberfläche sieht noch sehr unübersichtlich aus.
verbrauch in Litern wird in 100 km angegeben und nicht in 1 km also
verbrauch:=StrToFloat(Edit1.text)/100;


edit ist doch ne kommazahl sorry


steve-allround - Mo 03.10.05 18:02

danke... ich glaube, die sind bei enthalten oder?


raziel - Mo 03.10.05 18:06

Hallo,

würdest du bitte gemäß den Richtlinien für diese Sparte den Download im ersten Posting veröffentlichen? Einfach auf user defined image links oberhalb deines ersten Postings klicken, den alten Download ggf. entfernen und den aktuellen hinzufügen.

//Edit: Und Programmierfragen wie die Frage zu den Inis weiter oben bitte künftig in einem neuen Topic in der entsprechenden Sparte stellen.

Danke,
raziel


steve-allround - Mo 03.10.05 20:22

Mh... ich konnte leider mit dem Aufruf nix anfangen. Hab nur jetzt ganz oben die Version geändert...

Und wie gesagt... nach Einfügen von Statusbar und eineigen Messages ist, glaube ich jetzt das Programm fertig.

Bitte schreibt mir jetzt ob alles i.o. ist...

Ich freue mich schon auf euer Feedback.


Horst_H - Di 04.10.05 16:49

Hallo,

mein Bildsachirm ist nicht so gross, ich sehe nichts vom unteren Rand und dem wahrscheinlichem Ergebnis.

Gruss Horst


steve-allround - Di 04.10.05 19:20

ach du schreck, dass habe ich auch noch nicht beachtet... kann mir da jemand einen einfachen und lukrativen Tip geben?


raziel - Di 04.10.05 19:30

user profile iconsteve-allround hat folgendes geschrieben:
kann mir da jemand einen einfachen und lukrativen Tip geben?

Nein, weil solche Sachen, wie oben bereits erwähnt, in ein Topic in der entsprechenden Sparte im OnTopic-Bereich gehört!

Gruß,
raziel


steve-allround - Di 04.10.05 19:32

ja, tut mir leid, aber dadurch da ich anfänger bin, weis ich net, wie ich die Frage stellen soll.


steve-allround - Sa 29.10.05 22:34
Titel: Neue Version - endlich fertig -
Hallo,

ich glaube nun ist meine Version fertig.

Ist nun vorerst die letzte.

Also gibt mir bitte ordentlich Kritik und vielleicht Verbesserungsvorschläge für die nächsten Versionen.

Schonmal eine Anmerkung von mir:
In der nächsten Version soll dann viele Informationen zu Fahrgemeinschaft stehen.

Vielen Dank schonmal.

P.S. wenn Ihr den Quelltext haben wollt, einfach fragen. Stell ich dann einfach mit ein.


GTA-Place - Sa 29.10.05 23:25

Och ne... Könntest du bitte das Prog. ganz normal packen?
Ich teste grundsätzlich keine Progs. mit ner Setup.


BenBE - Sa 29.10.05 23:26

Wozu brauch dein Programm ein Setup? Ich glaub, Dateien bekomme ich auch grad noch selber kopiert ;-)


steve-allround - Mo 31.10.05 01:59

meine Güte, dann lasst es einfach.

Ich weis nicht, dass Forum ist bis jetzt sehr unsympatisch.
Es gibt weit aus freundlichere Foren, wo man seine Fragen oder Probleme präsentieren kann.
Wenn man ein Anfänger ist und ein paar "Regelfehler" begeht, wird gleich alles gelöscht, oder schlecht kritisiert u.u.u....

Die Antworten bzw. Beiträge der Antworter sind sehr spitz...

Wie gesagt, nur rumnörgeln und nicht einmal richtig Anfänger helfen (ich habe auch anderen Treads gelesen), dass ist kein Forum.

MfG


GTA-Place - Mo 31.10.05 07:47

Wir wollen nicht unfreundlich klingen,
aber es ist einfach besser kein Setup zu verwenden.


Blackheart666 - Mo 31.10.05 09:27

Hallo !
Habs mal vorige Woche getestet beim Wizzard gabs schon den ersten Bug Die null bei Anzahl der Personen lässt sich nicht löschen, geb Ich 4 ein steht 40 Da im Hauptprogramm ist es auch so.
Das könntest Du anders abfangen wenn ein feld keinen Eintrag besitzt.
Die Ganzen Farben finde Ich ziehmlich aufdringlich (weniger ist mehr).
Das mit dem Setup muss Ich mich anschließen.
wofür sind die ganzen Dll. da für die ganzen Berechnungen ?
Ich würd mal sagen die drei, vier Formeln hättest Du auch ins Hauptprogramm schreiben können.
Ansonsten zum Anfang noch etwas unübersichtlich aber dann gings.
Fazit Für den Anfang wenns denn einer war nicht schlecht, ansonsten wärs braucht.
Und von unfreundlich kann nicht die Rede sein, wenn Ich mein Programm hier testen lasse muss Ich natürlich auch mit Kritik rechnen.


steve-allround - Mo 31.10.05 11:41

Jo, danke für die zwei Beiträge.

zu den Wizard:

Es ist mit Absicht so gemacht wurden. In diesen Feld muss immer eine Zahl stehen, wg. der Berechnung. Man muss halt dann die 0 entfernen.

zu den Farben:

Ich habe bei mir ein WinXP.Style... da ist alles einheitlich. Könnt ihr mir bitte sagen, welche Farben euch stören? Und am besten, welche Farbe würdet ihr nehmen?

zu den .dll's:

Das sind ganz einfache Dateien, wo alle Werte gespeichert werden.
Könnt Ihr gerne mal öffnen, steht nicht viel drin... wusste aber nicht, wie ich das anderes machen soll.


Tino - Mo 31.10.05 12:43

user profile iconsteve-allround hat folgendes geschrieben:
Wenn man ein Anfänger ist und ein paar "Regelfehler" begeht, wird gleich alles gelöscht, oder schlecht kritisiert u.u.u....

Du hast eine Private Nachricht.


Blackheart666 - Di 01.11.05 18:46

(Es ist mit Absicht so gemacht wurden. In diesen Feld muss immer eine Zahl stehen, wg. der Berechnung. Man muss halt dann die 0 entfernen.)

Wie gesagt so etwas kann man abfangen, und die Null geht eben mal nicht zu löschen und kommt halt als Bug rüber auch wenn er mit 4 anstatt 40 rechnet.

Zu den Dll. eigentlich sind es ja Textdateien und für jede einzelne Zahl eine Datei na Ich weiss nicht blägt das Projekt auf und nötig ist es schon garnicht.
Du hast doch den Tip mit den Ini Files bekommen den solltest Du beherzigen für das bischen reicht ein Ini.

Ich habe bei Mir eine Auflösung von 600x800 dann erscheint dein Programm mit Scrollbar was auch nicht so gut kommt,das könntest Du schon ändern indem Du die Überdimensionalen 4 Buttons verkleinerst.

Auch den Hinweis zu deiner Seite und so würde Ich weglassen
Sowas gehört in die Info, falls es mich Interressiet würde Ich schon dort klicken "wirkt sonst etwas aufdringlich".

Die Hilfe Datei finde Ich löblich aber ist auch nicht mehr so modern, da würd ich mal nach Html Help schauen und es wäre auch angebracht die nicht so Direkt ins Programm aufzunehmen wie Du es getan hast.

Meinung des Verfassers.