Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
spawn
Anmeldungsdatum: 09.08.2005 Beiträge: 45
|
Verfasst am: 17.08.2005, 23:09 Titel: Schleife parallel |
|
|
Hi,
Ich habe in einem Programm in dem ich einige Parameter eingeben muss ca 15.
Parallel dazu möchte ich einen Hinweis
(LOCATE x, y: PRINT "Hinweis - BLA BLA BLA") ca. 10 mal und periodendauer ca.1 sek. (also unabhängig zur eingabe und parallel dazu).
Eine einfache Schleife dazu wäre ja na Adam Rise:
FOR X = 1 TO 10
FOR Y = 1 TO 2
IF Y = 1 THEN LET Col = 1(blau)
IF Y = 2 THEN LET Col = 4(rot)
COLOR Col
LOCATE S, Z: PRINT "Hinweis!!!"
FOR Z = 1 to 5000000(?): NEXT Z
NEXT Y
NEXT X
Diese muss dan paralel zu diesem Eingabeblock ablaufen ohne von ihm zeitlich beeinflusst zu werden.
Danke
Guido |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 17.08.2005, 23:39 Titel: |
|
|
Hallo
Im Grafikmodus SCREEN 0 kannst du Text blinken lassen, wenn wenn du als Farbwert einen zwischen 16 und 31 benutzt. Die entsprechen denen von 0-15, nur das sie eben blinken. Allerdings nur zwischen Vorder- und Hintergrundfarbe.
also
COLOR 20,0
PRINT "Hinweis!!!"
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
spawn
Anmeldungsdatum: 09.08.2005 Beiträge: 45
|
Verfasst am: 18.08.2005, 00:43 Titel: |
|
|
Hi,
erstmal danke für die Antwort!
Leider muss ich screen 9 oder 12 benutzen.
MFG
Guido |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 18.08.2005, 02:33 Titel: |
|
|
Hallo
Dann kannst du die Eingabe aber nicht mehr mit Input machen, was die Sache sehr umständlich macht.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 18.08.2005, 11:47 Titel: |
|
|
Schau in die MonsterFAQ unter Texteingabe, da steht eine INPUT-Ersatz-Routine.
Zum Thema Unabhängig vom Hauptprogramm: Schau in die MonsterFAQ unter Datum & Uhrzeit,
das steht das mit ON TIMER().
Wenn du einen Grafikmodus verwendest, kannst du die Wartezeiten mit
Code: |
WAIT &H3DA, 8
WAIT &H3DA, 8, 8
|
machen. Das wartet bei einer Bildwiederholfrequenz von 70Hz ~1/70s, da es auf den Bildschirmstrahlrücklauf wartet.
Eine Warteschleife à la
Code: |
FOR d = 1 to wasweissich: NEXT d
|
ist grundsätzlich abzulehnen, da sie sehr instabil ist.
Zum Thema Wartezeiten steht übrigens auch was in der MonsterFAQ.
jb
Zuletzt bearbeitet von jb am 03.09.2005, 11:19, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Unreal

Anmeldungsdatum: 21.08.2005 Beiträge: 3
|
Verfasst am: 21.08.2005, 02:13 Titel: |
|
|
Also...
ich hätte hier folgende Lösung:
Code: | 'Deklarieren der Datenfelder
DIM abfr(1 TO 15) AS STRING
DIM info(1 TO 15) AS STRING
DIM eing(1 TO 15) AS STRING
'Festlegen der Abfragen/Infos
abfr(1) = "Abfrage1": info(1) = "Info1"
abfr(2) = "Abfrage2": info(2) = "Info2"
'...
CLS
'Abfrage-Schleife x15
FOR i% = 1 TO 15
'Zeitvariable zuruecksetzen
t = 0
DO
'Abfrage & Eingabe schreiben
COLOR 15: LOCATE i%, 5
PRINT abfr(i%); ": "; eing(i%); "_ "
DO
'jede Sekunde...
IF t + 1 <= TIMER OR t > TIMER THEN
'Farbe aendern
IF frb% = 1 THEN frb% = 4 ELSE frb% = 1
COLOR frb%
'Info schreiben
LOCATE i%, 40: PRINT info(i%)
'Zeit nehmen
t = TIMER
END IF
'Tastenabfrage
tast$ = INKEY$
LOOP UNTIL tast$ <> ""
'Tastenauswertung...
'Zeichen ab ASCII 32 = Eingabe
IF tast$ >= " " AND LEN(eing(i%)) < 20 THEN eing(i%) = eing(i%) + tast$
'Backspace = letztes Zeichen loeschen
IF tast$ = CHR$(8) AND LEN(eing(i%)) >= 1 THEN eing(i%) = LEFT$(eing(i%), LEN(eing(i%)) - 1)
'ESC = Abbruch
IF tast$ = CHR$(27) THEN SYSTEM
'Enter = Eingabe beendet
LOOP UNTIL tast$ = CHR$(13)
'Ueberfluessige Anzeigen loeschen
COLOR 15: LOCATE i%, 5
PRINT abfr(i%); ": "; eing(i%) + SPACE$(74 - LEN(abfr(i%)) - LEN(eing(i%)))
NEXT i% |
Tja, mir war mal langweilig  |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
|