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:

Eine Read Data in Sub

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



Anmeldungsdatum: 22.11.2004
Beiträge: 8

BeitragVerfasst am: 22.11.2004, 19:09    Titel: Eine Read Data in Sub Antworten mit Zitat

Abend!
Ich muss bis heute Abend 21:00 mein Projekt in Qbasic fertig bekommen.
Jetzt habe ich alles geschrieben und will eine Tabelle mit Read Data in eine SUB schreiben nur das geht leider nicht!

Hoffe ihr könnt mir helfen ich bleibe im Forum grüße daniel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 22.11.2004, 19:19    Titel: Antworten mit Zitat

Was bitteschön meinst du mit "Tabelle in eine SUB schreiben" ??
Was genau willst du bezwecken ?
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
praternoster



Anmeldungsdatum: 22.11.2004
Beiträge: 8

BeitragVerfasst am: 22.11.2004, 19:20    Titel: Antworten mit Zitat

Es geht um eine Auflistung von Artikel(Einkaufswahren).
Daneben steht dann die Artikelnr. Preis Namen ....
Dim´s sind alle Richtig


EDIT:
So soll es aussehen!
Die Name Adresse Namen etc. wird dann alles auf ArtikelNr.Lagernd .... geändert.

CLS
Dim namen as String
Dim adresse as String
DIM Alter as Integer
DIM Telefonkosten as Single
DIM Summe as Single
Color ,1
CLS
COLOR 7
DO
Read namen,adresse,Alter,Telefonkosten
Print namen, adresse,alter,USING "#####.##";Telefonkosten
Summe=Summe+ Telefonkosten
LOOP While namen <> ""
DATA "Max Mustermann","Wien",23,22.55
DATA "Roland Mustermann","Wien",82,22.66
DATA "","",0,0
END SUB


Zuletzt bearbeitet von praternoster am 22.11.2004, 19:31, insgesamt 4-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 22.11.2004, 19:20    Titel: Antworten mit Zitat

Ja aber jetzt weiß ich immer noch nicht was du mit "In die SUB schreiben" meinst !

Nachtrag: Wenn du den Array lesen willst, musst du im Hauptprogramm deine DIMs in DIM SHARED ändern damit auch SUBs drauf zugreifen können.
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
praternoster



Anmeldungsdatum: 22.11.2004
Beiträge: 8

BeitragVerfasst am: 22.11.2004, 19:30    Titel: Antworten mit Zitat

Oben stehts jetzt als EDIT aber was meinst du mit Shared?

grüße daniel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
praternoster



Anmeldungsdatum: 22.11.2004
Beiträge: 8

BeitragVerfasst am: 22.11.2004, 19:38    Titel: Antworten mit Zitat

So sieht mein "Stamm" aus
das Haupt Programm also die Weiterleitung.

DECLARE SUB Artikel ()
DECLARE SUB Kunden ()
DECLARE SUB Auswahl ()
CLS
DIM eingabe AS STRING
INPUT "Firmen Namen eingabe"; eingabe
CLS
PRINT "Listen der Firma "; eingabe
INPUT "(A)rtikel oder (K)undenliste "; eingabe
SELECT CASE uselect$
CASE "a"
CALL Artikel
CASE "k"
CALL Kunden
END SELECT
CLS
PRINT eingabe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 22.11.2004, 19:42    Titel: Antworten mit Zitat

Du kannst in SUBs keine DATA - Befehle benutzen. Lager die DATA-Zeilen ins Hauptprogramm aus, und füge bei alles DIMs ein SHARED hinzu- Beispiel:
DIM SHARED namen as String
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
praternoster



Anmeldungsdatum: 22.11.2004
Beiträge: 8

BeitragVerfasst am: 22.11.2004, 19:44    Titel: Antworten mit Zitat

Ich würde gerne wissen was macht das Shared ?
Und ich kann die Data ins Hauptprogramm geben?
Und die Read im SUB lassen ?

grüße praternoster
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 22.11.2004, 20:06    Titel: Antworten mit Zitat

DATA ins Hauptprogramm
READ in der SUB

Das SHARED bewirkt, wie gesagt, dass die Variablen/Datenfelder auch außerhalb des Hauptprogramms (also in SUBs oder FUNCTIONs) genutzt werden können.
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
praternoster



