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:

Qbasic -> FreeBASIC

 
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
oiermann



Anmeldungsdatum: 28.12.2005
Beiträge: 90
Wohnort: Leutkirch

BeitragVerfasst am: 29.05.2007, 18:54    Titel: Qbasic -> FreeBASIC Antworten mit Zitat

Jetzt muss ich euch schon wieder damit nerven, ich hoff ihr seid böse Zunge rausstrecken

Zum Problem. Das Programm von Skilltronics zur Ausgangserweiterung (4094.exe) geht bei mir unter Windows einwandfrei. Nur will ich es endlich auch auf Linux haben allerdings mault FreeBASIC rum und ich weiss nicht wie ich das beheben könnte.
Code:

$ fbc 4094.bas

4094.bas(7) : error 1: Argument count mismatch, expanding: BIT

   IF bit(wert) = 0 THEN bit(wert) = 64 ELSE bit(wert) = 0
              ^
4094.bas(9) : error 1: Argument count mismatch, expanding: BIT

   OUT 1019, bit(takt)
                     ^


Und hier der Quellcode:
Code:

schleife:
   taste$ = INKEY$
   IF taste$ = "" THEN GOTO schleife
   IF taste$ = CHR$(27) THEN END        ' Abbruch mit ESC
   wert = ASC (taste$) - 48
   IF wert < 1 OR wert > 8 THEN GOTO schleife
   IF bit(wert) = 0 THEN bit(wert) = 64 ELSE bit(wert) = 0
   FOR takt = 1 TO 8
   OUT 1019, bit(takt)
   OUT 1020, 1    ' DTR schalten
   OUT 1020, 0
   NEXT
   OUT 1020, 2            ' RTS schalten
   OUT 1020, 0
   OUT 1019, 0            ' TxD aus falls bit(8) = 1 war
   GOTO schleife


Ich wollte vorhin und gerade schon in der Referenz nachsehen was da zu "BIT" steht, aber die Seite ist im Moment down...[/quote]
_________________
Ich bin keine Signatur, ich putz hier nur
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 29.05.2007, 20:39    Titel: Antworten mit Zitat

FB-Referenz hat Folgendes geschrieben:
Syntax: BIT(Ausdruck, BitNr)
Typ: Funktion
Kategorie: Bitmanipulation

BIT wird benutzt, um zu prüfen, ob das Bit an der Stelle 'BitNr' gesetzt
ist. Wenn ja, gibt BIT true (-1) aus, ansonsten false (0).

BIT erfüllt die selbe Funktion wie
(Ausdruck AND BitNr SHL BitNr) > 0

Beispiel:
foo = 1024
PRINT BIT( foo, 10 )
PRINT (foo AND 10 SHL 10) > 0Ausgabe:
-1
-1

Siehe auch:
BITSET, BITRESET, BIN
hth, oder brauchste die anderen Befehle auch noch?
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
oiermann



Anmeldungsdatum: 28.12.2005
Beiträge: 90
Wohnort: Leutkirch

BeitragVerfasst am: 29.05.2007, 21:02    Titel: Antworten mit Zitat

Hmmm also entweder erklärst du mir das noch (ich raffs irgendwie nicht) oder postest die anderen beiden und ich kann den Sinn eventuell erschliessen *schäm*
_________________
Ich bin keine Signatur, ich putz hier nur
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 29.05.2007, 21:16    Titel: Antworten mit Zitat

FB-Referenz hat Folgendes geschrieben:
BITSET
Syntax: BITSET(Ausdruck, BitNr)
Typ: Funktion
Kategorie: Bitmanipulation

BITSET gibt den Wert von 'Ausdruck' zurück, bei dem das Bit an der Stelle 'BitNr'
gesetzt wurde.

BITSET erfüllt die selbe Funktion wie
Ausdruck OR (1 SHL BitNr)

Beispiel:
foo = 128
PRINT BITSET( foo, 6 )
PRINT foo OR (1 SHL 6)Ausgabe:
192
192

Siehe auch:
BIT, BITRESET, BIN

und der Letzte
FB-Referenz hat Folgendes geschrieben:
BITRESET
Syntax: BITRESET(Ausdruck, BitNr)
Typ: Funktion
Kategorie: Bitmanipulation

BITRESET gibt den Wert von 'Ausdruck' zurück, bei dem das Bit an der Stelle
'BitNr' gelöscht wurde.

BITRESET erfüllt die selbe Funktion wie
Ausdruck AND NOT (1 SHL BitNr)

Beispiel:
foo = 192
PRINT BITRESET( foo, 6 )
PRINT foo AND NOT (1 SHL 6)Ausgabe:
128
128

Siehe auch:
BIT, BITSET, BIN

_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 29.05.2007, 21:17    Titel: Antworten mit Zitat

Bit ist in dem Fall ein Array, das sich sozusagen den Zustand des Schieberegisters merkt.
Code:
#undef BIT
DIM BIT(1 TO 8) AS UBYTE

müsste gehen.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
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 -> Allgemeine Fragen zu FreeBASIC. 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