 |
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 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 19.05.2005, 16:08 Titel: Hardware Frage |
|
|
Straswudje (Russisch | keine Rechtschreibgarantie),
ich wollt ma fragen ob mir jemand helfen kann.
Ich will in eins meiner Programme einbauen, dass
es die System informationen anzeigt. Also
Zitat: |
Festplatte: (Speicher insgesamt u. Freier Speicher)
Prozessor:
Pentium: bzw. Adm Athlon
RAM Speicher:
Laufwerke:
|
Ich weiß dass sowas mit QB geht.
Ich hab auch irgendwo so ein Programm gesehen aber wo?
(Laufwerke is klar (kann ich auch) aber der Rest???)
Danke vorab.
Dorftrottel _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 19.05.2005, 16:15 Titel: |
|
|
Steht alles in der MonsterFAQ ausser die Speicherkapazität einer Festpallte  _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 19.05.2005, 16:17 Titel: |
|
|
Hä???
Danke äh nee befor ich mich bedanke Wo in der MinFAQ steht das?
ach und wo krieg ich das mit der FESTPALLTE ( ) her? _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag! 
Zuletzt bearbeitet von Dorftrottel am 19.05.2005, 16:22, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 19.05.2005, 16:22 Titel: |
|
|
Das kannst du dir aus Verschiedenen Quellen zusammensuchen. Für den RAM kannst du z.B. den QB-Eigenen Befehl FRE benutzen (siehe QB-Online-Hilfe).
Unter WinXP (und evtl sogar unter NT) gibts Informationen über den Prozessor in den Systemumgebungsvariablen, die du mit ENVIRON$ abfragen kannst.
Code: | C:\Dokumente und Einstellungen\Hartinger>set
...
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
...
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 5 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0502
...
USERNAME=Hartinger
... |
Für die Festplatteninfos kannst du DIR missbrauchen:
Code: |
C:\Dokumente und Einstellungen\Hartinger>dir
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: 4053-FDDF
Verzeichnis von C:\Dokumente und Einstellungen\Hartinger
18.05.2005 21:57 <DIR> .
18.05.2005 21:57 <DIR> ..
14.05.2005 11:47 <DIR> .jdiskreport
26.03.2005 15:40 <DIR> Application Data
19.05.2005 16:03 <DIR> Desktop
18.05.2005 23:01 <DIR> Favoriten
16.04.2005 00:40 <DIR> Startmenü
30.04.2005 18:35 <DIR> WINDOWS
0 Datei(en) 0 Bytes
8 Verzeichnis(se), 148.926.464 Bytes frei
C:\Dokumente und Einstellungen\Hartinger> |
Die letzte Zeile gibt dir genau das aus, was du brauchst.
Nur kann es etwas schwierig werden, aus dem String die Zahl rauszufinden...
Zu den Laufwerken:
dreael hat dazu einmal ein Programm geschrieben, das einen VBS erstellt, der eine Liste der Laufwerke in eine Datei schreibt.
Dieser lässt sich sicher auch so abändern, dass die anderen Informationen ausgegeben werden; man muss dazu nur die entsprechenden Funktionen kennen.... _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
A.K.

