... please wait while loading ...

To view the complete site without permanently having to scroll, your browser-window should be maximized to support your screen-resolution of .
netgear rp614
foren
  1.566.522 Nedstat Basic - Kostenlose web site statistiken Persönliche Homepage webseite Zähler
Kostenlose Zähler
In memoriam C-BIT Information-Center Hannover (2.241/1075+2.241/1076 - no longer active)
Suchmaschinen-Optimierung Webdesign Hirschfeld Elbe Elster Webdesign Hirschfeld Elbe Elster
Sicherheitshinweis: Wir weisen vorsorglich darauf hin, dass wir bei der Anmeldung saemtliche automatisch uebermittelten Parameter wie IP-Adresse und/oder Einwahlrufnummer speichern, um uns und unsere Kunden vor Missbrauch zu schuetzen. Selbstverstaendlich werden wir bei Bedarf umgehend strafrechtliche Massnahmen ergreifen, um einen vorliegenden Missbrauch zu ahnden.

Abrufen der DTA-Adresse mit Hilfe des INT86

ACHTUNG: Der folgende Knowledge Base Artikel wurde durch ein maschinelles Übersetzungssystem ohne jegliche menschliche Mitwirkung übersetzt. Microsoft stellt diese Artikel deutschsprachigen Benutzern, die der englischen Sprache nicht mächtig sind, als Hilfe zur Verfügung, damit diese den Inhalt dieser Artikel verstehen können. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Artikel-ID:11785
Geändert am:Dienstag, 16. August 2005
Version:2.1

Zusammenfassung

Problem:

Ich würde mögen, für Dateien mit einer bestimmten Erweiterung zu suchen, sie in einem Array zu speichern und auf dem Bildschirm für Benutzerauswahl anzuzeigen, die Visual Basic for MS-DOS-Version 1.0 und die MS-DOS-Interrupt-Routine verwendet. Ich habe ein Beispielprogramm geschrieben, das Funktions4e und 4F aufruft, um die gewünschten Dateien zu finden. Scheint, sie ordnungsgemäß zu funktionieren, wie der Flag in dem niedrigen Byte des Registers zurückgaben oder wenn die letzte Datei gefunden worden ist, dass AXES 0 für erfolgreiches einzelnes Such und 18 zeigt, wenn keine Dateien vorhanden sind. Ich kenne nicht, wie das DTA (Disk Transfer Address) gelesen wird, nachdem ich eine Datei erfolgreich finde, daher kann ich den Dateinamen für spätere Anzeige jedoch nicht speichern.

Antwort:

In QuickBasic für MS-DOS-Versionen 2.0, 2.01 und 3.0 können Sie MS-DOS Interrupts ausführen, indem Sie die externe Routine INT86 aufrufen. In dem Standard, Professional Editions of Visual Basic für MS-DOS Version 1.0 und QuickBasic für MS-DOS-Versionen 4.0, 4.00b 4.0 und 4.5 können Sie die externen Routinen INT86OLD, INT86XOLD, INTERRUPT und INTERRUPTX aufrufen.

Es ist schwierig, das aktuelle DTA eines Programms zu finden ( und sein Offset geändert werden, ohne Vorankündigung kann, ohne Hinweis) deshalb das Fragen von MS-DOS besser ist ( Sie via INT 21 funktionieren Sie 1A "Set DTA" Hexen ) das DTA an einem Speicherort neu zuordnen, über den Sie Kontrolle haben. Für die Anwendung, die angegeben wird, sollten Sie folgend versuchen:

1. Führen Sie den MS-DOS-Funktion-DOS-Aufruf aus, die DTA-Adresse (Mov Funktion HEXEN-1A Interrupt) in einer Adresse einer Struktur in Ihrem Codebereich (bezeichnen (diese Möglichkeit) wo es gefunden wird Möglichkeit) zu ändern.
2.Sie führen (Sie Unterbrechen Mov, Sie funktionieren Hexen-4E) "zuerst findet der Ihre" aus.
3. Sie führen Ihre Schleife "der Continue-Dateisuche" (Sie Unterbrechen Mov, Sie funktionieren Hexen-4F) aus.
Innerhalb Ihrer Schleife überprüfen Sie möglicherweise Ihre Variable in der Struktur wie dem Wünschen. Das "Programmierreferenz" DOS-Microsoft MS-Handbuch enthält, wie die Struktur beispielhaft für das DTA in Assembler eingerichtet wird.

Das Buch "Advanced MS-DOS von Strahl Duncan (Microsoft Press 1986)" ist auch ein sehr hilfreicher Verweis, MS-DOS-Funktionsaufrufe zu verwenden.

Die Informationen in diesem Artikel beziehen sich auf:
 Microsoft Visual Basic for MS-DOS
 Microsoft QuickBasic 4.0
 Microsoft QuickBASIC 4.0b
 Microsoft QuickBasic 4.5 for MS-DOS

Zum Anfang

Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.


This mirror is sponsored by:
Hansjoerg G. Henker
A-Z Consulting & Development
[463]

Information-Center [20.11.2008 13:51:50]