Anmeldungsdatum: 22.11.2004
Beiträge: 8

BeitragVerfasst am: 22.11.2004, 20:12    Titel: Antworten mit Zitat

Das geht leider nicht!
Dann komm ich auf eine leere Seite!


So sieht meine SUB jetzt aus

CLS
Dim artikelnr as Single
Dim adresse as String
DIM lagernd as Integer
DIM preis as Single
CLS
DO
Read namen,adresse,Alter,Telefonkosten
Print namen, adresse,alter,USING "#####.##";Telefonkosten
LOOP While artikelnr <> 0
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 22.11.2004, 21:07    Titel: Antworten mit Zitat

Wie ich bereits sagte: alle DIM Befehl ins Hauptprogramm (also in KEINE SUB) und dann hinter jedes DIM ein SHARED schreiben !!
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
dreael
Administrator


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

BeitragVerfasst am: 22.11.2004, 21:16    Titel: Antworten mit Zitat

Genereller Artikel noch zu Unterprogramme:

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

Ansonsten soeben selber getestet: DATA-Zeilen müssen immer ins Hauptprogramm platziert werden, dagegen READ kann von überall her gemacht werden.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
praternoster



Anmeldungsdatum: 22.11.2004
Beiträge: 8

BeitragVerfasst am: 22.11.2004, 21:46    Titel: Antworten mit Zitat

Ich danke euch!!
Ihr seit die besten!
Wenn ich in 3Jahren Programmierer bin helfe ich euch weiter !

grüße daniel


Zuletzt bearbeitet von praternoster am 22.11.2004, 21:50, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Paul
aka ICC, HV-Freak


Anmeldungsdatum: 11.09.2004
Beiträge: 588
Wohnort: Uelzen

BeitragVerfasst am: 22.11.2004, 21:48    Titel: Antworten mit Zitat

Wo ist denn der Syntaxfehler ?

Nachtrag: der Fehler ist offensichtlich. Nimm bei den DIMs das AS STRING weg. Normal muss man bei AS STRING deklarationen noch die Anzahl der Bytes angeben, aber das wird zu kompliziert. Lass es einfach ganz weg.
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
praternoster



Anmeldungsdatum: 22.11.2004
Beiträge: 8

BeitragVerfasst am: 22.11.2004, 22:35    Titel: Antworten mit Zitat

Das ist jetzt nicht mehr das Problem das geht schon!
Aber ich will ja 2 "Listen"(Eine für Kunden eine für Artikel)
Das Problem ist wie halte ich jetzt das eine DATA vom anderen fern?
Denn jetzt geht natürlich die Kundenliste nicht!
Denn das erste was er liest ist ein Integer!
grüße daniel


DECLARE SUB Artikel ()
DECLARE SUB Kunden ()
DECLARE SUB Auswahl ()
CLS
DIM SHARED eingabe AS STRING
DIM SHARED eingabe1 AS STRING
DIM SHARED namen AS STRING
DIM SHARED Wohnort AS STRING
DIM SHARED Umsatz AS SINGLE
DIM SHARED artikelnr AS SINGLE
DIM SHARED bezeichnung AS STRING
DIM SHARED lagernd AS INTEGER
DIM preis AS SINGLE
INPUT "Firmen Namen eingabe"; eingabe
CLS
PRINT "Listen der Firma "; eingabe
INPUT "(A)rtikel oder (K)undenliste "; eingabe1
SELECT CASE (eingabe1)
CASE "a"
CALL Artikel
CASE "k"
CALL Kunden
END SELECT
DATA 1, "Milch", 14, .74
DATA 2,"Wasser",250,1.18
DATA 0,"",0,0
DATA "Hanz Meiser","Wien",16.33
DATA "","",0

SUB Artikel
PRINT "Artikeliste der Firma "; eingabe
DO
READ artikelnr, bezeichnung, lagernd, preis
PRINT artikelnr, bezeichnung, lagernd, USING "##.##"; preis
LOOP WHILE artikelnr <> 0
END SUB

SUB Kunden
DO
READ namen, Wohnort, Umsatz
PRINT "Kunden Liste der Firma"; eingabe
PRINT namen, Wohnort, USING "#####.##"; Umsatz
LOOP WHILE namen <> ""
END SUB
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 -> Allgemeine Fragen zu QBasic. 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