You are not logged in.

Dear visitor, welcome to Jabaco - Community. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Desi

Beginner

  • "Desi" is male
  • "Desi" started this thread

Posts: 3

Date of registration: Dec 26th 2012

Location: Hamburg

Occupation: Elektronik-Entwickler

  • Send private message

1

Wednesday, December 26th 2012, 8:36pm

Forenprojekt: Bauteildatenbank

Dieses Projekt hat zwei Ziele:

1) Es soll Einsteigern Stück für Stück demonstrieren, wie ein konkretes, relativ umfangreiches Jabaco-Programm entsteht.

2) Am Ende soll ein Open-Source Datenbankprogramm dabei herauskommen, für den Einsatz in kleinen Firmen oder im Hobby-Labor.

In diesem Moment, wo ich dieses Posting schreibe, bin ich selbst totaler Einsteiger in Jabaco, habe aber so einige Programmiererfahrung mit anderen Basic-Dialekten.

Andere Queereinsteiger, die schon ein gewisses Vorwissen mitbringen, werden hier also einen ganzen Haufen oft benötigter Programmiertechniken im Detail kennenlernen und mit dem wachsenden Quelltext eine gute Möglichkeit haben, mal schnell nachzuschauen, wie das eine oder andere konkret umgesetzt wird.

Da ich selbst gerade erst meine ersten Gehversuche mit Jabaco mache, freue ich mich natürlich, über rege Beteiligung der erfahreneren Foris!


Was soll das Programm leisten?

Nun, als selbstständiger Elektroniker lagere ich hunderte elektronische Bauteile, verliere aber immer wieder den Überblick über das, was ich so habe.

Oder ich erinnere mich grob, ein bestimmtes Bauteil mal eingesetzt zu haben, kann mich aber nicht mehr erinnern in welchem Projekt das war, wie die Anschlussbelegung ist, ob ich es auf Lager liegen habe und wenn ja: wo …

Das führt dann gar nicht selten dazu, dass ich mich wieder stundenlang im Internet auf die Suche mache, mich durch die abertausenden Bauteile in den verschiedenen Webshops hangele und am Ende etwas bestelle, von dem ich noch reichlich irgendwo auf Lager liegen habe …

Die Aufgabenstellung klingt zunächst also simpel: Eine Datenbank muss her!
Es gibt aber verblüffenderweise kein brauchbares & kostenloses Programm in dieser Richtung.

Manche Elektroniker verwalten ihren Lagerbestand notdürftig mit Excel, jedoch sind mir die Möglichkeiten einer solchen Lösung gar zu beschränkt.

Natürlich könnte man sich mit Access oder Open Office etc. eine eigene Datenbank stricken. Das habe ich auch schon mehrfach angefangen und dann doch wieder verworfen.
Nein, ich will ein eigenständiges Programm, das alles erfüllt, was mir so vorschwebt.

Ideal wäre es, wenn es später auch auf anderer Hardware liefe, z.B. auf einem Android-Tablett. Aber um solche Feinheiten werde ich mich erst später kümmern; zunächst muss das Programm überhaupt laufen und dann Stück für Stück im Funktionsumfang wachsen.


In der Praxis ist es oft so, dass ein bestimmtes Bauteil über mehrere Distributoren zu beziehen ist.
So könnte man den Transistor „BD135“ sicher bei Farnell, Reichelt und Conrad bestellen, um nur mal drei „Distris“ zu nennen.

Komplex wird es, wenn man mehrere, unterschiedliche Bauteile bestellen möchte.
So ist Reichelt zwar in aller Regel billiger, als Conrad oder Farnell, erhebt aber auch Versandkosten. Manche Distributoren erheben einen Mindermengenzuschlag u.s.w.
So kann es im Einzelfall günstiger sein, ein Bauteil von einem Distributor zu beziehen, der zwar einen höheren Preis verlangt, bei dem man aber ohnehin auch noch andere Artikel bestellt, so dass keine weiteren Versandkosten fällig werden oder dass der Mindermengenzuschlag entfällt.

Die Datenbank soll also nicht nur die Bauteile verwalten, sondern sie soll auch die verschiedenen Lieferanten und deren Lieferbedingungen kennen, um am Ende preisoptimierte Bestelllisten auszugeben.

Jedes Bauteil soll mit verschiedenen „Tags“ versehbar sein.
Ein solches Tag könnte der Projektname sein, wo man genau dieses Bauteil schon in der Vergangenheit eingesetzt hat.

Über die Suchfunktion, wenn man das entsprechende Tag einbezieht, soll es also möglich sein, auf einen Schlag alle Bauteile angezeigt zu bekommen, die man in dem getagten Projekt einst verwendet hatte.

Damit man diese Tags nicht jedes Mal schreiben muss (was Schreibfehler provoziert), wählt man die Tags aus erweiterbaren, editierbaren Listen aus. Z.B. aus Comboboxen.

Zu jedem Bauteil kann man den Direktlink zum Artikel im Webshop mehrerer Distributoren hinterlegen.
Weiterhin einen Dateilink auf das Datenblatt, ein Bildchen des Artikels, ein Bildchen mit dem Anschlussschema und einen beliebig langen RTF-Text, wo man ausgiebig alle Besonderheiten notieren kann.

Natürlich wird auch der Lagerort, im eigenen Lager in die Datenbank eingetragen, damit man weiß, wo man das Teil zu suchen bzw. einzusortieren hat.

Und gaaannz wichtig: Die Bedienung muss flott von der Hand gehen undintuitiv sein!
Es nützt nichts, wenn die Datenbank so ätzend ist, dass man sie in der Praxis dann doch nicht benutzt!


Mit der Zeit kommen dann noch weitere Funktionen dazu. Z.B. die Möglichkeit, eigene Barcodes zu generieren, auszudrucken und Artikel per Barcodescanner ein- und auszubuchen.


An Programmiertechniken haben wir also ein ziemliches Spektrum:

- Eine grafische Oberfläche mit verschiedenen Bedienelementen.
- Das Einbinden von Bildern
- Einbinden von Weblinks
- Dateifunktionen (lesen/schreiben von Dateien, Backups, umbenennen …)
- Sortierfunktionen
- Suchfunktionen
- Grafikerzeugung (Barcodes)
- Druckfunktionen
- Einlesen von Daten über die serielle Schnittstelle oder über USB
- Rechenfunktionen
- Und natürlich relationale Datenbankfunktionen

Im nächsten Posting gibt es schon mal einen ersten Screenshot und den bisherigen Quelltext.
Macht Technik Dir das Leben schwör, ruf' schnell den EDV-Dompteur!

This post has been edited 1 times, last edit by "Desi" (Dec 26th 2012, 8:42pm)


Rate this thread
WoltLab Burning Board