![]() |
Personaldatenbank
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag allerseits!
Ich hab mein Projekt jetzt auch fertiggestellt, nix aufwenidiges, aber vielleicht kannd as ja jemand von euch gebrauchen, wenn nicht ist auch nicht schlimm, derjenige für den ich es geschrieben hat braucht es auf jeden Fall. :] Es handelt sich um ein Personalverwaltungsprogramm mit Verwaltung von Ausfällen (Kranktage, Urlaubstage), Suchoption, Bequemer Navigation, und wenigen zusätzlichen Dateien sowie keinem umständlichen Installationsprogramm. Tips sind ABSOLUT erwünscht. Wenn Interresse am Quelltext besteht, bitte bescheidsagen, dann adde ich den zur open source Abteilung. Naja, viel Spass noch damit. Gruss Jan P.S.: Habe vergessen zu erwähnen, dass das DP Team sehr hilfreich bei der Programmierung war, insbesondere MrSpock, thx nochmal! //edit: Neue ver. mit korrekten Tablulatoren hochgeladen. |
Hallo Jan, habe mir gerade mal dein Programm angesehen. Nicht schlecht. Sehr leicht.
3 Sachen sind mir dabei aufgefallen. Wenn man das Programm startet, steht der Cursor im Feld "Straße". Wäre sicherlich besser, wenn er gleich bei Vorname sein würde. Wenn mann dann mit dem Tabulator weitergeht, dann ist nach dem Feld "Stadt" der Button "Speichern" Aktiv. Und nach der PLZ soll nicht die Telefonnummer sondern der Ort sein. Ist übersichtlicher. Könntest du mir bitte den Code geben, wo du eine Datei erstellst? Ich würde diesen benötigen. Wäre nett von dir. Weiters, welches Datenbankformat ist das eigentlich (ddp) und wie arbeitet diese, wenn viele Daten drinn stehen? |
Hi Mwerk,
das format ist *.ddb und das ist einfach nur die Dateiendung die ich ausgesucht habe, soweit ich weiss ist die vollkommen gleichgültig, die Datenbank ist einfach eine Typisierte Datei in die ich nichts weiter mache, als Variablen als record zu speichern, und für jede variable einen fest definierten Platz zu reservieren. Die Records werden dann auch genau so wieder ausgelesen. Das ist alles. Wenn das flasch/zu oberflächlich war dann bitte ich um Entschuldigung, mehr weiss ich nicht *schäm*. Bin halt noch ein relativer noob, programmiere erst seit wenigen Monaten und nur unregelmässig in Delphi, da ich viel als Webdesigner zu arbeiten habe im Moment. Das Verhalten bei vielen Datenmengen kenne ich nicht aus Erfahrung, denn wie du siehst beansprucht meine Datenbank nur wenig Daten, aber ich nehme an, dass die Grösse der Datenbank dann sehr schnell in die Höhe geht, da ja, wie ich bereits vorher erwähnte immer ein fester Speicherplatz für jede Variable reserviert wird, egal wie gross diese nun ist, aber für meine Zwecke reichte diese Art Datenbank vollkommen aus. Der Quelltext zum schreiben einer datei ist ganz einfach:
Code:
Dies ist ein Ausschnitt aus meinem Programm, in dem ich das Ende der Datei ermittle, gleichzeitig erstelle ich die Datei, falls sie noch nicht existiert. Um einen Datensatz zu schreiben:
function tDatenobjekt.DateiEnde:integer;
var f:File of tUrlaub; begin Datei:='Dateiname'; assign(f,Datei); if not fileexists('Dateiname') then begin rewrite(f); close(f); end; reset(f); Dateiende:=filesize(f); close(f); end;
Code:
Wobei ps der Dateizeiger ist und Karte eine Variable von einem selber erstellten record-Objekts ist.
procedure tdatenobjekt.schreiben;
var f : file of tUrlaub; begin ps:=DateiEnde; Datei:='Dateiname'; assign(f,Datei); reset(f); seek(f,ps); write(f,Karte); close(f); end; Ich hoffe ich konnte dir weiterhelfen. Gruss jan |
Axo, zu der tab-Reihenfolge: das war mir auch aufgefallen, aber wie korrigiere ich das? Die Reihenfolge entpricht im Moment ganz einfach der Erstellungsreihenfolge während meines Arbeitsprozesses.
Wenn ich weiss wie das geht, werde ich das mal schnell beheben und neu uppen, ist nämlich echt ätzend, wenn ich schnell alle Felder füllen will und der Tabulator macht Mucken :] gruss Jan |
Rechtsklick und dann gibts da einen Punkt ... Tabulatorreihenfolge
|
*narf* war ja klar, dass das wieder so total einfach geht und ich das einfach nicht finde.. :? hab das also jetzt behoben.
Danke für Tipps und Tests! Gruss Jan |
Hoi Jan.
Mir ist auch was aufgefallen: Als ich die Datenbank gestartet hab, war das Fenster ein ganz ganz ganz kleines Bisschen zu klein, sodass ich rechts und unten Scrollbars hatte. Tip: ändere doch die eigenschaften von form1 (oder wie auch immer) wie folgt: AutoScroll: FALSE AutoSize: FALSE (hast du wahrscheinlich) BorderStyle: bsSingle (dann kann man die Größe nicht mehr ändern) und so schönheitsmäßig würd ich noch "Position: poDesktopCenter" einstellen. Ansonsten alles OK |
Hallo thebaer,
danke für Deine Tips, das mit der resize-Sperre werde ich direkt mal einbauen, aber dass das Programm nicht in der mitte des Bildschirmes startet hat schon seinen Grund, nämlich, dass während der runtime ein weiterer Form geöffnet werden kann (geöffnet wird) der dann zusammen mit dem Hauptframe sozusagen zentriert sein soll. cu Jan |
Also wenn ich das jetzt richtig verstanden habe, hast du selber eine Datenbank Programmiert also nicht die BDE oder so genutzt!?
Könntest du mir den Code auch mal zuschicken? Hab im moment das Problem das meine Progs mit der BDE bei den meisten nicht laufen, und da wärs nicht schlecht wenn ich mir meine eigene Datenbank prpoggen würd. masters001 |
Hallo masters001,
nein, ich habe keine datenbank programmiert, ich habe typisierte Dateien genutzt. Diese Dateien werden dann mit records gefüllt und ausgelesen, sind aber eigentlich nur zu gebrauchen, wenn man nicht allzuviele Daten braucht. für Grosse Datensysteme also sehr unkomfortabel, da sehr viel Speicherplatz verloren geht. Wenn du den code haben willst dann adde mich mal im icq. oder besuch mich im qnet: #fusionweb. bb Jan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 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