 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
wombat
Anmeldungsdatum: 09.05.2008 Beiträge: 2
|
Verfasst am: 09.05.2008, 07:12 Titel: Einfache CD Verwaltung ? |
|
|
hallo und guten morgen,
ich habe angefangen eine cd archivierung zu schreiben, jedoch komme ich derzeit nicht weiter.
das ganze sieht wie folgt aus :
1. cd´s erfassen ( hier sollen die daten in einer datei gespeichert werden, was ich über den append as 1 + print #1 gelöst habe.)
Code: |
open "daten.txt" for append as 1
print #1, cdnummer$, cdtitel$, interpret$
close #1
|
nun werden die daten hintereinander in die datei geschrieben, ich kann auch die daten wieder auslesen, jedoch nur alle daten ?
wie ist es möglich, einen datensatz zu suchen (nach nummer ), oder zu löschen ?
habe jetzt schon so viel herum gesucht und nichts passendes gefunden.
für eine antwort wäre ich sehr dankbar. |
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beiträge: 395
|
Verfasst am: 09.05.2008, 08:20 Titel: |
|
|
Mit OPEN file$ FOR INPUT AS #n öffnest du die Datei für sequentiellen Zugriff. D.h. du fängst wirklich vorne an zu lesen, und musst solange die Daten durchlesen, bis du an der richtigen Stelle angekommen bist.
Wenn du die Datei mit RANDOM öffnest statt mit INPUT, hast du einen Wahlfreien Zugriff. Zum Schreiben gibts den PUT- zum Lesen den GET-Befehl. Beide Befehle bekommen eine Nummer mit (ein Offset), die sagt, an welcher Stelle gelesen/geschrieben werden soll. Such mal im MonsterFAQ danach. Der Nachteil bei "RANDOM-Dateien" ist, dass man sie in der Regel nicht im Texteditor öffnen kann.
Falls was falsch war, lass ich mich gerne verbessern... _________________ Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
wombat
Anmeldungsdatum: 09.05.2008 Beiträge: 2
|
Verfasst am: 09.05.2008, 12:05 Titel: |
|
|
also, komme leider nicht zurecht. finde nun auch nach langem suchen leider nichts im internet.
könnt ihr mir bitte ein kleines beispiel geben wie ich das realisieren kann.
1. cds erfassen + speichen
2. cd´s suchen und ausgeben auf dem monitor
möchte so gerne das prinzip verstehen, daten einzugeben, zu speichern und wieder zu suchen.
wäre super nett.
danke euch |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 09.05.2008, 20:07 Titel: |
|
|
Was Du realisieren möchtest, ist eine ganz klassische Datenbankanwendung mit relativen Dateien. QB bietet übrigens zwei Methoden: Die "alte" Variante aus GW-BASIC mittels FIELD und die wesentlich modernere Variante mit der Record-Variable (TYPE).
Das grundlegende Vorgehen wie in vielen Informatikprojekten:
1.) Datendesign: Struktur festlegen. In Deinem Fall dürfte eine denormalisierte Struktur das Einfachste sein, d.h. alles als 1 grosse Tabelle bzw. Datei aufgelöst. Je nach Ansprüche ist aber auch eine Normalform denkbar, also mit 1:n-Beziehungen arbeitend. Zu letzerem: z.B. ein Interpret (erfasst mit Feld Vorname, Nachname, evtl. Geburtsdatum und Nationalität als separate Tabelle) kann mehrere Alben und Singles herausgegeben haben => die Tabelle mit Album besitzt dann nur noch einen "Pointer" auf den zugehörigen Interpreten.
2.) Analyse & Design: Entwurf der Bildschirmmasken + Definition sämtlicher möglichen Datenbankoperationen.
Wichtig: QB ist im Vergleich zur heutigen IT-Welt noch ziemlich lowlevel, d.h. Du wirst vergeblich nach einer SQL-Engine, welche SELECT, INSERT, UPDATE und DELETE usw. wie heute bei jedem Datenbankserver üblich bereitstellt, suchen; stattdessen wirst Du all diese Grundfunktionalitäten selber ausprogrammieren müssen. Dies betrifft insbesondere auch eine LIKE-Operation (z.B. alle Titel mit "The*" suchen).
Zum Design gehören auch Bildschirmmasken, wofür ich Dich ganz speziell auf
http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html
verweise. Von der Programmstruktur her würde ich etwas mit Menüs wie mein Beispiel unter
http://beilagen.dreael.ch/QB/MENUE.BAS
aufbauen.
Tipp für den Einstieg: Am besten einmal nur ein ganz rudimentäres Datenbankschema aus nur einer Tabelle - sprich Datei, also ohne 1:n-Beziehung und mit nur wenigen Feldern definieren. Wichtig: Felder mit Zeichenketten müssen fixe Längen besitzen. => Diese Längen dann übrigens bei der Bildschirmmaskengestaltung voll berücksichtigen. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|