dateigröße von 2 datein prozentual darstellen

  • Hey Autoitter,
    mein heutiges Problem ist mir peinlich, weil ich selber als Mathe-Profi-Schüler nicht auf die Lösung komme!

    Mein Problem:
    Ich habe 2 (oder mehr) Dateien. Nun ist eine z.B. 800mb und die andere 300mb groß. Ich möchte nun diese Dateien kopieren und dazu einen Statusbalken machen.
    Dazu will ich den Balken in 2 Teile teilen. Ein Teil der so groß ist wie der prozentuale Anteil der 800mb Datei und das andere mit dem Anteil der 300mb datei.
    Wie bekomme ich den Prozentualen Anteil von beiden Dateien?

    Hoffe ihr versteht mein Problem, sonst muss ich mein Script uploaden (was ich eigentlich net will, weil es vollkommen unnötig ist)

    Ich brauche nur die Mathematik dahinter, garnicht die Lösung.

    Edit// Sry, hatte keine Zeit auf gelöst zu stellen. Hatte noch zu tun und habs dann vergessen ^^

    Meine Werke


    EasyScreen (teilweise Crocoframe): <EasyScreen>
    Spotify2Title: <Spotify2Title> (zur Info, dies ist KEIN Spotify-Downloader! Wer das dachte... :rofl: sowas gibts hier nicht :thumbdown: )

    2 Mal editiert, zuletzt von Xyron (4. Februar 2011 um 12:40)

  • Mit dem kopieren hat das nichts zu tun, ich will nur den Prozentualen Wert.
    Das kann i-wie so aussehen, so bekomm ich aber immer mehr oder weniger als 100% raus

    $F1 = 800
    $F2 = 300

    $P1 =($F1+$F2)/F1
    $P2 =($F1+$F2)/F2

    oder andersherum 0.o

    Meine Werke


    EasyScreen (teilweise Crocoframe): <EasyScreen>
    Spotify2Title: <Spotify2Title> (zur Info, dies ist KEIN Spotify-Downloader! Wer das dachte... :rofl: sowas gibts hier nicht :thumbdown: )

  • [autoit]

    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>
    #include<file.au3>
    $size= Filegetsize("C:\Dokumente und Einstellungen\xxxxx\Eigene Dateien\fg_s2_e1.flv")
    $size2= filegetsize( "C:\Dokumente und Einstellungen\xxxxx\Eigene Dateien\Eigene Videos\stewie killt lois 1_3.avi")

    [/autoit][autoit][/autoit][autoit]

    $Form1 = GUICreate("Form1", 633, 447, 192, 124)
    $Progress1 = GUICtrlCreateProgress(86, 78, 366, 37)
    $gesamtgroesse= $size+$size2
    If $size>$size2 then
    guictrlsetdata($progress1, ($size/$gesamtgroesse)*100)

    [/autoit][autoit][/autoit][autoit]

    else
    guictrlsetdata($progress1, ($size2/$gesamtgroesse)*100)

    endif
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]


    So oder so ähnlich. ich versteh nicht, wie du die progressbar teilen willst?

    [align=center]Meine Werke mit der Irrlicht Engine
    AutoIt Picture Viewer Dreidimensionaler Bildbetrachter
    Mr Bubble 3D Neue Interpretation des Flashklassikers Bubble trouble

  • Ein Bild wirds erklären (nur so in Paint gemacht):

    [Blockierte Grafik: http://xyron.bplaced.de/img/Autoitde.png]
    _______________________________________Das ^ soll nur ein Strich sein (vermahlt xD)


    Nun will ich den Prozentwert wissen, falls sich die Dateigröße ändert bzw. anders ist, und es dann eben so durch den Fortschrittsbalken gehen lassen

    Meine Werke


    EasyScreen (teilweise Crocoframe): <EasyScreen>
    Spotify2Title: <Spotify2Title> (zur Info, dies ist KEIN Spotify-Downloader! Wer das dachte... :rofl: sowas gibts hier nicht :thumbdown: )

    • Offizieller Beitrag

    Empfangene Byte / (Größe Datei1 + Größe Datei2) *100 = % Fortschritt


    @Twodollarbillie, welche Logic steckt hinter deiner If Abfrage?

    [autoit]

    If $size>$size2 then
    guictrlsetdata($progress1, ($size/$gesamtgroesse)*100)

    [/autoit][autoit][/autoit][autoit]

    else
    guictrlsetdata($progress1, ($size2/$gesamtgroesse)*100)

    endif

    [/autoit]
  • Lösung gefunden:


    $F1 = 100
    $F2 = 300
    $F3 = 899
    $1P = ($F1+$F2+$F3)/100
    $P1 = Round($F1 / $1P, 0)
    $P2 = Round($F2 / $1P, 0)
    $P3 = Round($F3 / $1P, 0)

    Die Lösung funktioniert einwandfrei!
    Zusätzlich ist sie erweiterbar mit noch mehr Dateien, was ich gut finde.
    Auf die Lösung bin ich beim Malen des vorher geposteten Bildes gestoßen, wusste jedoch nicht wie sie zu verwirklichen ist.

    Zur Erklärung:
    In den ersten 3 Zeilen sind die Dateigrößen der Datein angegeben
    Die 4. Zeile berechnet, wieviele KB/B/MB/GB/... 1% von der Gesamtmenge der Daten sind
    Die 5.,6. und 7. Zeile berechnet die Prozentwerte, indem sie durch teilen schaut, wie oft die 1% Menge in die Datenmenge der Datei passt und rundet dies auf 0 Kommastellen.

    Falls ich mein Problem am Anfang schlecht beschrieben habe, entschuldige ich mich.

    Danke für eure Hilfe,
    Xyron

    Meine Werke


    EasyScreen (teilweise Crocoframe): <EasyScreen>
    Spotify2Title: <Spotify2Title> (zur Info, dies ist KEIN Spotify-Downloader! Wer das dachte... :rofl: sowas gibts hier nicht :thumbdown: )

  • Hey Autoitter,
    mein heutiges Problem ist mir peinlich, weil ich selber als Mathe-Profi-Schüler nicht auf die Lösung komme!

    Noch peinlicher ist, dass du obwohl du nach 1,5 Std auf die Lösung gekommen bist auch die gute Sitte vergessen hast den Thread auf gelöst zu stellen. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert