Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Klasselistenprogramm in QBasic

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Wasja



Anmeldungsdatum: 18.04.2006
Beiträge: 19

BeitragVerfasst am: 28.09.2006, 14:53    Titel: Klasselistenprogramm in QBasic Antworten mit Zitat

Hallo!

Ich muss für die Schule ein Programm schreiben, in dem eine Klassenliste verwaltet wird. Die Funktionen sind:

-Neue Schüler hinzufügen (Name,Vorname,PLZ,Ort,Straße mit Hausnr.,Geburtstag in 3 Variablen),
-Vorhandene Schüler löschen oder bearbeiten,
-Die Liste komplett löschen,
-Karteien nach Schülern nach einem bestimmten Kriterium alphabetisch oder numerisch ordnen sowie durchsuchen (Straße, PLZ, Ort, Geburtsjahr, Geburtsmonat, Name, Vorname),
-Die Liste speichern und laden.

Einige Funktionen gehen leider nicht, wie ich mir das erhofft habe! Das Laden und Speichern ist unterteilt in S (Schule) und H (Home), da in der Schule auf H: und nicht im Arbeitsverzeichnis in C: gearbeitet wird. Daher sind die Pfade unterschiedlich. H für Home geht in das Arbeitsverzeichnis. Ich stelle das Programm mal ins Internet (www.wasjakleider.de/LISTE.BAS). Schaut es euch bitte an und helft mir! Sonst verzweifle ich noch...

Fehler und Probleme sind u.a.:

