Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
praternoster
Anmeldungsdatum: 22.11.2004 Beiträge: 8
|
Verfasst am: 22.11.2004, 19:09 Titel: Eine Read Data in Sub |
|
|
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 |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 22.11.2004, 19:19 Titel: |
|
|
Was bitteschön meinst du mit "Tabelle in eine SUB schreiben" ??
Was genau willst du bezwecken ? _________________
|
|
Nach oben |
|
|
praternoster
Anmeldungsdatum: 22.11.2004 Beiträge: 8
|
Verfasst am: 22.11.2004, 19:20 Titel: |
|
|
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 |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 22.11.2004, 19:20 Titel: |
|
|
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 |
|
|
praternoster
Anmeldungsdatum: 22.11.2004 Beiträge: 8
|
Verfasst am: 22.11.2004, 19:30 Titel: |
|
|
Oben stehts jetzt als EDIT aber was meinst du mit Shared?
grüße daniel |
|
Nach oben |
|
|
praternoster
Anmeldungsdatum: 22.11.2004 Beiträge: 8
|
Verfasst am: 22.11.2004, 19:38 Titel: |
|
|
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 |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 22.11.2004, 19:42 Titel: |
|
|
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 |
|
|
praternoster
Anmeldungsdatum: 22.11.2004 Beiträge: 8
|
Verfasst am: 22.11.2004, 19:44 Titel: |
|
|
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 |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 22.11.2004, 20:06 Titel: |
|
|
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 |
|
|
praternoster
Anmeldungsdatum: 22.11.2004 Beiträge: 8
|
Verfasst am: 22.11.2004, 20:12 Titel: |
|
|
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 |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 22.11.2004, 21:07 Titel: |
|
|
Wie ich bereits sagte: alle DIM Befehl ins Hauptprogramm (also in KEINE SUB) und dann hinter jedes DIM ein SHARED schreiben !! _________________
|
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
|
praternoster
Anmeldungsdatum: 22.11.2004 Beiträge: 8
|
Verfasst am: 22.11.2004, 21:46 Titel: |
|
|
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 |
|
|
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 22.11.2004, 21:48 Titel: |
|
|
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 |
|
|
praternoster
Anmeldungsdatum: 22.11.2004 Beiträge: 8
|
Verfasst am: 22.11.2004, 22:35 Titel: |
|
|
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 |
|
|
|