Deutsch
Forum

Updatechecker

 

Gary12345
Servus,
KompilierenMarkierenSeparieren
Window %MaxX*0.1,%Maxy*0.1-%MaxX*0.3,%MaxX*0.3
WindowTitle "Updatechecker"
WindowStyle 31
declare Ende&,Diskgröße!

Proc DiskGröße

    Parameters Laufwerkbuchstabe$'String
    set("decimals",2)
    Diskgröße!=DiskSize(Laufwerkbuchstabe$)/(1024*1024*1024) + " GB"
    ROUND(Diskgröße!,3)

    If Diskgröße!=0

        print %Error
        MESSAGEBOX("Laufwerk nicht vorhanden oder nicht lesbar!","Error X0001",0)

    Else

        Return Diskgröße!

    EndIf

EndProc

'#################################
'APPENDMENU
PopUp "&Programm"
AppendMenu 101, "Updatestatus ermitteln"
AppendMenu 102, "Festplattenstatus ermitteln"
AppendMenu 103, "AutoStartLister"
AppendMenu 104, "Aktuelle Updates"
PopUp "&Sonstiges"
SubPopUp "Sonstiges"
AppendMenu 105, "Über den Autor"
AppendMenu 106, "Über das Programm"
AppendMenu 107, "Spende"
EndSub
AppendMenu 108, "Beenden"
'################################
print %Error
DiskGröße("C:")
print %Error

Whilenot Ende&=1

EndWhile


Was geht da schief? Blöde Frage, aber ich weiß nicht weiter. Könnte evtl. ein Sammelthread werden, da dies ein größeres Projekt ist.

Danke!
 
XProfan X2
MfG
Gary12345
18.02.2013  
 




Julian
Schmidt
Dir scheint der logische Operator "!=" nicht ganz klar zu sein. Ich würde außerdem besser prüfen ob kleiner gleich 0.
Dein Zweiter-Fehler sind Umlaute in Variablen.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 



@Julian:

Den Operator != als Ersatz für "not" gibt es in XProfan nicht.

@Garry: Diskgröße! ist vom Typ Float, also eine Fließkommazahl -
ergo ist Diskgröße!=DiskSize(Laufwerkbuchstabe$)/(1024*1024*1024) + " GB"
falsch da Du hier eine Stringzusammenführung anweist (+" GB").

Zudem, ROUND(Diskgröße!,3) rundet aber das gerundete Ergebnis legst Du nirgends
ab wie z.B. diskgröße!=round(diskgröße!,3).

Grundsätzlich: Es ist aus verschiedenen Gründen nicht empfehlenswert Umlaute äöüß
in Bezeichnern zu verwenden, auch wenn XProfan damit klarkommen mag.
 
18.02.2013  
 




Julian
Schmidt
iF (18.02.13)
Den Operator != als Ersatz für "not" gibt es in XProfan nicht.


Jo, kleiner Lese-Fehler beim Überfliegen.
Las Diskgröße!!=0 anstatt Diskgröße!=0.
Nicht desdotrotz existiert != in Xprofan nicht, sondern nur <>.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 




Gary12345
Das sind Tage wo ich mir immer wieder denke: "Wie dumm bin ich eig?" Und diese Fehler kennt man eig. Man findet sie nur nicht. Entweder ist das Köpfchen nicht da oder man hat es nicht kapiert. Ich plädiere auf Fall1.
 
MfG
Gary12345
18.02.2013  
 




Gary12345
Nun eine andere Frage: Gibt es einen XPROFAN Befehl/Funktion, der den gesamten Arbeitsspeicher auslesen kann und den belegten RAM dazu. Wenn nicht, wie würde die dazugehörige API lauten. Wenn ich nach Arbeitsspeicher API und msdn library Suche, finde ich keine korrekte API.
 
XProfan X2
MfG
Gary12345
18.02.2013  
 




RGH
Hallo,
es ist guter Programmierstil vor und nach Operatoren und Gleicheitszeichen ein Leefeld zu lassen. Das erhöht die Lesbarkeit des Codes enorm!
Zum zweiten: Ab XProfan X2 liefert Disksize das Ergebnis auch als Quadint zurück und kann einem Quadinit zugewiesen werden. Bei großen Festplatten führt die Zuweisung zu Floats zu Ungenauigkeiten.

Gruß
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
18.02.2013  
 




Gary12345
Danke RGH Irgendeine eine Idee zur API?
 
XProfan X2
MfG
Gary12345
18.02.2013  
 




Julian
Schmidt
Bevor du hier Fragen stellst bitte erstmal das Forum durchsuchen. Sinnvolle Sucherbegriffe wäre etwa Ram, Mem, Mermory, Speicher etc.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 




Julian
Schmidt
Find z.B. das hier. Scheint allerdings nicht immer zu funzen.
KompilierenMarkierenSeparieren
Proc ShowMemoryStatus

    Parameters Wert%' 1=Gesamter Ram, 2=Ram Frei, 3= Ram belegt, 4=Ram-Verbrauch in %
    declare ramfrei&,gesamterram&,prozent&,ramverwendet&,MemStat#
    Def GlobalMemoryStatus(1) !"KERNEL32","GlobalMemoryStatus"
    Def Mbyte(1) Round(&(1)/$0100000,0)
    Dim MemStat#,32
    Long MemStat#,0=32
    GlobalMemoryStatus(MemStat#)
    prozent&=Long(MemStat#,4)
    gesamterram&=MByte(Long(MemStat#,8))

    if gesamterram&<0

        ramfrei&=MByte(Long(MemStat#,12))
        ramfrei&=ramfrei&*100
        gesamterram&=ramfrei&/prozent&

    Endif

    ramfrei&=MByte(Long(MemStat#,12))
    ramverwendet&=gesamterram&-ramfrei&
    Dispose MemStat#
    case Wert%=1 : return gesamterram&
    case Wert%=2 : return ramfrei&
    case Wert%=3 : return ramverwendet&
    case Wert%=4 : return prozent&

EndProc

Cls
Decimals 0

while 1

    print Str$(ShowMemoryStatus(4)) + "% Physikalischer Speicher verwendet"
    print Str$(ShowMemoryStatus(1)) + "MB Physikalischer Speicher"
    print Str$(ShowMemoryStatus(2)) + "MB Physikalischer Speicher frei"
    print Str$(ShowMemoryStatus(3)) + "MB Physikalischer Speicher belegt"
    sleep 300
    cls

Endwhile

 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 




Gary12345
:/ Hab da andere Lösungen gefunden:
KompilierenMarkierenSeparieren
Proc ShowMemoryStatus

    Def GlobalMemoryStatus(1) !"KERNEL32","GlobalMemoryStatus"
    Def Mbyte(1) Round(Div(&(1),$0100000),0)
    Dim MemStat#,32
    Long MemStat#,0=32
    GlobalMemoryStatus(MemStat#)
    Print Str$(Long(MemStat#,4))+"% Speicherauslastung"
    Print MByte(Long(MemStat#,8))+"MB gesamter physik. Speicher"
    Print MByte(Long(MemStat#,12))+"MB physik. Speicher frei"
    Print MByte(Long(MemStat#,16))+"MB max. Größe der Swapdatei"
    Print MByte(Long(MemStat#,20 ))+"MB max. in Swapdatei belegbar"
    Print MByte(Long(MemStat#,24))+"MB max. virtueller Speicher für Prozess"
    Print MByte(Long(MemStat#,28))+"MB max. virtueller Speicher für Prozess aktuell verfügbar"
    Dispose MemStat#

EndProc


Fehler: Funktion unbekannt: Div????
Dein Code scheint auch nicht zu funken :/
 
XProfan X2
MfG
Gary12345
18.02.2013  
 




Julian
Schmidt
Such mal Div in der Xprofan-Hilfe. Kommst schon noch drauf

Ist oben auch anders ^^
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
18.02.2013  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

20.196 Betrachtungen

Unbenanntvor 0 min.
Gast.081516.07.2024
Peter Max Müller13.11.2017
Claus de Lieth18.10.2017
Herby15.08.2017
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie