1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. nuts

Beiträge von nuts

  • Probleme beim Abändern von Buttons

    • nuts
    • 4. Oktober 2008 um 18:56

    Hey,

    ich versuche derzeit mir einen Programm/Script - Starter zu erstellen.

    Klappt soweit auch ganz gut, allerdings bereitet mir die GUI bzw. die Buttons Probleme.

    Der Standardbutton gefällt mir nicht so gut und ich wollte den etwas ändern.

    Aus der Hilfe habe ich folgenden Befehl entnommen:

    [autoit]


    $TVbutton = GUICtrlCreateButton ("TV", 150 , 10, 150, 50)
    GUICtrlSetFont (3,15, 600, "", "")

    [/autoit]


    Somit kann ich die Schriftgröße, Schriftart usw. verändern. Nur wie ändere ich die Hintergrundfarbe der Buttons? Oder die Schriftfarbe?

    Ein weiteres Problem von GUICtrlSetFont ist, dass ich die Zeile für jeden Buttons einfügen muss. Die sollen eigentlich alle gleich aussehen und ich frage mich ob das nicht auch eleganter geht?

    Vielen dank schonmal für die Antworten.

    Gruß Nuts

  • ASCII Code: Zeilen automatisch löschen?

    • nuts
    • 29. Juli 2008 um 16:17

    wahnsinn das funktioniert :thumbup:

    vielen dank.

    den zweiten code hab ich sogar verstanden. nächstes mal schaff ichs hoffentlich selber.

  • ASCII Code: Zeilen automatisch löschen?

    • nuts
    • 29. Juli 2008 um 14:33

    hm bin mir nicht sicher ob das ganz mein problem löst. (bin mir auch nicht sicher ob ich die func verstehe)

    zeilen der buchungssätze sind nicht doppelt vorhanden (die zeilen enthalten z.b. noch unterschiedliche informationen, die ich beim import gar nicht einlese) - sie bewirken nur, dass sie sich gegenseitig aufheben (buchungstechnisch).

    im prinzip sollte einfach jede zweite zeile gelöscht werden ohne das vergleichen der beiden zeilen.

  • ASCII Code: Zeilen automatisch löschen?

    • nuts
    • 29. Juli 2008 um 13:50

    Hey,

    ich habe ein kleines problem und bin mir nicht sicher ob sich sowas über autoit lösen lässt.

    und da ich erst anfange mich mit autoit zu befassen wollte ich mal fragen ob sowas grundsätzlich möglich ist!

    mein problem:

    ich muss einen acsii export eines buchhaltungsprog. in datev importieren

    zeilen sehen ca. so aus: (das in klammer habe ich zur erläuterung hinzugefügt)

    Code
    1 (buchungssatz) 22.02.2007 (buchungsdatum) 100,00 (betrag) 1200 (konto) 9008 (gegenkonto) 
    1 (buchungssatz) 22.02.2007 (buchungsdatum) 100,00 (betrag) 9008 (konto) 1200 (gegenkonto)

    eine sonstige formatierung gibts dabei nichtmehr.

    jetzt heben sich die buchungssätze komischerweise gegenseitig auf, sodass per saldo jedes buchungskonto nach dem import 0 wird :(

    keine ahnung was da beim export schief geloffen ist!

    daher überlege ich mir ob es nicht möglich wäre einfach jede doppelte zeile automatisch zu löschen? wie wäre dafür den ansatz eines autoit skripts?

    der ganze satz umfasst ca. 13000 buchungssätze und daher kann ich nicht per hand die retoure buchung löschen.

    vielen danke schonmal für die meinungen!

    gruß nuts

  • Benötige Hilfe beim Backup-Skript

    • nuts
    • 19. Juli 2008 um 17:17

    ah okay! super - vielen dank :thumbup:

    das ganze funktioniert - wer hätte das gedacht. :D

  • Benötige Hilfe beim Backup-Skript

    • nuts
    • 19. Juli 2008 um 17:00

    ah ich denke ich habs geschafft:

    Spoiler anzeigen
    [autoit]

    #cs
    Titel: Aufnahmesicherung
    Autor: Michael Wolf
    Beschreibung: Backup von SSD auf Datentank
    #ce

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

    ;Definition der Variablen
    dim $titel
    $titel = "Backup-Skript"
    dim $quelle
    $quelle = "C:\Dokumente und Einstellungen\Nussman\Eigene Dateien\test-backup2"
    dim $ziel
    $ziel = "H:\test"
    dim $ziel2
    $ziel2 = "D:\test-backup"
    dim $freierSpeicher
    dim $sizequelle1
    dim $sizequelle2
    dim $sizeziel1
    dim $sizeziel2
    $freierSpeicher = DriveSpaceFree( "D:\" )

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

    ;prüft den freien Speicherplatz
    If $freierSpeicher > 15*1024 Then
    MsgBox (64, $titel, "Mehr als 15 GB verfügbar!", 5)
    Exit ; bricht ab, wenn mehr als 15 GB frei sind, ansonsten einfach weiter in der nächsten Zeile

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

    elseif $freierSpeicher < 15*1024 Then
    ;prüft ob Zielverzeichnis existiert
    if FileExists($ziel2) Then

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

    ; 1 Schritt: Check des Kopiervorgangs
    $sizequelle1 = DirGetSize ($quelle)
    $sizeziel1 = DirGetSize ($ziel2)

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

    ;Kopiert Quelle -> Ziel
    dircopy ( $quelle, $ziel2 , 1 )

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

    ; 2 Schritt: Check des Kopiervorgangs
    $sizequelle2 = DirGetSize ($quelle)
    $sizeziel2 = DirGetSize ($ziel2)

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

    if $sizeziel2 = $sizequelle1 + $sizeziel1 Then
    FileDelete ($quelle)
    Else
    MsgBox(64, $titel, "Sicherung fehlgeschlagen" , 5)

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

    EndIf

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

    ;kurz warten
    sleep (1000)

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

    ;datein in quelle löschen
    FileDelete ($quelle)

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

    else
    MsgBox(64, $titel, "Zielverzeichnis nicht gefunden!" , 5)
    EndIf

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

    EndIf

    [/autoit]

    fehlt nurnoch ein logfile wenn das kopieren fehlgeschlagen ist. (damit kämpfe ich grad)

    sieht sonst jemand grobe bugs? meine tests waren alle erfolgreich - aber mir fällt nix geeignetes ein um das fehlgeschlagene kopieren zu simulieren! jemand dafür ne idee?

    ajo: dircopy funktioniert nur mit dem flag 1 (was auch nicht schlimm ist)

    laut hilfe sollte es aber auch mit flag 0 funktionieren und einfach nix überschreiben?

  • Benötige Hilfe beim Backup-Skript

    • nuts
    • 19. Juli 2008 um 15:09

    hehe super das abfragen des speicherplatzes läuft schonmal, danke :thumbup:

    die prüfsummen geschichte verstehe ich noch nicht so ganz ?(

    es gibt im prinzip im quell ordner und im ziel ordner keine unterordner sondern nur die aufnahme dateien.

    um die größe der ordner zu vergleichen müsste ich doch so vorgehen:

    Quellegröße (A) + Zielgröße (B) vor dem kopieren abfragen

    und dann B nach dem kopieren abfragen und diesen mit den gesammelten Daten ( B - A) vor dem kopieren vergleichen.

    klingt auch recht kompliziert für jemanden, der sein erstes skript bastelt ;(

    über md5 checksummen muss ich erstmal etwas googeln. sagt mir nichts und in der hilfe finde ich leider auch keinen ansatz!

    wie lange das ganze dauert wäre im eigentlich egal, da die ganze aktion erst nach dem ins bett gehen startet ;)

  • Benötige Hilfe beim Backup-Skript

    • nuts
    • 19. Juli 2008 um 04:05

    Hey alle zusammen,

    ich versuche mich gerade am erstellen eines scriptes und stecke irgendwie in einer sackgasse :(

    folgendes ist mein ziel:

    ich möchte bald in meinem htpc ein ssd laufwerk verbauen um strom zusparen und den lärm der "normalen" festplatten zu vermeiden.

    leider sind die dinger noch sehr teuer und mehr als 64gb werd ich mir da eh nicht leisten können.

    diese sind aber mit tv aufnahmen (gerade bei hdtv) sehr schneller gefüllt und daher muss das ganze regelmäßig auf eine herkömmliche festplatte gesichert werden.

    vom prinzip her wollte ich dafür ein skript erstellen und dieses vor jedem herunterfahren ausführen - folgenden "plan" hab ich mir dazu überlegt. leider mangelt es an der praktischen umsetzung!

    1. Schritt: prüfen wieviel freier speicherplatz noch auf der ssd platte zur verfügung steht.

    bei >15 GB soll sich das skript einfach wieder beenden

    2. Schritt: prüfen ob die datentank festplatte überhaupt angeschlossen ist (wird meistens nicht der fall sein)

    -> wenn nein: Statusmeldung abgeben

    3. Schritt:

    Ordner Aufnahmen auf der ssd in den ordner Aufnahmen auf der Datenfestplatte kopieren

    4. Schritt:

    Eine Art Prüfsumme zwischen den kopierten Datein um sicherzustellen, dass alles funktioniert hat.

    5. Schritt:

    Inhalt des Aufnahme ordners auf der ssd löschen.

    6. Schritt

    PC herunterfahren (schritt fehlt in meinem entwurf, aber das bekomm ich schon hin)

    soweit bin ich gekommen:

    [autoit]


    #cs
    Titel: Aufnahmesicherung
    Autor: Nuts
    Beschreibung: Backup von SSD auf Datentank
    #ce
    ;Definition der Variablen
    dim $titel
    $titel = "Backup-Skript"
    dim $quelle
    $quelle = "C:\Dokumente und Einstellungen\Nussman\Eigene Dateien\test-backup2"
    dim $ziel
    $ziel = "H:\test"
    dim $ziel2
    $ziel2 = "D:\test-backup"
    dim $freierSpeicher
    $freierSpeicher = DriveSpaceFree( "D:\" )

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

    ;prüft den freien Speicherplatz
    MsgBox(4096, "Free space on D:\", $freierSpeicher & " MB")
    ;prüft ob Zielverzeichnis existiert
    if FileExists($ziel2) Then
    ;Kopiert Quelle -> Ziel
    dircopy ( $quelle, $ziel2 , 0 )
    ;kurz warten
    sleep (1000)
    ;datein in quelle löschen
    FileDelete ($quelle)
    else
    MsgBox(64, $titel, "Zielverzeichnis nicht gefunden!" , 5)
    EndIf

    [/autoit]

    die variable "ziel" ist ein usb stick zum überprüfen ob das zielverzeichnis existiert und wird eigentlich nicht benötigt.

    meine probleme sind auf aus der info wieviel speicherplatz noch zur verfügung steht eine if then/else schleife einzuleiten um eben das backup zu starten oder den pc gleich herunterzufahren.

    und bei schritt 4, also der prüfsumme, fehlt mir komplett der ansatz wie das gehen soll.

    der datentank wird mit der zeit natürlich immer "voller" also kann ich nicht einfach abgleichen ob quellverzeichnis und zielverzeichnis gleich groß sind.

    irgendeine überprüfung, ob das kopieren erfolgreich war, wäre aber schon super, da sonst meine aufnahmen im ernstfall im quellverzeichnis gelöscht werden und im zielverzeichnis nur unvollständig oder fehlerhaft vorhanden sind! ist sowas mit autoit möglich?

    ansonsten funktioniert das ganze eigentlich wie es soll :D

    was noch interessant wäre: muss ich nach "dircopy" eine art wartefunktion einbauen? immerhin könnte es passieren, dass ~15gb kopiert werden müssen und das dauert schon etwas länger. bei meinen tests (nur mit ~1gb großen dateien) war dies nicht nötig - also das skript hat erst weitergemacht nachdem die datein kopiert wurden!

    vielen dank schonmal für die antworten.

    gruß nuts

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™