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:

Probleme mit Bibliothek in QB4.5

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



Anmeldungsdatum: 21.11.2004
Beiträge: 23
Wohnort: Brachttal ca 40km von Hanau

BeitragVerfasst am: 21.11.2004, 02:20    Titel: Probleme mit Bibliothek in QB4.5 Antworten mit Zitat

Hallo,
habe qb mit dem Parameter /L gestartet, trotzdem bringt es mir bei folgendem immer die Meldung
Unterprogramm nicht definiert

Code:

'Toolname: ERRORLEVEL                                   (c)'98 by TT Soft
'Aufgabe: Anweisung zum Beenden eines Programmes und der
'Rueckgabe eines Parameters (ERRORLEVEL) an das rufende
'Programm (bzw. DOS). 
'Hinweise: In der Variable ERRORLEVEL wird die Zahl die
'zurueckgegeben werden soll eingetragen.
'ACHTUNG: Diese Zahl wird nicht geprueft! Sollte Sie groesser als
'255 sein koennte das zu unkontrollierten Reaktionen bzw. einem
'Absturz fuehren.
'Benutzt DOS API (21h); Funktion 4Ch.
'Variablen: ERRORLEVEL; REG.XX
'$INCLUDE: 'QB.BI'
 ERRORLEVEL = 5:   '-------------------> Hier Zahl eintragen
 REG.AX = 19456 + ERRORLEVEL: '---> 19456 = 4C00h
 CALL INTERRUPT(33, REG, REG): '--->    33 = 21h


In der Verknuepfung von Windows ist das Verzeichnis, in der die Dateien von QB4.5 (inklusive QB.QLB) sind als Arbeitverzeichnis eingetragen. Die BAS befindet sich auch dort.
weinen durchgeknallt :fragezeichen:

Vielen Dank für eure Mühe schon im voraus.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5900
Wohnort: Deutschland

BeitragVerfasst am: 21.11.2004, 12:02    Titel: Hm... Antworten mit Zitat

Hallo.

Lad dir mal von QBasic.de QB 4.5 neu runter (Downloadlink) und entpack es in einen Ordner wie C:\QBASIC45\ und lösch sämtliche PIF Dateien darin.
Dann erstellst du eine Batchdatei (Textdatei mit Endung .BAT) in das Verzeichnis und schreibst da rein:
Code:
@echo off
QB.EXE /L

Dann tust du die BAS-Datei auch in dieses Verzeichnis.
Anschließend startest du QB über diese Batchdatei.

Versuch das mal.

Viele Grüße!
Sebastian
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DirtyHarry



Anmeldungsdatum: 21.11.2004
Beiträge: 23
Wohnort: Brachttal ca 40km von Hanau

BeitragVerfasst am: 22.11.2004, 23:46    Titel: hat schon mal geholfen, aber Antworten mit Zitat

jetzt zeigt er mir: Unverträgliche Parametertypen

CALL INTERRUPT(33, REG, REG): '----------> 33 = 21h

Mein großes Problem ist, bei den 2 mehr oder weniger kleinen Programmen, die ich bisher selbst gemacht habe, blicke ich durch. Aber alles andere ist immer noch irgendwie ein Buch mit 7 Siegeln.

PS: Sorry, das ich mich erst heute wieder gemeldet habe.
_________________
Gruß Andreas
---------
Aller Anfang ist schwer.
Meine Probleme(Ideen) möchte ich keinem anderen zumuten.mit dem Kopf durch die Mauer wollen

Kostenlose Operalizens bei mehr als 250 Klicks:
http://www.opera-for-dryhar.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2459
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.11.2004, 09:22    Titel: Re: hat schon mal geholfen, aber Antworten mit Zitat

DirtyHarry hat Folgendes geschrieben:
jetzt zeigt er mir: Unverträgliche Parametertypen

CALL INTERRUPT(33, REG, REG): '----------> 33 = 21h

REG ist in Deinem Fall eine Record-Variable, die Du mit
Code:
DIM REG AS RegType

noch dimensionieren musst. Oh ja, und auch noch ein Tipp: Hexadezimalkonstanten lassen sich mit "&H" schreiben. Somit musst Du nichts mühsam umrechnen. Schreib also Deinen Code als
Code:
' $INCLUDE: 'qb.bi'
DIM Reg AS RegType
errorlevel% = 2
' DOS 2+ - EXIT - TERMINATE WITH RETURN CODE gemäss
' http://www.ctyme.com/intr/rb-2974.htm
Reg.ax = &H4C00 + errorlevel%
CALL INTERRUPT(&H21, Reg, Reg)

So ist er nämlich viel leserlicher, weil bekanntlich in jeder Dokumentation von DOS-Interrupts die Funktionsnummern immer hexadezimal erscheinen.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DirtyHarry



Anmeldungsdatum: 21.11.2004
Beiträge: 23
Wohnort: Brachttal ca 40km von Hanau

BeitragVerfasst am: 25.11.2004, 20:33    Titel: Jetzt hat alles funktioniert. Antworten mit Zitat

Noch mal danke an euch beide für die Hilfe und für die Geduld bei meinen langen Antwortzeiten.
_________________
Gruß Andreas
---------
Aller Anfang ist schwer.
Meine Probleme(Ideen) möchte ich keinem anderen zumuten.mit dem Kopf durch die Mauer wollen

Kostenlose Operalizens bei mehr als 250 Klicks:
http://www.opera-for-dryhar.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Spezielle Fragen 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