Anmeldungsdatum: 02.05.2005 Beiträge: 467 Wohnort: HH
|
Verfasst am: 19.05.2005, 16:26 Titel: |
|
|
wer es gern ein bischen komplizierter haben möchte, hier ein Auszug aus der MonFaq....
Frage:
--------
Wie lese ich die Systeminfos des PCs aus?
Wie kann ich die Folgenden Daten auslesen und anzeigen lassen.
Ram
Festplatte
Betriebsystem
Grafikkarte
Netzwerkkarte
usw..
Antwort:
--------
< von Andre Klein (A.K.) im QB-Forum, 27.5.2003 >
(( SYSINFO.BAS schon in h://qbmonfaq/progs/neu/...; ))
'********************************************************
' SYSINFO.BAS - Anzeige der Systeminfos
' ===========
' Dieses Programm zeigt den konventionellen Speicher,
' Hardwareaustattung (Low), Festplatteninfos und die
' DOS-Version an.
'
' Weil CALL INTERRUPT verwendet wird, ist das Programm
' nur unter QuickBasic, nicht unter QBasic lauffaehig.
' QB muss mit "QB.EXE /L SYSIN FO.BAS" aufgerufen
' werden, um die QLB einzubinden.
'
' Getestet unter Windows 95. Nicht funktionsfaehig
' unter Windows NT4.
'
' (c) von Andre Klein (A.K.), 27.5.2003
'********************************************************
DECLARE SUB SHOW.PARTITIONS ()
DECLARE SUB NUM2BS (num%, bs$)
TYPE regtypex
ax AS INTEGER
bx AS INTEGER
cx AS INTEGER
dx AS INTEGER
bp AS INTEGER
si AS INTEGER
di AS INTEGER
flags AS INTEGER
ds AS INTEGER
es AS INTEGER
END TYPE
DIM SHARED reg AS regtypex
CLS
'konventionellen Speicher rausfinden
CALL interruptx(&H12, reg, reg) 'BIOS-INT
COLOR 12: PRINT "Speicher"
COLOR 7, 0
PRINT "Konventioneller Speicher:"; reg.ax; "KB"
PRINT
COLOR 12: PRINT "Hardware-Ausstattung"
COLOR 7, 0
'Equipment-Check
CALL interruptx(&H11, reg, reg) 'BIOS-INT
DIM ax2 AS LONG
ax2 = CVL(MKI$(reg.ax) + CHR$(0) + CHR$(0))
PRINT "Disks installiert? :"; ((ax2 AND 1)) 'Bit 0
PRINT "80287 installiert(AT):"; ((ax2 AND 2) \ 2) 'Bit 1
PRINT "Speicherb„nke(in KB) :"; (((ax2 AND 12) \ 4) + 1) * 16 'Bits 2-3
PRINT "Video-Modus :"; ((ax2 AND 4 \ 16) 'Bits 4-5
PRINT "Diskettenlaufwerke :"; ((ax2 AND 192) \ 64) + 1 'Bits 6-7
PRINT "ser. Schnittstellen :"; ((ax2 AND 3584) \ 512) 'Bits 9-11
PRINT "Game-Adapter? :"; ((ax2 AND 4096) \ 4096) 'Bit 12
PRINT "par. Schnittstellen :"; ((ax2 AND 49152) \ 16384) 'Bits 14-15
PRINT
COLOR 12: PRINT "Festplatten-Infos"
COLOR 7, 0
'Festplatteninfos
SHOW.PARTITIONS
'DOS-Version ermitteln
reg.ax = &H3001
CALL interruptx(&H21, reg, reg)
major$ = LTRIM$(STR$((reg.ax AND 255)))
minor$ = LTRIM$(STR$((reg.ax \ 256)))
PRINT "DOS-Version: "; major$; "."; minor$
SUB NUM2BS (num%, bs$)
'Wandelt die Betriebssystem-Nummer in den BS-Text um
bs$ = ""
IF num% = 0 THEN bs$ = "keins"
IF num% = 1 THEN bs$ = "DOS 12-Bit FAT"
IF num% = 2 THEN bs$ = "XENIX root file system"
IF num% = 3 THEN bs$ = "XENIX /usr file system"
IF num% = 4 THEN bs$ = "DOS 16-Bit FAT (max. 32MB)"
IF num% = 5 THEN bs$ = "DOS 3.3+ extended partition"
IF num% = 6 THEN bs$ = "DOS 3.31+ 16-Bit FAT (>32MB)"
IF num% = 7 THEN bs$ = "OS/2 HPFS * UNIX * WIN NT NTFS"
IF num% = 8 THEN bs$ = "AIX boot partition, Splitdrive"
IF num% = 9 THEN bs$ = "AIX Data partition"
IF num% = 10 THEN bs$ = "OS/2 Boot Manager * OPUS"
IF bs$ = "" THEN bs$ = "Vorhanden aber unbekannt"
END SUB
SUB SHOW.PARTITIONS
'Master-Boot-Record der Festplatte lesen (MBR)
dat$ = STRING$(512, CHR$(0))
reg.ax = &H201
reg.dx = &H80 ' &H80 = 1. Harddisk, &H81 = 2. Harddisk...
reg.cx = &H1
reg.es = VARSEG(dat$)
reg.bx = SADD(dat$)
CALL interruptx(&H13, reg, reg)
'Informationen f?r einzelne Partitionen rausfiltern
p1$ = MID$(dat$, 447, 16)
p2$ = MID$(dat$, 463, 16)
p3$ = MID$(dat$, 479, 16)
p4$ = MID$(dat$, 495, 16)
'Aktive Partition rausfinden
IF ASC(MID$(p1$, 1, 1)) = 128 THEN bo1$ = " JA" ELSE bo1$ = "NEIN"
IF ASC(MID$(p2$, 1, 1)) = 128 THEN bo2$ = " JA" ELSE bo2$ = "NEIN"
IF ASC(MID$(p3$, 1, 1)) = 128 THEN bo3$ = " JA" ELSE bo3$ = "NEIN"
IF ASC(MID$(p4$, 1, 1)) = 128 THEN bo4$ = " JA" ELSE bo4$ = "NEIN"
'Betriebssystemkennung in Text umwandeln
NUM2BS ASC(MID$(p1$, 5, 1)), bs$: bs1$ = bs$
NUM2BS ASC(MID$(p2$, 5, 1)), bs$: bs2$ = bs$
NUM2BS ASC(MID$(p3$, 5, 1)), bs$: bs3$ = bs$
NUM2BS ASC(MID$(p4$, 5, 1)), bs$: bs4$ = bs$
'GrӇe der Partitionen berechnen
pl1# = CVL(MID$(p1$, 13, 4)) * 512
pl2# = CVL(MID$(p2$, 13, 4)) * 512
pl3# = CVL(MID$(p3$, 13, 4)) * 512
pl4# = CVL(MID$(p4$, 13, 4)) * 512
'Informationen auf den Bildschirm schreiben
row% = 14
LOCATE 1 + row%, 1: PRINT "Partition Boot Betriebssystem GrӇe(Byte)"
LOCATE 2 + row%, 1: PRINT " 1"
LOCATE 3 + row%, 1: PRINT " 2"
LOCATE 4 + row%, 1: PRINT " 3"
LOCATE 5 + row%, 1: PRINT " 4"
LOCATE 2 + row%, 13: PRINT bo1$: LOCATE 2 + row%, 20: PRINT bs1$: LOCATE 2 + row%, 52: PRINT pl1#
LOCATE 3 + row%, 13: PRINT bo2$: LOCATE 3 + row%, 20: PRINT bs2$: LOCATE 3 + row%, 52: PRINT pl2#
LOCATE 4 + row%, 13: PRINT bo3$: LOCATE 4 + row%, 20: PRINT bs3$: LOCATE 4 + row%, 52: PRINT pl3#
LOCATE 5 + row%, 13: PRINT bo4$: LOCATE 5 + row%, 20: PRINT bs4$: LOCATE 5 + row%, 52: PRINT pl4#
PRINT
END SUB
------------------------------------------------------------------------------------- _________________
http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU* |
|
Nach oben |
|
 |
A.K.

Anmeldungsdatum: 02.05.2005 Beiträge: 467 Wohnort: HH
|
Verfasst am: 19.05.2005, 16:33 Titel: |
|
|
PRINT "Video-Modus :"; ((ax2 AND 4 \ 16) 'Bits 4-5
muß nicht heißen sondern 48 und eine ) _________________
http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU* |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 19.05.2005, 16:35 Titel: |
|
|
Bei
Code: |
CALL interruptx(&H12, reg, reg)
|
kommt immer ein Fehler:
Zitat: |
Unterprogramm nicht deffiniert
|
Help _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 19.05.2005, 16:38 Titel: |
|
|
Dann binde unter QB.PIF -> Eingenschaften -> Befehlszeile mit einem "/L"
hinter der Befehlszeile die QuickLibrary ein.
Erstelle im Zweifelsfalle eine Batchdatei mit dem Inhalt
Code: |
@echo off
rem Pfad vom guten alten QB
c:\qbasic\qb.exe /l c:\qbasic\qb.qlb /run prog.bas
|
jb
Zuletzt bearbeitet von jb am 19.05.2005, 16:40, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
A.K.

Anmeldungsdatum: 02.05.2005 Beiträge: 467 Wohnort: HH
|
Verfasst am: 19.05.2005, 16:39 Titel: |
|
|
um den Befehl interruptX zu verwenden mußt du QB zusammen mit der QB.QLB starten. (Bibliothek laden)
Soll heißen:
anstatt "QB.EXE" einzugeben, gibst du "QB.EXE /L" ein.
Achte darauf das sich die QB.QLB im gleichen Verzeichnis befindet.
Für weiter Infos zu Bibliotheken: http://www.iconsoft.de/?show=tutorial_libs _________________
http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU* |
|
Nach oben |
|
 |
Quark48

Anmeldungsdatum: 16.10.2004 Beiträge: 559 Wohnort: Saltendorf a.d. Naab bzw. Teublitz i.d. Oberpfalz / Bayern
|
Verfasst am: 19.05.2005, 17:41 Titel: |
|
|
Hallöle!
Also zur Frage "Wie erfahre ich unter DOS, welchen Prozessor ich habe?"
Ich arbeite grade an einem Prozessorinformationsprogramm (Langes Wort ). Später mal mach ich den Quellcode dafür jedermann zugänglich  _________________ Grüßle, Stefan
***
Wenn ein Programm auf nem alten Rechner gut läuft, dann läuft´s auf nem neuen erst recht!
Ich habe/hatte keine feste Spange und auch keine Schwester. Der Rest stimmt. Es tut mir leid... :-/ |
|
Nach oben |
|
 |
Dorftrottel gesperrt

Anmeldungsdatum: 23.04.2005 Beiträge: 97 Wohnort: Welt
|
Verfasst am: 19.05.2005, 18:14 Titel: |
|
|
Danke _________________ Euer Dorftrottel!
Unser Name ist unser Auftrag!  |
|
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.
|
|