-Laden: Dateiname oder -nummer unzulässig
-Ausgabe: Keine Ausgabe der geladenen Dateien möglich!
-Komplettes Leeren der Liste mit CLEAR erzeugt Fehlermeldung
-Das Ordnen funktioniert nie
-Ich weiß nicht wie das Suchen funktioniert traurig
-Im der SUB Menue sind bearbeiten, loeschen und CLEAR deaktiviert (mit '), weil sie noch nicht bearbeitet wurden, da hab ich auch noch keine Idee... Wäre hilfreich wenn jemand diese SUBs schreiben könnte.... danke

HILFEEEEEEEEEEEEEEEEE!!! weinen weinen weinen


EDIT: Natürlich soll auch nach der Vorwahl gesucht und sortiert werden können. Diese und die Telefonnummer sind acuh inbegriffene Variablen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 28.09.2006, 20:52    Titel: Antworten mit Zitat

Ob da eine Excel-Tabelle oder MS Access-Datenbank nicht fast einfacher wäre?

Ansonsten passender Artikel aus meiner Sammlung:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html

Eine komfortable Bildschirmmaske für das Eingeben und Ändern eines Datensatzes ist in einem solchen Fall ein Muss. Ausserdem sind ein mit TYPE definierter Record sowie eine relative Datei das geeignete Handwerkszeug für die Realisation dieses QB-Projekts.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
5T3PH4N



Anmeldungsdatum: 01.10.2005
Beiträge: 145
Wohnort: Braunshardt

BeitragVerfasst am: 29.09.2006, 15:24    Titel: Antworten mit Zitat

moin wasja auch hier?! grinsen grinsen
bei dir funktioniert auch nich alles durchgeknallt
das erste programm für den unterricht was mir n bisschen probleme macht weinen
_________________
<green> We vegetarians love the environment. carnivores are sick freaks.
<Frank> How can vegetarians possibly love the environment.. you keep eating all the fucking plants
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wasja



Anmeldungsdatum: 18.04.2006
Beiträge: 19

BeitragVerfasst am: 29.09.2006, 16:05    Titel: Antworten mit Zitat

ertsmal danke für den hinweis! aber das hilft mir nicht besonders weiter... wir müssen es sehr einfach gesalten... das pogramm www.wasjakleider.de/LISTE.BAS ist vom aufbau bzw. der bildschirmgestaltung schon im prinzip so wie es sein sollte... aber die funktionen sind mein poblem!

steph das is doch voll der dreck happy ich bin mir sicher dass der hoffritz das net hinbekommt und sagt :" frag den stephan, der weiß das!" oder "guck in der hilfe nach!" happy und er wird nicht sagen können ob und wenn ja, wie es geht... bin gespannt! mit dem Kopf durch die Mauer wollen


Zuletzt bearbeitet von Wasja am 30.09.2006, 11:32, insgesamt 2-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
5T3PH4N



Anmeldungsdatum: 01.10.2005
Beiträge: 145
Wohnort: Braunshardt

BeitragVerfasst am: 30.09.2006, 08:18    Titel: Antworten mit Zitat

ey wasja wir müssten mal versuchen das programm zusammen zu schreiben (den hoffritz kann man ja eh vergessen)
können wir uns irgendwie zutritt zum bibliothekscomputer vrschaffen ? durchgeknallt
_________________
<green> We vegetarians love the environment. carnivores are sick freaks.
<Frank> How can vegetarians possibly love the environment.. you keep eating all the fucking plants
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wasja



Anmeldungsdatum: 18.04.2006
Beiträge: 19

BeitragVerfasst am: 30.09.2006, 11:26    Titel: Antworten mit Zitat

nein das leider nicht, und elbst wenn, bring den valler erstma dazu, internet, usb-card und QBasic drauf/rein zu machen xD

naja egal happy

KANN MIR UND DEM STEPH DENN KEINER HELFEN???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 02.10.2006, 10:17    Titel: Antworten mit Zitat

Doch....zwinkern

"Dateiname unzulässig": Liegt an der Bedienung: Wenn du ein GROSSES 'S' eingibst, klappt's. Insgesamt solltest du das anders coden. Ein OPEN sollte nie bedingt geschehen, sonst passiert genau das: Filezugriff ohne OPEN.
Besser:

Code:

antw$=""
WHILE (antw$<>"S" and antw$<>"H")
   INPUT "S/H"; antw$
   IF (antw$<>"S" and antw$<>"H")  THEN PRINT "Gib S oder H ein."
WEND
filename$="H:\wpu 10b\klali.dat"
IF (antw$="S") THEN filename$="klali.dat"
OPEN filename$ FOR INPUT AS #2


Viele Grüsse!

Croco
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wasja



Anmeldungsdatum: 18.04.2006
Beiträge: 19

BeitragVerfasst am: 03.10.2006, 10:07    Titel: Antworten mit Zitat

ich hab es jetzt so umgeschrieben... aber jetzt kommt der fehler "Eingabe nach Dateiende!"... was is jetz das Problem? an der Datei hab ich nix gemacht! und das mit der suche, bearbeiten und löschen funktion geht auch noch nicht
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 03.10.2006, 12:24    Titel: Antworten mit Zitat

Hallo

Wasja hat Folgendes geschrieben:
aber jetzt kommt der fehler "Eingabe nach Dateiende!"... was is jetz das Problem?


Dann stimmt entweder was mit der Variablen, die die Zahl der Einträge angibt nicht und es wird versucht, über das Dateiende hinaus zu lesen, oder die Datei ist einfach leer. So einen Fehler kannst du abfangen, indem du nicht die Anzahl der Einträge mit abspeicherst, sondern in der Leseschleife prüfst, ob noch ein Eintrag vorhanden ist. Etwa so:

Code:
OPEN "klali.dat" FOR INPUT AS #1
n = 0

WHILE NOT EOF(1)
 n = n + 1
 INPUT #1, nachname$(n)
 INPUT #1, vorname$(n)
 INPUT#1 wasweissichnochalles$(n)
WEND

CLOSE #1

FOR a = 1 TO n
 PRINT vorname$(a)
NEXT


Eine andere Methode wäre die Fehlerbehandlung mit ON ERROR. In der Hilfe findest du zu dieser Anweisung als <Beispieil> sogar ein kleines Programm, mit dem du Fehler abfangen kannst, die Auftreten, wenn du versuchst auf eine nicht vorhandene Datei zuzugreifen.

Gruss
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Wasja



Anmeldungsdatum: 18.04.2006
Beiträge: 19

BeitragVerfasst am: 06.10.2006, 15:20    Titel: Antworten mit Zitat

hallo!

inzwischen habe ich das programmt fast komplett fertig, wie es sein soll. es fehlt nur noch die "ordnen"-SUB. es will einfach nicht klappen. Es soll nach verschiedenen Kriterien sortiert werden können und dann sortiert ausgegeben werden können. wie kann ich das machen?

(Kriterien sind:
name$
vorname$
strasse$ 'enthält auch hausnummer
plz$
ort$
vorw$
gebmonat$
gebjahr$)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 06.10.2006, 20:29    Titel: Antworten mit Zitat

du msust einen vergleich machen, und zwar mehrmals (oder in mehreren subs)
Code:

if vergleichskriterium-variable1 > vergleichskriterium-variable2 then
swap Daten1, Daten2
end if


also wenn du ein datenfeld benutzt, geht das in etwa so:
Code:

if name$(x) > name$(x+1) then
swap name$(x), name$(x+1)
end if


das ganze musst du von minimalElement bis MaximalElement-1 laufen lassen, also wenn du 100 felder hast, von 1 bis 99. das reicht aber noch nicht. DANN um diese for-schleife musst du NOCH eine for-schleife mit genau der selben anzahl an durchläufen machen. damit weerden wilkich alle daten sortiert. und übrigens: den SWAP-vorgang musst du jedes mal natürlich für ALLE deine datenfelder, also name$, vorname$, und so weiter, durchführen zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Wasja



Anmeldungsdatum: 18.04.2006
Beiträge: 19

BeitragVerfasst am: 06.10.2006, 22:37    Titel: Antworten mit Zitat

danke für den tipp. ich habs ausprobiert, und inzwischen geht das komplette programm! vielen dank für die hilfe an alle... jetz wird das ganze noch etwas benutzerfreundlicher gestaltet und schon ist das programm super xD
steph, jetz musst du dich aber ranhalten mal was zu schaffen damit es was wird!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Wasja



Anmeldungsdatum: 18.04.2006
Beiträge: 19

BeitragVerfasst am: 07.10.2006, 20:08    Titel: Antworten mit Zitat

achso... ich hätte da doch noch eine frage... um die liste zu leeren, muss ich bisher immer das programm beenden und neu starten... mit CLEAR sollte das aber auch so gehen! nur erzeugt es bei mir einen unzulässigen Funktionsaufruf... was tun?

oder sagen wirs einfach so... ich bräuchte einen tipp, wie ich alle variablen leere.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 07.10.2006, 20:22    Titel: Antworten mit Zitat

Hallo

CLEAR ist eigentlich ok, du darfst es aber nur im Hauptprogramm benutzen, nicht in einer Sub.

Gruss
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 07.10.2006, 20:47    Titel: Antworten mit Zitat

CLEAR setzt ja alle daten zurück. vielleicht setzt es auch irgendwelche sachen zurück, die eigentlich gefüllt sein soltlen?
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Wasja



Anmeldungsdatum: 18.04.2006
Beiträge: 19

BeitragVerfasst am: 07.10.2006, 21:20    Titel: Antworten mit Zitat

Skilltronic hat Folgendes geschrieben:
Hallo

CLEAR ist eigentlich ok, du darfst es aber nur im Hauptprogramm benutzen, nicht in einer Sub.

Gruss
Skilltronic


das muss man ja auch erstma vom lehrer gesagt bekommen! dieser *** mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen mit dem Kopf durch die Mauer wollen jetz geht alles wie ich es haben wollte... daanke an alle nochmal
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz