Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 28.12.2005, 15:21 Titel: Arbeitsspeicher Auslesen |
|
|
Ich hab mich mal n bisschen mit dem TUT zum Speicher auslesen von www.freebasic.de bechäftig und n bisschen was daran rumgebastelt, nur hab ich jetzt ein problem!
Ich bekomm beim Compilieren immer folgende fehlermeldung:
ich hoffe ihr könnt mir helfen den fehler zu finden. Ich bin Anfänger, also schreibts bitte verständlich.
Code: |
Option Explicit
Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
Dim Shared Memory As MEMORYSTATUS
Declare Sub GlobalMemoryStatus Lib "kernel32" Alias "GlobalMemoryStatus" (lpBuffer As MEMORYSTATUS)
Memory.dwLength = Len(Memory)
Call GlobalMemoryStatus(Memory)
a = Memory.dwAvailPhys / Memory.dwTotalPhys
PRINT "*************************************************************"
PRINT "* Arbeitsspeicherauslastung *"
PRINT "* *"
PRINT "* *"
LOCATE 5,1 : PRINT "*" : LOCATE 5,5 : PRINT "RAM gesamt: "; Memory.dwTotalPhys / 1024 / 1024 ; " MB" : LOCATE 5,61 : PRINT "*"
LOCATE 6,1 : PRINT "*" : LOCATE 6,5 : PRINT "RAM frei (in KB) : "; Memory.dwAvailPhys / 1024 ; " KB" : LOCATE 6,61: PRINT "*"
LOCATE 7,1 : PRINT "*" : LOCATE 7,5 : PRINT "RAM frei (in MB) : "; Memory.dwAvailPhys / 1024 / 1024 ; " MB" : LOCATE 7,61: PRINT "*"
PRINT "*" :
IF a > 50 then color 10,0 : LOCATE 8,3 : print "Wunderbar"
IF a < 50 then color 14,0 : LOCATE 8,3 : print "In ordnung"
IF a < 15 then color 4,0 : LOCATE 8,3 : print "UNTER 15%!!!"
COLOR 7,0
LOCATE 8,61 : PRINT "*"
PRINT "*************************************************************"
Sleep
End
|
danke im vorraus!!!!!! _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 28.12.2005, 15:34 Titel: |
|
|
Danke, jetzt kann ers compilieren, aber a ist jetzt immer 0 und es müsste was um die 30 rauskommen _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
Kai Bareis
Anmeldungsdatum: 10.09.2004 Beiträge: 545 Wohnort: Baden Würtemberg
|
Verfasst am: 28.12.2005, 16:12 Titel: |
|
|
Code: | a = Memory.dwAvailPhys / Memory.dwTotalPhys |
das selber sollte wohl eine Prozentrechnung sein da fehlt noch das * 100
Code: | a = Memory.dwAvailPhys / Memory.dwTotalPhys * 100 |
_________________ MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht! |
|
Nach oben |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 28.12.2005, 16:17 Titel: |
|
|
Peinlich !!!!! Und ich hab in Mathe nen 2er! Sollt ma mir wieder wegnehmen!!!
Jetzt funktionierts! Danke!!!! _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 28.12.2005, 16:26 Titel: |
|
|
Gutes Programm!
Für einen Anfänger wie du dich selbst nennst ist sowas echt Genial!
Ich habs noch etwas optimiert:
(Irgendwas geht immer Besser, also nicht Falsch verstehen)
Code: | Option Explicit
dim a as integer
Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
Dim Shared Memory As MEMORYSTATUS
cls
COLOR 7,0
Declare Sub GlobalMemoryStatus Lib "kernel32" Alias "GlobalMemoryStatus" (lpBuffer As MEMORYSTATUS)
Memory.dwLength = Len(Memory)
GlobalMemoryStatus(Memory)
a = Memory.dwAvailPhys / Memory.dwTotalPhys*100
PRINT "*************************************************************"
PRINT "* Arbeitsspeicherauslastung *"
PRINT "* *"
PRINT "* *"
PRINT "* ";: PRINT "RAM gesamt: "; cint(Memory.dwTotalPhys / 1024 / 1024) ; " MB" : LOCATE 5,61: PRINT "*"
PRINT "* ";: PRINT "RAM frei (in KB): "; cint(Memory.dwAvailPhys / 1024) ; " KB" : LOCATE 6,61: PRINT "*"
PRINT "* ";: PRINT "RAM frei (in MB): "; cint(Memory.dwAvailPhys / 1024 / 1024) ; " MB" : LOCATE 7,61: PRINT "*"
PRINT "* ";
IF a > 50 then color 10 : print "Wunderbar"
IF a < 50 then color 14 : print "In ordnung"
IF a < 15 then color 4 : print "UNTER 15%!!!"
COLOR 7
LOCATE 8,61 : PRINT "*"
PRINT "* *"
PRINT "*************************************************************"
Sleep |
_________________ 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 |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 28.12.2005, 16:37 Titel: |
|
|
Ich bin wirklich noch anfänger!!! Ich hab vor 4 wochen mit qbasic von der win95 cd angefangen und das programm is ja auch nur ausm tut umgebastelt.
Aber trotzdem danke! _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 28.12.2005, 17:06 Titel: |
|
|
Hi,
für freeBASIC optimiert sieht das so aus:
Code: | Option Explicit
#include once "windows.bi"
Dim Memory As MEMORYSTATUS
GlobalMemoryStatus (@Memory)
Dim a As Single
a = Memory.dwAvailPhys / Memory.dwTotalPhys
Print "***********************************"
Print "* Arbeitsspeicherauslastung *"
Print "* *"
Print "* RAM gesamt : " & Memory.dwTotalPhys Shr 20 & " MB" : Locate 4,35: Print "*"
Print "* RAM frei (in KB) : " & Memory.dwAvailPhys Shr 10 & " KB" : Locate 5,35: Print "*"
Print "* RAM frei (in MB) : " & Memory.dwAvailPhys Shr 20 & " MB" : Locate 6,35: Print "*"
Print "*" : Locate 7,5
IF a < .5 Then
IF a < .15 Then
Color 4,0
Print "UNTER 15%!!!"
Else
Color 14,0
Print "In ordnung"
End If
Else
Color 10,0
Print "Wunderbar"
End If
Color 7,0 :Locate 7,35 : Print "*"
Print "***********************************"
Sleep
End |
Die #Include - Anweisung fügt die Definitionen für den Aufruf der Funktion in dein Programm ein (die haben die Macher von freeBASIC schon erstellt). Der Shr - Befehl entspricht einer Integerdivision ( x Shr 10 ist x\1024). Wenn a < 15% ist würden bei dir "In ordnung" und "UNTER 15%!!!" ausgegeben.
Gruß
Volta _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 29.12.2005, 11:47 Titel: |
|
|
Danke für eure optimierungen! Blicken tu ichs, aber bis ich soweit bin, dass ich so was schreiben kann dauerts wahrscheinblich noch.
Es gibt nur ein problem! Mein FreeBasic sagt immer dass er die Und-Zeichen (&) nicht mag, kann man die ersetzen oder so? _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 29.12.2005, 12:16 Titel: |
|
|
jo
"String " & Zahl & " String" musst du in FB als "String "+STR$(Zahl)+" String" schreiben. Eventuell mit rtrim$(ltrim$(str$(zahl))) alle leerzeichen abschneiden die zuviel sind (r wie rechts und l wie links und trim wie abschneiden) _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 29.12.2005, 12:18 Titel: |
|
|
danke, das werd ich mal versuchen.
was für ne sprache/umgebung habt ihr dann wenn die & zeochen da funktionieren? _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 29.12.2005, 12:21 Titel: |
|
|
Das is VB _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 29.12.2005, 12:24 Titel: |
|
|
würde sich das vb lohnen?? soweit ich weiss kostet das doch, und kann man mit vb .exe dateien erstellen??? _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 29.12.2005, 14:15 Titel: |
|
|
Ja, mit VisualBasic kannst du EXEn erstellen. _________________ Eine handvoll Glück reicht nie für zwei.
--
|
|
Nach oben |
|
|
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1875 Wohnort: D59192
|
Verfasst am: 29.12.2005, 14:36 Titel: |
|
|
Hi,
nix VB das & ist auch in FB015b drin, damit kann man sogar die Konvertierung von Zahlen in Strings einsparen.
Code: | x= 5000
a$ = "ich bin " & x & "Tage alt."
?a$ |
@oiermann, ich empfehle dir FB015b, FB hat da doch einen großen Sprung gemacht. _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 29.12.2005, 17:31 Titel: |
|
|
@MisterD
rtrim$(ltrim$(str$(zahl)))
braucht man bei Freebasic nicht mehr
keywords.txt hat Folgendes geschrieben: | ...
STR$ Function (diff: blanks are NOT added for positive signed integers)
... |
zudem ist das FB Äquvialant zu rtrim$(ltrim$()) einfach nur trim$. _________________ 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 |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 29.12.2005, 21:18 Titel: |
|
|
ok _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 30.12.2005, 15:36 Titel: |
|
|
Nur, um darauf hinzuweisen: Den Ausdruck RTRIM(LTRIM(...)) kann man durch TRIM(...) ersetzen. Siehe in der Referenz:
http://fb.exp-soft.de/r.php?s=TRIM
//EDIT: Ah, Michael Frey hat das ja auch schon geschrieben, na dann...
Trotzdem den Link ansehen - TRIM kann mehr als Leerzeichen entfernen!
Ansonsten kann ich auch nur empfehlen, deine Version upzudaten. Hier im Forum ist grade ein Thread aktiv, der auf freeBASIC v0.16b hinweist. Die ist zwar noch nicht stable, allerdings arbeite ich seit dem Release dieser Beta-Version damit, und habe keine Fehler festgestellt.
@ oiermann:
VB lohnt sich dann, wenn du dich von vorne herein darauf festlegst, dass du nur Anwendungen programmieren willst; spiele sind in VB ziemlich schwierig zu erstellen. Du wirst im Netz auch kostenlose Versionen finden (wenn du laaaange danach suchst), die dann aber nicht wirklich legal sind...
Anyway, bleib lieber bei FB. In VB kannst du zwar GUIs schneller erstellen, dafür weißt du selten, was wirklich unter der Haube abläuft. Dir fehlt - selbst wenn du ein guter VB-Progger wirst - einfach das verständnis.
Aber, dieses Thema wird ziemlich oft diskutiert. Benutz einfach die Forensuche.
Guter Tipp ist auch die MonsterFAQ von Thomas Antoni (auf www.qbasic.de ). Da findest du eine Seite, in der verschiedene BASIC-Dialekte vorgestellt werden, u.a. VisualBASIC; Thomas hat dort sehr schön die Stärken und Schwächen der Sprache aufgeführt.
Have a nice day
Ciao _________________ 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 |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 30.12.2005, 16:13 Titel: |
|
|
@Dusky_Joe
Deine Aussage zu Visual Basic ist so nicht ganz korrekt:
http://msdn.microsoft.com/vstudio/express/vb/download/
Okey, man kann Visual Basic .Net die abstammung von Visual Basic streitig machen oder .Net als Quatsch bezeichnen, aber es ist Gratis.
Also ich find VB .Net schlecht, die Software Entwicklung ist komplexer als unter Visual Basic 3 oder QuickBasic oder auch Freebasic, zudem benötigt der Anwender zum Ausführen das .Net Framework ... _________________ 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 |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 30.12.2005, 22:23 Titel: |
|
|
Alle Angaben ohne Gewähr
Von der Dotnet-Variante wusste ich bis jetzt nichts. Allerdings habe ich schon von Progs gehört, die das Framework zum Ausführen benötigen, sowie ne ganze liste von Problemen, die nach der Installation des Frameworks aufgetreten sind... _________________ 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 |
|
|
|