 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
CHESSBOARDER
Anmeldungsdatum: 30.07.2006 Beiträge: 4
|
Verfasst am: 30.07.2006, 10:59 Titel: Zeichenfolgen vom Bildschirm ablesen |
|
|
Hallo, bin neu hier...
Bin aber kein Neuling in Sachen QBasic.
Es gibt da aber einen Befehl, den ich einfach vergessen habe.
Und zwar: Wie kann man nochmal Zeichen bzw Zeichenfolgen
vom Bildschirm ablesen? Mit welchem Befehl ging das nochmal?
Gruß
Andy |
|
Nach oben |
|
 |
pinkpanther

Anmeldungsdatum: 28.05.2005 Beiträge: 79 Wohnort: Wien
|
Verfasst am: 30.07.2006, 11:27 Titel: |
|
|
Auszug aus der QBasic 4.5-Hilfe:
Zitat: | SCREEN ist eine Graphikfunktion, die den ASCII Wert eines Zeichens oder dessen Farbe von einer spezifizierten Bildschirmstelle einliest.
Syntax
SCREEN (Zeile,Spalte[,Farbparameter])
■ Zeile ist die Zeilennummer der Bildschirmstelle.
■ Spalte ist die Spaltennummer der Bildschirmstelle.
■ Wenn Farbparameter (Flag) nicht benutzt wird oder den Wert 0 hat, wird der ASCII-Code des Zeichens zurückgegeben. Jeder Wert ungleich Null gibt die Nummer der Farbe an. |
_________________ lG
pinkpanther  |
|
Nach oben |
|
 |
CHESSBOARDER
Anmeldungsdatum: 30.07.2006 Beiträge: 4
|
Verfasst am: 30.07.2006, 11:52 Titel: |
|
|
pinkpanther hat Folgendes geschrieben: | Auszug aus der QBasic 4.5-Hilfe:
Zitat: | SCREEN ist eine Graphikfunktion, die den ASCII Wert eines Zeichens oder dessen Farbe von einer spezifizierten Bildschirmstelle einliest.
Syntax
SCREEN (Zeile,Spalte[,Farbparameter])
■ Zeile ist die Zeilennummer der Bildschirmstelle.
■ Spalte ist die Spaltennummer der Bildschirmstelle.
■ Wenn Farbparameter (Flag) nicht benutzt wird oder den Wert 0 hat, wird der ASCII-Code des Zeichens zurückgegeben. Jeder Wert ungleich Null gibt die Nummer der Farbe an. |
|
Danke, aber die Screenfunktion liefert ja nur den ASCII-Code bzw.
das Attribut zurück. Ich müsste also ständig in Buchstaben umrechnen
lassen.
Ich habe noch in Erinnerung, dass das wesentlich einfacher ging....
Irgendwie so als Beispiel:
Code: |
DIM Buchstabe AS STRING
LOCATE 5,5
PRINT "A"
Buchstabe = Befehl (Zeile, Spalte, Länge) in diesem Fall also (5,5,1)
PRINT Buchstabe
END
|
|
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 30.07.2006, 14:15 Titel: |
|
|
CHESSBOARDER hat Folgendes geschrieben: | Danke, aber die Screenfunktion liefert ja nur den ASCII-Code bzw.
das Attribut zurück. Ich müsste also ständig in Buchstaben umrechnen
lassen.
Ich habe noch in Erinnerung, dass das wesentlich einfacher ging.... |
Ist ein chr$() Aufwendig?
also
Code: | B$=chr$(Screen(1,1)) |
wenn das wirklich der Fall ist, dann schreib eine eigene Funktion z.B.
Code: | DECLARE FUNCTION sign$ (zeile!, spalte!, lang!)
CLS
PRINT "Hallo Welt"
a$ = sign$(1, 1, 7)
PRINT a$
FUNCTION sign$ (zeile, spalte, lang)
FOR i = 0 TO (lang - 1)
temp$ = temp$ + CHR$(SCREEN(zeile, spalte + i))
NEXT i
sign$ = temp$
END FUNCTION |
_________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
pinkpanther

Anmeldungsdatum: 28.05.2005 Beiträge: 79 Wohnort: Wien
|
Verfasst am: 30.07.2006, 16:18 Titel: |
|
|
Zitat: | Ich habe noch in Erinnerung, dass das wesentlich einfacher ging....
Irgendwie so als Beispiel:
Code:
DIM Buchstabe AS STRING
LOCATE 5,5
PRINT "A"
Buchstabe = Befehl (Zeile, Spalte, Länge) in diesem Fall also (5,5,1)
PRINT Buchstabe
END |
Eine derartige Funktion ist nicht im QuickBasic-Sprachumfang enthalten.
Wie Michael bereits geschrieben hat, kannst du dir diese Funktion natürlich selber bauen. Wenn du darin allerdings die SCREEN-Funktion aufrufst (wie in Michaels Beispiel), kannst du dir davon logischerweise keine Verbesserung der Effizienz gegenüber dem direkten Aufruf der SCREEN-Funktion erwarten.
Diesen Zweck könnte allenfalls eine in ASM geschriebene Prozedur erfüllen. Aber du suchst ja ausdrücklich nach einem QuickBasic Befehl, den es - wie gesagt - leider nicht gibt. _________________ lG
pinkpanther  |
|
Nach oben |
|
 |
|
|
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.
|
|