QBasic-Hilfe: Datei speichern 8+3+x

Shaddy

New member
Themenstarter
Registriert
1 Feb. 2007
Beiträge
365
Guten Morgen!

Folgendes Problem beschäftigt uns, den "programmierfähigen" Teil meines Freundeskreises und mich, seit einigen Tagen, ja gar schon Wochen.

Ziel ist es, ein kleines Datenbanksystem zu erschaffen.
Sprache dafür ist ein/der QBasic-Compiler, da es keiner versteht in einer anderen Sprache auch nur ein par Zeilen zu schreiben.

Bisher kamen wir auch gut voran. Wir haben die Menüs, die Struktur und den schematischen Ablauf. Der Barcodescanner, um die Barcodes einzulesen funzt auch. Jedoch sind wir genau hier ins Stocken geraten.

Wir möchten, klar, den eingescnnten Artikel, speichern. Dazu legen wir eine Datei mit der Endnung .DAT an. Da nun aber Barcodes weit mehr als 8 Stellen haben, zickt Basic, welches aus der DOS-Ära stammt, herum. Kurz: es, Basic, kann nicht mit mehr als 8 Zeichen umgehen.

Bisher haben wir Daten so gespeichert:

Input "Dateiname: ", DN$

open "c:\test\" + DN$ + ".DAT" for output as #1
print #1, o$
close #1

Wir wurden noch auf die Möglichkeit aufmerksam, über Basic mit dem Shell-Befehl und dem DOS-Kommando, DOS-Befehel auszuführen. Jedoch klappt das auch nicht.

Hat nun jemand hier von euch irgend einen Lösungsvorschlag, bevor wir alles verwefen, wie wir Daten mit mehr als 8 Zeichen anlegen können? Also z.B. 123456789012.DAT

Bin dankbar für jeden hilfreichen Tip.

LG, Shaddy
 
Was ich nicht ganz verstehe -> du schreibst was von Datenbanksystem und willst aber für jeden Artikel eine eigene Datei anlegen ?

Zu deinem Speicherproblem:
Du könntest ja einfach fortlaufend nummerieren. Mit 8 Stellen kommt man da schon ein ganzes Stück. Wenns immer noch nicht reicht, das ganze mit Buchstaben kombinieren.

Die Zuordnung Artikel <-> Dateinname erfolgt dann über eine Tabelle / Datenbank.

Aber es wäre nett, wenn du mal ein paar mehr Worte zu eurem Projekt verlierst. Normalerweise lege ich doch eine Datenbank an, um zu jedem Artikel die nötigen Informationen (Barcode, Typ, Preis, Regalnr., Bestand ... weisderGeierwasnoch) in EINEM Datensatz abzuspeichern. Selbst Produktbilder würde ich mit aufnehmen oder eben einen Link auf eine externe Bilddatei.
Nach dem Scannen durchsuche ich die Datenbank nach dem passenden Barcode und hole mir die restlichen Informationen aus dem Datensatz. Wenn er nicht vorhanden ist -> Eingabemaske und anschließend abspeichern.

Und ihr hängt an den Barcode einfach die Dateiendung dran und öffnet diese, oder wie ?
Wenn ja hätte das aber mehr mit einer Datenbank zu tun. Du kannst ja nichts suchen, sortieren oder dergleichen (z.B. alle Artikel aus RegalXY auflisten mit Bestand)

Also entweder das Konzept noch mal überdenken oder eine Textdatei anlegen, die pro Zeile Barcode und laufende Nummer (wie oben kurz beschrieben) enthält. Wenn du jetzt den Artikel gescannt hast, mit dem Barcode in der Hinterhand die Textdatei öffnen -> die Zeile mit mit dem Barcode suchen -> Nummer auslesen -> Datei öffnen.
 
Hallo,

das wird schwierig! Wie Du selbst sagst, kann das 16-Bit Entwicklungswerkzeug nur Dateinamen im Format 8.3 speichern. Rückwärts gibt es Lösungen, um einen langen Dateinamen in einen kurzen umzuwandeln.

Aber QBasic kann keine langen Dateinamen verwenden. Jetzt muss Du nach einem Workauround suchen. Was ich schon gemacht habe: Ein ZIP-File mit kurzem Dateinamen speichern und darin die langen Dateinamen verwenden. Das war allerdings mit VB realisiert.

Oder Du merkst Dir in einer Liste bzw. Datei, den Barcode und den zugehörigen kurzen Dateinamen, zum Beispiel:
123456789012,00000001.DAT
656874654541,00000002.DAT
usw.

Mfg Harald
 
@ TDR5:

All die Informationen brauchen wir ja nicht. Uns geht es schlicht um den nackten Bestand. Warenausgng, Wareneingang und aktuelle Menge. Dabei reicht dann ja auch eine einfache kleine Datei in deren erster Zeilde die Warenbezeichnung und in der zweiten Zeile der aktuelle Betand hinterlegt sind. Die Datenbank legen wir in einzelnen kleinen DAT-Daten an, weil wir so, jeder für sich arbeiten kann. So haben wir die Möglichkeit alle erstellten Module zusammenzufügen. Das geht bei einer große, einzigen wirklichen Datenbank nur schwer.

@ harald612:

Ich denke, du hast unser Problem gelöst. Wir werden eine Art Inhltsverzeichnis erstellen, in derer alle Artikel aufgeführt sind. dadurch kann ich dann sogar nach bestimmten Nummern/Artikeln suchen lassen. Vielen Dank an euch beiden. :)
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben