ProgrammEditor in QBasic

Für Fragen bezüglich QBasic (programmieren, Suche nach Programmen etc.) gibt es dieses Forum.

Moderator:Administrator

Locked
Guest
ProgrammEditor in QBasic

Post by Guest » Sat Mar 22, 2003 3:00 pm

Hallo,
ich habe da schon länger ein Problem, ich finde den fehler in meinen Programm nicht... Bitte schaut euch mein Programm mal an, vielleicht entdeckt ihr ja den fehler.
Kopiert das Programm und startet es. Es sind zwei Dateien: Eine Prog.Datei und die zweite ist die zu öffnende Textdatei. mit pfeil auf und ab könnt ihr die datei durchblättern und mit space die zeile zum editieren aufrufen. wenn ihr dann mir enter später die zeile bestätigt kommt eine fehlermeldung...


CLS
editzeilen = 150
programmnummer$ = "%10000.nc"


DIM lines1(editzeilen) AS STRING


OPEN programmnummer$ FOR INPUT AS #1
rq = 1
ret:
DO WHILE NOT EOF(1)
aq = aq + 1
IF aq > 100 AND rq = 1 THEN REDIM lines(1000): aq = 0: rq = 0: GOTO ret
LINE INPUT #1, lines1(aq)
LOOP
CLOSE 1

bq = 1
Anzeige:
COLOR 9, 1
LOCATE 13, 3: PRINT SPC(30);
LOCATE 13, 3: PRINT lines1(bq)
COLOR 10, 6
LOCATE 14, 3: PRINT SPC(30);
LOCATE 14, 3: PRINT lines1(bq + 1)
COLOR 9, 1
LOCATE 15, 3: PRINT SPC(30);
LOCATE 15, 3: PRINT lines1(bq + 2)
LOCATE 16, 3: PRINT SPC(30);
LOCATE 16, 3: PRINT lines1(bq + 3)
LOCATE 17, 3: PRINT SPC(30);
LOCATE 17, 3: PRINT lines1(bq + 4)
LOCATE 18, 3: PRINT SPC(30);
LOCATE 18, 3: PRINT lines1(bq + 5)
ck:
DO:
ckey$ = INKEY$
COLOR 0: LOCATE 23, 54: PRINT TIME$
LOOP UNTIL LEN(ckey$)
IF ckey$ = (CHR$(0) + CHR$(59)) THEN GOTO 200' manueller betrieb
IF ckey$ = (CHR$(0) + CHR$(60)) THEN GOTO 300 ' einrichte betrieb
IF ckey$ = (CHR$(0) + CHR$(61)) THEN GOTO 400 ' automatik betrieb
IF ckey$ = CHR$(27) THEN GOTO 500 ' Programm beenden
IF ckey$ = CHR$(32) THEN GOSUB zeileeditieren 'Zeileeditieren
IF ckey$ = (CHR$(0) + CHR$(63)) THEN GOTO 80000 ' MDI$
IF ckey$ = ((CHR$(0) + CHR$(80))) THEN
bq = bq + 1
IF bq > aq THEN bq = aq
GOTO Anzeige
END IF
IF ckey$ = ((CHR$(0) + CHR$(72))) THEN
bq = bq - 1
END IF
IF bq < 1 THEN bq = 1
GOTO Anzeige


zeileeditieren:

LOCATE 14, 3: PRINT SPC(30);
COLOR 10, 6
LOCATE 14, 3: INPUT inputtext$


COLOR 9, 1
OPEN programnummer$ FOR OUTPUT AS #bq
WRITE #bq, inputtext$
CLOSE #bq

RETURN



200
300
400
500
80000



die zu öffnende datei hat den namen %10000.nc .
legt sie an und schreibt ein paar zeilen hinein...

User avatar
crossroads
Administrator
Posts:34
Joined:Wed Feb 13, 2002 10:15 pm
Location:Germany
Contact:

Re: ProgrammEditor in QBasic

Post by crossroads » Mon Mar 24, 2003 10:33 am

Die Fehlermeldung "Bad File Name" kommt durch einen simplen Tippfehler zustande: die Variable für den Dateinamen ist falsch geschrieben - es fehlt schlichtweg ein m:

Code: Select all

COLOR 9, 1 
OPEN programnummer$ FOR OUTPUT AS #bq 
WRITE #bq, inputtext$ 
CLOSE #bq 

Richtig muß es heißen: programmnummer$

Code: Select all

COLOR 9, 1 
OPEN programmnummer$ FOR OUTPUT AS #bq 
WRITE #bq, inputtext$ 
CLOSE #bq 

crossroads (QBCafe Forum Admin)

Locked