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 |
Das Info-Fenster läßt sich noch überflüssigerweise maximieren.
Die Tabreihenfolge ist immer noch nicht so ganz in Ordnung, find eich. Pack das Stad-Edit mal Hinter die Postleitzahl und das telefon-Edit da drunter. dann hast du noch Platz für eien zweite Telefonnummer, denn viele Leute haben ja noch zusätzlich ein Handy. Ein Feld für eien E-mail-Adresse und Webseite wäre auczh noch schön. Ich wollte den ersten datensatz anlegen und habe auf "Neu" gekjlickt, da wurde mir gesagt, ich müsse zu erst eine datenbank öffen. Also habe ich "Datenbank öffnen" gewählt und einen Namen angegeben, da ja noch keine existiert. Es kam dann die Abfrager - OK. dann wurde die Bestätigung der Abfrage mit "File not found" quitiert. Und beim Speichern dann das selbe. Im Moment kann man also nich nicht weiter testen. Mein Vorschlag: Nimm die Navigations-Buttons raus und nimm eine Toolbar. Zusätzlich ergänze das Menü noch um den Punkt "Navigation" und pack da die Navigation noch mal rein mit Shortcuts : F5 = erster Datensatz, F6 = vorheriger Ddatensatz, F7 = nächster datensatz, F8 = letzter Datensatz. Das gleiche würde ich mit den Button "Neu" machen. Wie löscht man einen Datensatz? Wie werden die datensätze angezeigt? Alphabetisch sortiert? Als standard Such-Option würde ich Nachname angeben. Im gleichen Zuge würde ich die Felder Vorname und Nachname im Formular vertauschen. Ein Listview mit einer Übersicht wäre auch nicht schlecht. Manchmal weiß man nicht nach was man suchen soll und dann ist das Durchblätter doch recht aufwendig, wenn um die 100 Datensätze drin sind. Kuck dir doch mal meine Adress-Datenbank von meiner Seite an. |
Hallo Luckie,
Lass mich gleich mal sagen: das ganze klappt ohne Probleme, es gibt da nur keine Hilfe dazu. Sollte ich vielleicht noch einbinden. Zitat:
Zitat:
Zitat:
Die Angabe einer website ist absolut nicht angebracht, weil es sich hier um eine Personaldatenbank handelt, die in einer Personalabteilung verwendet wird. Ich weiss nicht was die mit der Webseite ihrer Mitarbeiter wollen. Aber über E-mail sollte ich vielleicht mal nachdenken. Zitat:
Da Du noch keine Datenbank angelegt hast kannst Du natürlich auch keine öffnen, Du musst dann eine neue Datenbank anlegen. Dieser Menüpunkt befindet sich direkt unter dem von "Datenbank öffnen". Aber du hast schon recht, ich sollte vielleicht schreiben: "Öffnen oder erstellen sie eine neue Datenbank!". Zitat:
Shortcuts finde ich eine gute Idee! Zitat:
Zitat:
Funktionen wie Sortieren habe ich nicht eingebaut, da ich nicht einen einzigen array verwende in dem ich irgendwas sortieren könnte, sondern ich lese alles aus records aus, und ich denke mir, dass sowas auch eine menge Arbeit mit sich bringen würde. Zitat:
Zitat:
Wie sieht sowas aus, und welchen Vorteil hätte das? Meinst Du einfach nur eine Übersicht mit Nachnamen?, welche man dann doppelklicken könnte um direkt dahin zu kommen? klingt logisch, könnte man als Menüpunkt einbinden. So, jetzt kannst du das ja nochmal inklusive Datenbank testen und die weiteren features meiner DB testen, weil einige hat sie noch, die Du dann nicht gesehen hast. Vielen Dank für die vielen Anregungen und die Zeit die Du fürs Ausprobieren geopfert hast. BB Jan |
Hallo Luckie,
hab' mir mal dein Tool angeguckt, das ist schon aller erste Sahne, aber was sind *.csv Dateien? Und nen kleinen Bug hab ich auch gefunden :] : Wenn ich das Programm ausführe und einfach in den leeren Body klicke, dass wird oben in der Leiste ein Button aktiv, und wenn ich den klicke (Kontakt löschen) dann kommt folgende message: "Soll der Kontakt `+@ aus der Datenbank entfernt werden?" Wobei das + aber ein Kreuz ist. Naja, nix dolles, aber ein Bug *stolzsei*. Aber im gegensatz zu meinem, war dein Programm mit Sicherheit nicht das erste das du programmiert hast. :bounce1: Ab jetzt verwende ich dein Tool :] Gruß Jan |
Hm, dann habe ich den Punkt wohl übersehen. Also das mit der neuen Datenbank. :oops:
Eine Toolbar benutze ich in meiner Adressdatenbank. Allerdings nicht zur Navigation. Als Symbole könntest du welche für einen CD-Player nehmen: |< << >> >>|. Selbsterklärend denke ich. Das mit dem Löschen solltest du unbedingt noch lösen. Eine Möglichkeit wäre alle Datensätze in ein Arry von TDatensatz zu lesen, dann kopierst du alle Elemente bis zu dem zu löschenden Datensatz in ein zweites Array, überspringst den zu löschenden Datensatz und kopierst den Rest auch in das neue Array. Aber in einem Arry von TDatensatz mußt du doch schon haben oder? Ich kann mir nicht vorstellen, dass du jeden Datensatz einzeln bei Bedarf von der Platte liest. csv Dateine sind Comma Separated Values. Also Dateien die durch ein fest definiertes Zeichne getrennte Werte enthalten. Also eigentlich kleine Datenbanken im Textformat. Die erste Zeile enthält die Feldbezeichnungen und die folgendnen die Werte:
Code:
Diese Datein kannst du in fast jede Datenbank importieren. Und meine kann diese erstellen (sollte sie, aber da kommt es gerade irgendwie zu einem Runitem Error :( ) und auch einlesen.
Naame,Vorname,Telefonnummer
Puff,Michael,1234567879 Maier,Fritz,123987456 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz