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:

Frage Menü Aufbau
Gehe zu Seite Zurück  1, 2, 3, 4
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 18.10.2015, 11:42    Titel: Antworten mit Zitat

SELECT CASE springt aus dem Block heraus, sobald der erste passende Abschnitt gefunden und abgearbeitet wurde. Dass du also in einem einzigen Durchlauf zwei verschiedene CASE-Abschnitte abarbeitest, ist programmiertechisch nicht möglich.

Mit einem Unterprogramm wäre das leichter zu realisieren - dann könntest du ein Unterprogramm zum Zeichnen der Funktion erstellen, und jeder CASE-Abschnitt, in dem Daten verarbeitet/angepasst/berechnet werden, ruft am Ende noch dieses Unterprogramm auf.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matze83



Anmeldungsdatum: 27.07.2015
Beiträge: 29

BeitragVerfasst am: 18.10.2015, 11:55    Titel: Antworten mit Zitat

okay danke dir dann war meine Vermutung richtig das es nicht funktioniert danke dir
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1211
Wohnort: Ruhrpott

BeitragVerfasst am: 18.10.2015, 13:20    Titel: Antworten mit Zitat

Hallo Matze83!

Dein Eindruck ist richtig. Der SELECT CASE - Konstrukt ist eine Sonderform der IF...THEN...ELSEIF...THEN...ELSEIF...THEN...ELSE - Abfrage. Es wird nur der Programmblock abgearbeitet, der unterhalb der zutreffenden CASE - Bedingung steht.

Gruß
grindstone

EDIT: Upps, da habe ich den Seitenumbruch nicht bemerkt und daß nemored schon geantwortet hatte. lächeln
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Matze83



Anmeldungsdatum: 27.07.2015
Beiträge: 29

BeitragVerfasst am: 18.10.2015, 15:01    Titel: Antworten mit Zitat

jut jetzt läuft es endlich auch mal... so wie ich es mir vorgestellt habe

jetzt habe ich nur ein Problem, habe nach dem ich ins hauptmenü zurückkehre über



Code:

 CALL Prog(24, 5, "")

SUB Prog (x, y, txt$)
DIM a$
LOCATE x, y
COLOR 4, 9
PRINT txt$; "   Beliebige Taste druecken, um ins Hauptmenue zu gelangen"
a$ = INKEY$
WHILE a$ = ""
    a$ = INKEY$
WEND
END SUB


habe ich ne art graustich in meiner Übersicht traurig
Wenn ich über die anderen Case Anwendungen zurückkehre funktioniert meine Farbauswahl wie gewollt nur nach der Graphischen Darstellung habe ich so ein Graustich in meiner menüansicht welche dann bleibt ...

Hat da jemand eine Idee ?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 18.10.2015, 15:05    Titel: Antworten mit Zitat

Code:
COLOR 4, 9

stellt die Farbe um - und wenn du sie dann nicht mehr zurückstellst, bleibt sie nach dem Funktionsaufruf erhalten.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matze83



Anmeldungsdatum: 27.07.2015
Beiträge: 29

BeitragVerfasst am: 18.10.2015, 15:09    Titel: Antworten mit Zitat

ne das klappt nicht muss dazu sagen das ich ab Menü die Farbe 2,9 habe bzw wenn ich die Kooeffizienten eingebe, ist diese Farbauswahl vorhanden...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 18.10.2015, 16:47    Titel: Antworten mit Zitat

Ohne Quelltext kann ich nur raten - aber ich kann mir im Augenblick nur vorstellen, dass die COLOR-Angabe irgendwo durcheinander kommt.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1211
Wohnort: Ruhrpott

BeitragVerfasst am: 18.10.2015, 17:13    Titel: Antworten mit Zitat

Dies hier sind die Farbnummern von QB. Der "Grauschleier" entsteht wahrscheinlich durch die Verwendung von Hellblau statt Blau als Hintergrundfarbe.


  • schwarz = 0
  • blau = 1
  • grün = 2
  • cyan = 3
  • rot = 4
  • magenta = 5
  • braun = 6
  • hellgrau = 7
  • grau = 8
  • hellblau = 9
  • hellgrün = 10
  • hellcyan = 11
  • hellrot = 12
  • pink = 13
  • gelb = 14
  • weiss = 15


Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Matze83



Anmeldungsdatum: 27.07.2015
Beiträge: 29

BeitragVerfasst am: 19.10.2015, 10:52    Titel: Antworten mit Zitat

die Farben sind ja bekannt aber das Problem bekomme ich einfach nicht gelöst

Habe mal was beigefügt. Nach dem Beenden der Darstellung , wird dann diese Verfärbung sichtbar...

Code:

DIM a#, b#, c#, d#

'Darstellung einer Funktion dritten grades
INPUT " wert eingeben"; a#
INPUT " wert eingeben"; b#
INPUT " wert eingeben"; c#
INPUT " wert eingeben"; d#


'Umschalten in den Grafikmodus 640x480 Pixel
SCREEN 12

'Sichtfenster im Grafikmodus festlegen fr Randabstand beginn x-Achse ab 10 bis 630 von 640x480
VIEW (10, 470)-(630, 10)

'Koordinatenursprung ind die Fenstermitte legen und Fenster skalieren nach D und W
WINDOW (-10, -10)-(10, 10)

'Koordinatenachsen zeichen in der Farbe gelb:
LINE (-10, 0)-(10, 0), 14
LINE (0, -10)-(0, 10), 14

'x-Achse mit Strichen skalieren:
FOR i% = -10 TO 10
    LINE (i%, 0.1)-(i%, -0.1), 14
NEXT i%

FOR i% = -10 TO 10
    LINE (-0.1, i%)-(0.1, i%), 14
NEXT i%

'Graph punktweise einzeichnen: Punktfarbe in Rot   Funktion
FOR x! = -10.4 TO 10.4 STEP 0.000001
    y! = a# * x! ^ 3 + b# * x! ^ 2 + c# * x! + d#
    PSET (x!, y!), 12
NEXT x!

'Ableitfunktion erstellen
FOR x! = -6.4 TO 6.4 STEP 0.000001
    y1! = a# * 3 * (x!) + b# * 2 * (x!) + c#
    PSET (x!, y1!), 13
NEXT x!




CALL Prog(24, 5, "")
COLOR 2, 9
CLS





SUB Prog (x, y, txt$)
DIM a$
LOCATE x, y
COLOR 4, 9
PRINT txt$; "   Beliebige Taste druecken, um ins Hauptmenue zu gelangen"
a$ = INKEY$
WHILE a$ = ""
    a$ = INKEY$
WEND
END SUB



hab auch versucht call Prog wegzulassen oder andere farben einzufügen, es will einfach nicht mit dem Kopf durch die Mauer wollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4597
Wohnort: ~/

BeitragVerfasst am: 19.10.2015, 17:29    Titel: Antworten mit Zitat

Bei mir sieht das jetzt nicht anders aus, als ich es bei den verwendeten Angaben erwarten würde, deshalb habe ich mal ein Bild hochgeladen (als Werte habe ich 1, 2, 3, 4 genommen ...).
Sieht es bei dir anders aus (abgesehen von der Fensterleiste), bzw. wenn nicht, in welchem Bereich sieht es anders aus als gewünscht?


_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Matze83



Anmeldungsdatum: 27.07.2015
Beiträge: 29

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

sorry hätte es offensichtlicher machen *verzeiht* lächeln

die Darstellung des Garphen ist korrekt aber du siehst das unter " beliebige Taste ..." ein blaustich vorhanden ist... der zieht sich dann bis ins Hauptmenü weiter ....
habe es hier mal offentsichtlicher dargestellt... so sieht es in meiner Programmierung dann auch aus ...

Code:

DIM a#, b#, c#, d#


'Menuetexte laden
mentxt$(1) = "1 Thema "
mentxt$(2) = "2 Thema "
mentxt$(3) = "3 Thema "
mentxt$(4) = "4 Thema "
mentxt$(5) = "5 Thema "
mentxt$(6) = "6 Thema "
mentxt$(7) = "7 Darstellung des Graphen "
mentxt$(8) = "8 Thema "
CLS


'Darstellung einer Funktion dritten grades
INPUT " wert eingeben"; a#
INPUT " wert eingeben"; b#
INPUT " wert eingeben"; c#
INPUT " wert eingeben"; d#


DO
    LOCATE 5, 36
    PRINT " M E N U E "

    FOR i% = 1 TO 8
        LOCATE 8 + i%, 11
        PRINT mentxt$(i%)
    NEXT i%
    'Eingabe abfragen nur anzeigen
    LOCATE 20, 11
    PRINT " Auswahl eingeben:_"
    DO
        auswahl% = VAL(INKEY$)
    LOOP UNTIL auswahl% > 0 AND auswahl% < 10
    CLS
    '
    SELECT CASE auswahl%
        CASE 1
        CASE 2
        CASE 7


            'Umschalten in den Grafikmodus 640x480 Pixel
            SCREEN 12

            'Sichtfenster im Grafikmodus festlegen fr Randabstand beginn x-Achse ab 10 bis 630 von 640x480
            VIEW (10, 470)-(630, 10)

            'Koordinatenursprung ind die Fenstermitte legen und Fenster skalieren nach D und W
            WINDOW (-10, -10)-(10, 10)

            'Koordinatenachsen zeichen in der Farbe gelb:
            LINE (-10, 0)-(10, 0), 14
            LINE (0, -10)-(0, 10), 14

            'x-Achse mit Strichen skalieren:
            FOR i% = -10 TO 10
                LINE (i%, 0.1)-(i%, -0.1), 14
            NEXT i%

            FOR i% = -10 TO 10
                LINE (-0.1, i%)-(0.1, i%), 14
            NEXT i%

            'Graph punktweise einzeichnen: Punktfarbe in Rot   Funktion
            FOR x! = -10.4 TO 10.4 STEP 0.000001
                y! = a# * x! ^ 3 + b# * x! ^ 2 + c# * x! + d#
                PSET (x!, y!), 12
            NEXT x!

            'Ableitfunktion erstellen
            FOR x! = -6.4 TO 6.4 STEP 0.000001
                y1! = a# * 3 * (x!) + b# * 2 * (x!) + c#
                PSET (x!, y1!), 13
            NEXT x!




            CALL Prog(24, 5, "")
            COLOR 2, 9
            CLS

    END SELECT
    'CLS
LOOP UNTIL auswahl% = 9
CLS





SUB Prog (x, y, txt$)
DIM a$
LOCATE x, y
COLOR 4, 9
PRINT txt$; "   Beliebige Taste druecken, um ins Hauptmenue zu gelangen"
a$ = INKEY$
WHILE a$ = ""
    a$ = INKEY$
WEND
END SUB


ich möchte die origninal farbe wieder haben und nicht diese blaue verfärbung lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1211
Wohnort: Ruhrpott

BeitragVerfasst am: 20.10.2015, 12:11    Titel: Antworten mit Zitat

Ist das so schwer??? verwundert
Code:

...
            'Ableitfunktion erstellen
            FOR x! = -6.4 TO 6.4 STEP 0.000001
                y1! = a# * 3 * (x!) + b# * 2 * (x!) + c#
                PSET (x!, y1!), 13
            NEXT x!




            CALL Prog(24, 5, "")
            COLOR 7, 0 '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
            CLS

    END SELECT
    'CLS
LOOP UNTIL auswahl% = 9
CLS





SUB Prog (x, y, txt$)
DIM a$
LOCATE x, y
COLOR 7, 0 '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
PRINT txt$; "   Beliebige Taste druecken, um ins Hauptmenue zu gelangen"
a$ = INKEY$
WHILE a$ = ""
    a$ = INKEY$
WEND
END SUB


Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Matze83



Anmeldungsdatum: 27.07.2015
Beiträge: 29

BeitragVerfasst am: 20.10.2015, 20:17    Titel: Antworten mit Zitat

für mich joa lächeln
lach... danke für eure Hilfe... Jetzt nur noch meine Farbe hinzufügen dann passt es

Danke dir vielmals
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 FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4
Seite 4 von 4

 
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