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:

Speicherbereich Grafikkarte

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 25.07.2006, 20:38    Titel: Speicherbereich Grafikkarte Antworten mit Zitat

Weiß jemand zufällig aus welchem Speicherbereich sich die Grafikkarte die Bildinformationen holt und wieviel davon ein Pixel belegt?


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 25.07.2006, 21:56    Titel: Antworten mit Zitat

Hi,

das kommt immer drauf an.
Die Grafikkarte selber hat ein OnBoard-Ram in dem alle Grafiken gespeichert werden.
Ein Ausschnitt dieses Speichers auf der Grafikkarte wird im normalen RAM gespiegelt an Adresse A000:0000 (64Kb).
Und wieviel Byte nun ein Pixel belegt ist von der Farbtiefe abhängig.
Bei 256 sinds 1 Byte pro Pixel, bei 16,7Mc sinds 3 Byte.

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 26.07.2006, 20:11    Titel: Antworten mit Zitat

Wie greif ich mit PEEK darauf zu, denn A000:0000 kann ich ja so nicht in die PEEk-Anweisung eingeben happy

Du hast geschrieben das in diesem Speicherbereich nur ein Teil des Bildes gespeichert wird. Ich benötige allerdings den ganzen Bildschirminhalt... Also brauche ich eigentlich den Bereich OnBoard, oder hab ich das falsch verstanden? verlegen


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

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

Wenn ich mich recht erinnere nennt es sich Bank Switching. Das heißt, das immer nur ein 64-Kilobyte-Fenster für dich sichtbar ist. Dieses Fenster kannst du verschieben, sodass du auch auf die anderen Stellen zugreifen kannst, die momentan nicht nach 0xA000 gemappt sind. lächeln
Ich glaube, auf A.K.'s Seite hab' ich sowas gesehen. Wenn du allerdings in Mode 13h bist, dann kannst du auf das ganze Bild zugreifen, da 320*200 = 64 Kilobyte. Achja, das stimmt nur, solange die Farbanzahl bei 256 bleibt, damit du die in 8 Bit (1 Byte) unterbringen kannst. Ändert sich die Auflösung oder die Farbtiefe, dann wirst du wahrscheinlich um Bank Switching nicht herum kommen. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 26.07.2006, 20:21    Titel: Antworten mit Zitat

Hi,

Elvis hat Folgendes geschrieben:
Wie greif ich mit PEEK darauf zu, denn A000:0000 kann ich ja so nicht in die PEEk-Anweisung eingeben happy


Unter QB greifst du per Segment und Offset auf Speicherstellen zu.
Die dazugehörigen Befehle sind PEEK/POKE.

Um den allerersten Pixel direkt in den Speicher zu schreiben kannst du folgendes Programm benutzen:
Code:

SCREEN 13
DEF SEG = &HA000
farbe%=10
POKE 0,farbe%



Elvis hat Folgendes geschrieben:

Du hast geschrieben das in diesem Speicherbereich nur ein Teil des Bildes gespeichert wird. Ich benötige allerdings den ganzen Bildschirminhalt... Also brauche ich eigentlich den Bereich OnBoard, oder hab ich das falsch verstanden? verlegen


Für den Grafikmodus 13 aus Qbasic werden nur 64000Byte benötigt. Diese wiederum passen locker in den RAM-Abschnitt A000:0000.

Wenn du den ganzen Speicher nutzen möchtest würde ich dir die (meist) standardisierte VESA-Schnittstelle vorschlagen. Hier ein Tutorial dazu wo du alles findest was du benötigst:
http://www.iconsoft.de/index.php?show=tutorial_svga

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 27.07.2006, 20:44    Titel: Antworten mit Zitat

Danke für die Hilfe, hab's (glaube ich zwinkern ) gut kapiert... lächeln

Noch eine Frage:
Dass PEEK und POKE sehr schnell ist, weiß ich.
Aber was ist mit der Geschwindigkeit von Variablenzuweisungen in Arrays und anschließendem Eintrag in eine Datei.

=> Der Grund ist, ich will einen Screenshot machen... Dieser sollte eben nach Möglichkeit so schnell sein, dass man nichts davon merkt... Geht das? verwundert durchgeknallt

Der Plan: Einlesen per PEEK des Bildschirminhalts.
Speicherung der Informationen in ein Array.
Speicherung in eine Datei (hängt die Geschwindigkeit der Speicherung vom Modus ab?).


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 27.07.2006, 21:35    Titel: Antworten mit Zitat

Hi,

also mit PEEK und POKE wirst du aus Geschwindigkeitsgründen nicht glücklich werden.
Da würd ich dir ein wenig Interrupttechnik empfehlen.
http://www.iconsoft.de/index.php?show=tutorial_int

Der Dos-Interrupt &H21 stellt direkte Funktionen zum Dateihandling zur Verfügung.

die erste Funktion; Datei erstellen.
Bitte dazu die Register wie im Int-Tutorial TYPE'en und DIM'en.
Code:

datei$="datei.dat" + CHR$(0)
reg.ax=&H3C00
reg.cx = fileattribut%
reg.ds=varseg(datei$)
reg.dx=sadd(datei$)
CALL INTERRUPTX (&H21,reg,reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt
filehandle%=reg.ax


2. Datei öffnen
Code:

datei$="datei.dat" + CHR$(0)
reg.ax=&H3D01            '01 = write-only
reg.ds=varseg(datei$)
reg.dx=sadd(datei$)
CALL INTERRUPTX (&H21,reg,reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt
filehandle%=reg.ax


3. Datei "beschreiben"
Code:

reg.ax=&H4000           
reg.bx = filehandle%
reg.cx = anzahlbytes%
reg.ds=&HA000      ' VideoRam als Quelle angeben
reg.dx=0               '
CALL INTERRUPTX (&H21,reg,reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt


4. Datei schließen
Code:

reg.ax=&H3E00           
reg.bx = filehandle%
CALL INTERRUPTX (&H21,reg,reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt



MFG A.K.

EDIT:
Bei "Datei beschreiben" noch die Anzahl der Bytes hinzugefügt.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 28.07.2006, 13:40    Titel: Antworten mit Zitat

Hi,

Ich hab' im QBasic Index noch folgendes Programm entdeckt:
Code:

'Ruft eine Routine auf, die den Bildschirminhalt auf dem Drucker druckt.
DIM a%(2)
DEF SEG = VARSEG(a%(0))
FOR i% = 0 TO 2
 READ d%
 POKE VARPTR(a%(0)) + i%, d%
NEXT i%
DATA 205, 5, 203 : ' int 5 retf  'Code in Maschinensprache
                                             'zum Drucken des Bildschirminhalts.
CALL ABSOLUTE(VARPTR(a%(0)))
DEF SEG


Eigentlich müsste man das ja dann auch in eine Datei drucken können, oder ist dieses Programm wegen POKE usw. zu langsam? neutral


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

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

Hi,

also die Routine die du da hast kannst du dafür nicht einsetzen.
In diesem Programm wird der Interrupt 5h verwendet der einfach nur den Bildschirminhalt an den Drucker sendet. Dieser Interrupt wird übrigens auch von der Taste "Druck S-Abf" oder "Print Screen" aufgerufen. Bei Windows steckt hinter der "Druck"-Tasten-Abfrage ein anderes Programm; von wegen Zwischenablage und so. Ist also für deine Zweck nicht einsetzbar.

Wie gesagt, am besten die ganz oben beschriebenen Interrupte fürs Dateihandling benutzen

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 29.07.2006, 18:09    Titel: Antworten mit Zitat

Der Code funktioniert irgendwie nicht (zumindest steht nichts in der erstellten Datei). Habs auf zwei PC's ausprobiert... geschockt
Code:

REM $INCLUDE: 'C:\QB.BI'

DIM SHARED reg AS regtypex

datei$ = "datei.txt" + CHR$(0)
reg.ax = &H3C00
reg.cx = fileattribut%
reg.ds = VARSEG(datei$)
reg.dx = SADD(datei$)
CALL INTERRUPTX(&H21, reg, reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt
filehandle% = reg.ax

datei$ = "datei.txt" + CHR$(0)
reg.ax = &H3D01          '01 = write-only
reg.ds = VARSEG(datei$)
reg.dx = SADD(datei$)
CALL INTERRUPTX(&H21, reg, reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt
filehandle% = reg.ax

reg.ax = &H4000
reg.bx = filehandle%
reg.cx = anzahlbytes%
reg.ds = &HA000    ' VideoRam als Quelle angeben
reg.dx = 0             '
CALL INTERRUPTX(&H21, reg, reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt

reg.ax = &H3E00
reg.bx = filehandle%
CALL INTERRUPTX(&H21, reg, reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt



Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 29.07.2006, 18:12    Titel: Antworten mit Zitat

Wegen INT 05h:
Man kann sich in den Interrupt einklinken, und ihn so verändern, dass er den Bildschirminhalt in eine Datei "Druckt".
Siehe Adok's ASM- Kurs, letzter Teil.
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 29.07.2006, 18:15    Titel: Antworten mit Zitat

Hi! lächeln
Ich hätte jetzt eher einen Verweis auf einen Thread im QB-Forum gepostet, da schauen denk ich mal mehr Leute rein, oder?
Liegt deine QB.BI auch im Laufwerk C: auf unterster Ebene?
Ich glaube, ich weiß worans liegt: Du hast den Typ "regtypex" nicht deklariert (sofern der nicht in der QB.BI steht).
Dann würde ein einfaches:
Code:

TYPE regtypex
  AX AS INTEGER
  BX AS INTEGER
  CX AS INTEGER
  DX AS INTEGER
  SI AS INTEGER
  DI AS INTEGER
  ES AS INTEGER
  DS AS INTEGER
  CS AS INTEGER
  Flags AS INTEGER
END TYPE

Unter der Include-Anweisung das mal einfügen und ausprobieren. Desweiteren wär's hilfreich zu wissen, was nicht funktioniert. zwinkern

PS: Ich weiß, dass ich bestimmte Register hätte nicht in den Typ mit 'reinnehmen müssen. Manche BIOS-Ints erfordern sie aber. lächeln

Grüße,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 30.07.2006, 10:41    Titel: Antworten mit Zitat

Wenn ich das einfüge ist es eine doppelte Definition... neutral

Ich hab QB.BI in die unterste Ebene gemacht, weil ich zu faul bin, auch noch einen Haufen Ordnerangaben zu machen... happy
Gibt sowieso meistens Fehler... cool

Zitat:

Desweiteren wär's hilfreich zu wissen, was nicht funktioniert. zwinkern

Ich hab' geschrieben, dass in der erstellten Datei nichts steht... mit den Augen rollen zwinkern
Vielleicht hab ichs auch schlecht erklärt... cool :

Das Programm ist dazu da, den Bildschirminhalt in eine Datei zu schreiben. Das Problem ist, dass nichts in der Datei steht. lachen


Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 30.07.2006, 20:53    Titel: Antworten mit Zitat

Sorry jetzt für die dumme Frage, aber: hast du vorher auch was auf den Bildschirm geschrieben bzw. im Programm gemacht? Wenn ja, zeig mal den restlichen Code.
Ich kanns halt nicht ausprobieren, da ich allgemein ernsthafte Probleme mit ntvdm + meinem Keyboard hab, die ich auch durch Neuinstallation nicht lösen konnte. verwundert
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elvis



Anmeldungsdatum: 01.06.2006
Beiträge: 818
Wohnort: Deutschland, BW

BeitragVerfasst am: 31.07.2006, 18:25    Titel: Antworten mit Zitat

Also eigentlich steht immer was auf dem Bildschirm, denn ich hab' ins Programm kein CLS eingebaut, sodass noch die Bildschirmausgaben von der MS-DOS Eingabeaufforderung zu sehen sind. neutral

Code:

REM $INCLUDE: 'C:\QB.BI'


DIM SHARED reg AS regtypex
datei$ = "datei.txt" + CHR$(0)
reg.ax = &H3C00
reg.cx = fileattribut%
reg.ds = VARSEG(datei$)
reg.dx = SADD(datei$)
CALL INTERRUPTX(&H21, reg, reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt
filehandle% = reg.ax

datei$ = "datei.txt" + CHR$(0)
reg.ax = &H3D01          '01 = write-only
reg.ds = VARSEG(datei$)
reg.dx = SADD(datei$)
CALL INTERRUPTX(&H21, reg, reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt
filehandle% = reg.ax

reg.ax = &H4000
reg.bx = filehandle%
reg.cx = anzahlbytes%
reg.ds = &HA000    ' VideoRam als Quelle angeben
reg.dx = 0             '
CALL INTERRUPTX(&H21, reg, reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt

reg.ax = &H3E00
reg.bx = filehandle%
CALL INTERRUPTX(&H21, reg, reg)
'Wenn das Carryflag nicht gesetzt wird hats geklappt



Grüße, Elvis
_________________
Geforce 7300GT (256MB GDDR3, Gainward) -- 2x 512MB (DDR2 800, MDT) -- AMD Athlon64 X2 EE 3800+ -- Asrock ALiveNF5-eSATA2+
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 31.07.2006, 21:22    Titel: Antworten mit Zitat

Elvis hat Folgendes geschrieben:
Also eigentlich steht immer was auf dem Bildschirm, denn ich hab' ins Programm kein CLS eingebaut, sodass noch die Bildschirmausgaben von der MS-DOS Eingabeaufforderung zu sehen sind. neutral


mit den Augen rollen

Hi,

ja wenn du natürlich Text (Text <> Grafik mit dem Kopf durch die Mauer wollen ) meinst den du speichern willst dann sieht das ein wenig anders aus. Denn der liegt nicht bei &HA000 im Ram sondern bei &HB800 im Ram und hat eine Länge von 2000 Byte (&H7D0). Versuch die Adresse mal bitte.
Ansonsten würd mich noch interessieren welche Größe die angelegte Datei hat.

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 01.08.2006, 21:11    Titel: Antworten mit Zitat

...kurze Zwischenfrage; mich interessiert folgendes, was ich noch nie gesehen habe:

reg.cx = fileattribut%
reg.ds=varseg(datei$)
ist das unter FB oder QB? Eine andere Art um Assemblerbefehle einzubinden oder Registerinhalte zu verändern?

QB habe ich erst heute mal kurz angeschaut. Kann man dort Programme nur aus QB selbst starten, nachdem QB geöffnet wurde?

Danke lächeln
_________________
...längre blomstre gamle nord...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 01.08.2006, 21:15    Titel: Antworten mit Zitat

So kann nur QB mit Interrupts umgehen.
Einen Inline-Assembler gibt es in QB nicht, du kannst nur mittels eines selbstdefinierten Register-Typs Interrupts aufrufen (über CallInterruptX oder so ähnlich grinsen).
So gesehen ist es eine Art Registerinhalte zu verändern, jedoch werden nicht die echten Register des Prozessors verändert, sondern diese, die du in deinem Array angegeben hast. Dieses Array wird beim Interruptaufruf über CallInterruptX mit übergeben. lächeln
Alle Ein- und Ausgaben erfolgen über diesen selbstdefinierten Register-Typ.

Assembler musst du in QB erst assemblieren (mit einem Assembler) und den erzeugten Hex-Code (flat binary) in QB kopieren. Frag mich nicht, wie das genau geht, ich weiß es nicht - ich hab's noch nie gebraucht. zwinkern
Aber du kannst mal auf A.K.'s Site unter "Tutorials" nachsehen, da sollte das erklärt werden - viel besser und viel genauer, als ich das jetzt kann (eben darum, weil ich's noch nie gebraucht hab - jedenfalls nicht in QB). lächeln

Grüße,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 02.08.2006, 06:40    Titel: Antworten mit Zitat

Ach so geht das!

QB ist ja ein Interpreter, hat keinen Compiler... So muss man um Programme zu starten jedesmal QB öffnen?
_________________
...längre blomstre gamle nord...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 02.08.2006, 19:07    Titel: Antworten mit Zitat

c.m.obrecht hat Folgendes geschrieben:
Ach so geht das!

QB ist ja ein Interpreter, hat keinen Compiler... So muss man um Programme zu starten jedesmal QB öffnen?

...
...
Schon mal was von QuickBasic 4.5 oder QuickBasic 7.1 gehört?
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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