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
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Forum
  3. AutoIt 3
  4. Skripte

mNotice 1.0

  • munkee
  • 15. Juni 2013 um 14:48
  • munkee
    Anfänger
    Beiträge
    29
    • 15. Juni 2013 um 14:48
    • #1

    Hallo, heute möchte ich euch mein kleines Projekt "mNotice" vorstellen.
    Es ist ein simpler Notizenmanager mit (noch) nicht vielen Funktionen außer einer Notiz erstellen sowie löschen Funktion.

    Ich würde mich sehr freuen wenn ihr mir Tipps geben könnt, was ich Scriptseitig besser machen könnte.
    Auch wären Ideen gut, was für Funktionen ich noch einbauen könnte.

    Ich habe mir für die nächsten Versionen folgende Ziele gesetzt:

    • Bearbeiten-Funktionen
    • Designs
    • Aufzählungspunkte hinzufügen (wie in HTML bspw durch [p] o.Ä.)
    • Alarm setzen können
    • Widget
    • Weiteres folgt, sobald eure Ideen für mich machbar sind :)

    Ich bin noch nicht sehr erfahren in AutoIt, somit entschuldige ich mich für das teilweise schlechte Script, auch weil es ziemlich durcheinander ist.

    Screenshot(s):

    Spoiler anzeigen


    [Blockierte Grafik: http://munksoft.mu.funpic.de/screenupload/MczL5.png]

    -> GUI der Version 1.0


    Download:
    munkee.tk

    Quellcode:

    Spoiler anzeigen
    [autoit]


    ProgressOn("mNotice", "mNotice wird geladen, bitte warten.")
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Include <GuiButton.au3>
    #include <GuiListBox.au3>
    #Include <File.au3>

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

    $lMsgOld = "Nothing Here"

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

    ;****************************************************
    ; -> GUI: Notiz hinzufügen
    ;****************************************************
    $gui_add = GUICreate("mNotice - Notiz hinzufügen",348,381,-1,-1,-1,-1)
    GUICtrlCreateLabel("Beschreibung:",10,65,71,15,-1,-1)
    GUICtrlSetBkColor(-1,"-2")
    GUICtrlCreateLabel("Titel der Notiz:",10,5,71,15,-1,-1)
    GUICtrlSetBkColor(-1,"-2")
    $notetitle = GUICtrlCreateInput("",10,20,328,20,-1,512)
    $notedesc = GUICtrlCreateEdit("",10,80,326,261,2101316,-1)
    $savenote = GUICtrlCreateButton("Speichern",10,350,157,30,-1,-1)
    $cancel = GUICtrlCreateButton("Abbruch",184,350,155,30,-1,-1)
    ;****************************************************

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

    ;****************************************************
    ; -> Haupt-GUI
    ;****************************************************
    $gui_list = GUICreate("Notizen",575,329,-1,-1,$WS_CAPTION,-1)
    $close = GUICtrlCreateButton("Schließen",475,290,100,39,-1,-1)
    $delbut = GUICtrlCreateButton("Löschen",90,290,90,39,-1,-1)
    $newbut = GUICtrlCreateButton("Neu",0,290,90,39,-1,-1)
    $list = GUICtrlCreatelist("", 0, 0, 179, 290, 4096, 512)
    ;****************************************************

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

    ProgressSet(5, "Initialisiere Dateisystem...")

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

    If(FileExists("data/notes.idx")) Then
    $noticelist = FileRead("data/notes.idx")
    $fcl = _FileCountLines("data/notes.idx")
    Global $note = FileRead("data/" & FileReadLine("data/notes.idx", 1) & ".note")
    ProgressSet(10, "Lade Notizen...")
    $prg = 10
    For $i = 1 To $fcl Step 1
    $prg += 1
    ProgressSet($prg)
    $line = FileReadLine("data/notes.idx", $i)
    If(FileExists("data/" & $line & ".note")) Then
    _GUICtrlListBox_AddString($list, $line)
    Else
    FileDelete("data/" & $line & ".note")
    EndIf
    Next
    ProgressSet(100, "Bitte warten...")
    Else
    ProgressSet(40)
    DirCreate("data")
    _FileCreate("data/notes.idx")
    _FileCreate("data/Willkommen bei mNotice.note")
    FileWrite("data/Willkommen bei mNotice.note","Willkommen bei mNotice - Deinem eigenem Notizenmanager!" & @CRLF & "Links kannst du deine Notizen einsehen, ein Klick und die Beschreibung zu der jeweiligen Notiz erscheint auf dieser Seite." & @CRLF & "Unten siehst du Buttons, mit denen du neue Notizen erstellen, bearbeiten und auch löschen kannst." & @CRLF & @CRLF & "Viel Spaß mit mNotice wünscht dir munkee (Entwickler der Software)!")
    FileWrite("data/notes.idx","Willkommen bei mNotice")
    $note = FileRead("data/Willkommen bei mNotice.note")
    $noticelist = FileRead("data/notes.idx")
    _GUICtrlListBox_AddString($list, $noticelist)
    ProgressSet(100, "Bitte warten...")
    EndIf

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

    ProgressOff()
    $desc = GUICtrlCreateEdit($note,180,0,394,290,2099200,-1)
    GUISetState(@SW_SHOW,$gui_list)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE,$gui_add)
    Case $close
    Exit
    Case $newbut
    GUISetState(@SW_SHOW, $gui_add)
    Case $savenote
    $nt = GUICtrlRead($notetitle)
    FileOpen("data/notes.idx")
    FileWrite("data/notes.idx", @CRLF & $nt)
    ;MsgBox(0, "Title", "NT returned " & $nt)
    _GUICtrlListBox_AddString($list, $nt)
    FileOpen("data/" & $nt & ".note")
    _FileCreate("data/" & $nt & ".note")
    $nd = GUICtrlRead($notedesc)
    FileWrite("data/" & $nt & ".note",$nd)
    GUISetState(@SW_HIDE,$gui_add)
    ;MsgBox(1, "Notiz hinzugefügt.", "Die Notiz '" & $nt & "' wurde zur Datenbank hinzugefügt.")
    TrayTip("Notiz hinzugefügt","Die Notiz '" & $nt & "' wurde zur Datenbank hinzugefügt." & @CRLF & "Zur Speicherung wurde das Programm neugestartet.",10000)
    Terminate()
    Case $delbut
    $yesno = MsgBox(36,"Notiz löschen", "Bist du sicher dass du die markierte Notiz löschen willst?")
    If $yesno == 6 Then
    $File = FileRead("data/notes.idx")
    $Del = GuiCtrlRead($list)
    $Save = StringReplace($File, $Del, "")
    FileDelete("data/notes.idx")
    FileDelete("data/" & $Del & ".note")
    _FileCreate("data/notes.idx")
    FileWrite("data/notes.idx", $Save)
    TrayTip("Notiz hinzugefügt","Die Notiz wurde aus der Datenbank gelöscht." & @CRLF & "Zur Speicherung wurde das Programm neugestartet.",10000)
    Terminate()
    EndIf
    EndSwitch

    $lMsg = GuiCtrlRead($list)
    If $lMsg <> $lMsgOld Then
    $lMsgOld = $lMsg
    ;MsgBox(0, "Debug", $lMsg)
    $text = FileRead("data/" & $lMsg & ".note")
    GuiCtrlDelete($desc)
    $desc = GUICtrlCreateEdit("",180,0,394,290,2099200,-1)
    GuiCtrlSetData($desc, $text, "Fehler: Notiz wurde nicht in der Datenbank gefunden.")
    EndIf
    WEnd

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

    Func Terminate()
    if @Compiled then
    Run('"' & @AutoItExe & '"')
    Else
    Run('"' & @AutoItExe & '" "' & @ScriptFullPath & '"')
    EndIf
    Exit
    EndFunc

    [/autoit]


    Wie gesagt würde ich mich sehr über Feedback freuen! :)

    Edit-Log

    Spoiler anzeigen


    15. Juni '13 - 15:57: 2 Sachen zur "Todo" hinzugefügt.

    [Blockierte Grafik: http://easy-android.de/wcf/images/smilies/logo.png]

    Wieder Probleme mit dem Android Handy?

    Möchtest der Community durch Tutorials was beibringen?

    Hast was programmiert, was du der Welt zeigen willst?

    Hast sonstige Anliegen die mit Android zu tun haben?

    Dann ab auf easy.android.de - hier wird dir geholfen!

    Einmal editiert, zuletzt von munkee (15. Juni 2013 um 15:57)

  • alpines
    天照大神
    Beiträge
    4.209
    • 15. Juni 2013 um 14:55
    • #2

    Nette Idee,
    könnte vielleicht ein bisschen am Design noch was vertragen.

    Eventuell könnte man ein Button einfügen der das eine neue Form zeigt (die alte verschwindet
    und dann in der neuen kleinen Form alle Notizen drinne sind um sie z.B. aufm 2. Bildschirm (wenn man einen hat) abzulegen.
    Uhrzeit und Alarm kann man hinzufügen.

    Freu mich schon auf die kommenden Versionen, nettes Tool!

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

    Einmal editiert, zuletzt von alpines (15. Juni 2013 um 15:04)

  • munkee
    Anfänger
    Beiträge
    29
    • 15. Juni 2013 um 15:29
    • #3
    Zitat von alpines


    Eventuell könnte man ein Button einfügen der das eine neue Form zeigt (die alte verschwindet
    und dann in der neuen kleinen Form alle Notizen drinne sind um sie z.B. aufm 2. Bildschirm (wenn man einen hat) abzulegen.
    Uhrzeit und Alarm kann man hinzufügen.

    Ich verstehe das jetzt nur halb, könntest du mir das bitte nochmal erläutern? :D

    [Blockierte Grafik: http://easy-android.de/wcf/images/smilies/logo.png]

    Wieder Probleme mit dem Android Handy?

    Möchtest der Community durch Tutorials was beibringen?

    Hast was programmiert, was du der Welt zeigen willst?

    Hast sonstige Anliegen die mit Android zu tun haben?

    Dann ab auf easy.android.de - hier wird dir geholfen!

  • alpines
    天照大神
    Beiträge
    4.209
    • 15. Juni 2013 um 15:46
    • #4

    So eine Art Notizzettel für die Notizzettel.

    Eine kleine Form (so groß wie ein Sidebar-Gadget z.B.) auf der die Titel der Nachrichten stehen. (List?)
    Dann speichert man im Programm die Notizen mit Titel ein und wenn man den Button auf der Form drückt (z.B. "verkleinern") dann kommt diese Form zum vorschein.

    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Notizen", 187, 138, 192, 124, BitOR($WS_SYSMENU,$WS_POPUP))
    $List1 = GUICtrlCreateList("", 0, 0, 185, 136)
    GUICtrlSetData(-1, "Hallo|Notiz 1|Notiz 2|Notiz 3")
    GUISetState(@SW_SHOW)

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

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

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

    EndSwitch
    WEnd

    [/autoit]


    $WS_SYSMENU kann man auch weglassen, aber wenn man es verwendet muss man eine Funktion dazu schreiben, das wenn man auf die Form L-klickt und hält die neue Mausposition dann die Fensterposition ist.

    Um aus dem kleinen Fenster wieder das große anzeigen zu lassen könnte man (da voraussichtlich in der kleinen Form kein Button zu sehen ist) es im TrayMenu einfügen.

    In der Switch-Case Abfrage von GUIGetMsg kann mann wunderschön das angeklickte von $List1 abfragen und bei Doppelklick kommt deine aktuelle Form (wo man die Nachrichten alle hat mit den 3 Buttons etc) zum vorschein und die Nachricht wird gezeigt.

    Desweiteren könnte man ja noch eine InputBox (für dein aktuelles Script) hinzufügen in der die Uhrzeit eingetragen wird wann ein Alarm ertönen soll (und bsp-weise auch welcher Alarm) und man eine Benachrichtigung erhält.
    Das würde dann aber vom schlichten Notizprogramm fast schon zu einer Agenda werden :D

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

    Einmal editiert, zuletzt von alpines (15. Juni 2013 um 15:52)

  • munkee
    Anfänger
    Beiträge
    29
    • 15. Juni 2013 um 15:55
    • #5

    Achso, verstehe, also so eine Art Widget - Editiere ich gleich mal oben rein! Danke für den Vorschlag :)

    Das mit dem Alarm ist schon eine gute Idee für Notizen, die an einem bestimmten Zeitpunkt gesehen werden sollen, damit man sich daran erinnert, füge ich auch mal oben rein :)

    [Blockierte Grafik: http://easy-android.de/wcf/images/smilies/logo.png]

    Wieder Probleme mit dem Android Handy?

    Möchtest der Community durch Tutorials was beibringen?

    Hast was programmiert, was du der Welt zeigen willst?

    Hast sonstige Anliegen die mit Android zu tun haben?

    Dann ab auf easy.android.de - hier wird dir geholfen!

  • alpines
    天照大神
    Beiträge
    4.209
    • 15. Juni 2013 um 15:57
    • #6

    Freut mich das ich helfen konnte! :)

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • HYRULE
    Anfänger
    Beiträge
    17
    • 16. Juni 2013 um 21:57
    • #7

    Hallo munkee!

    Ich finde dein Programm "mNotice 1.0" eine nette Idee ! :D
    Da es die Version 1.0 ist kann man nicht meckern, ein paar Verbesserungsvorschläge hätte ich für dich: Wenn man das Programm startet könntest du es so einbauen das der Cursor nicht Blinkt, du könntest z.B die Willkommensnachricht in ein "Label" packen so wäre das Problem gelöst :D

    Design technisch ist es noch sehr viel drin, du könntest vielleicht noch dein eigenes Icon erstellen, da mir dein Icon irgendwie bekannt vorkommt.
    Wenn du möchtest und eins brauchst kannst du dich gerne bei mir melden.

    Mit freundlichen Grüßen

    HYRULE ^^:thumbup:

    [Blockierte Grafik: http://img829.imageshack.us/img829/8742/yzrr.jpg]

  • munkee
    Anfänger
    Beiträge
    29
    • 16. Juni 2013 um 22:01
    • #8

    HYRULE:
    Freut mich dass es dir soweit gefällt, derzeit sieht die GUI so aus:


    [Blockierte Grafik: http://munksoft.mu.funpic.de/screenupload/g7LIp.png]


    Hat sich also schonmal etwas verbessert und es wird sich weiterhin verbessern :)

    Wenn du mir ein Icon machen könntest, wäre es Ideal, das aktuelle habe ich einfach aus iconfinder rausgenommen :D

    [Blockierte Grafik: http://easy-android.de/wcf/images/smilies/logo.png]

    Wieder Probleme mit dem Android Handy?

    Möchtest der Community durch Tutorials was beibringen?

    Hast was programmiert, was du der Welt zeigen willst?

    Hast sonstige Anliegen die mit Android zu tun haben?

    Dann ab auf easy.android.de - hier wird dir geholfen!

  • HYRULE
    Anfänger
    Beiträge
    17
    • 16. Juni 2013 um 22:50
    • #9

    Ich habe mal eben dieses Icon zusammen gebastelt http://ul.to/gs1c9zrw
    Falls es dir nicht gefällt ändere ich es gerne oder du sagst mir was du dir so vorstellst :D

    Mit freundlichen Grüßen

    HYRULE ^^

    [Blockierte Grafik: http://img829.imageshack.us/img829/8742/yzrr.jpg]

  • munkee
    Anfänger
    Beiträge
    29
    • 17. Juni 2013 um 13:24
    • #10

    Perfekt!! Wenn du Lust hast kannst du auch mal ein paar Designs basteln, sobald ich das Designsystem und das dazugehörige Template fertig hab :D

    [Blockierte Grafik: http://easy-android.de/wcf/images/smilies/logo.png]

    Wieder Probleme mit dem Android Handy?

    Möchtest der Community durch Tutorials was beibringen?

    Hast was programmiert, was du der Welt zeigen willst?

    Hast sonstige Anliegen die mit Android zu tun haben?

    Dann ab auf easy.android.de - hier wird dir geholfen!

  • HYRULE
    Anfänger
    Beiträge
    17
    • 17. Juni 2013 um 14:35
    • #11

    Immer Gerne :D
    Schreib mir einfach ne PN :D

    [Blockierte Grafik: http://img829.imageshack.us/img829/8742/yzrr.jpg]

  • munkee
    Anfänger
    Beiträge
    29
    • 17. Juni 2013 um 20:21
    • #12

    Mach ich sobald das Templatesystem für Themes fertiggestellt habe :)
    Vielen Dank nochmal! :>


    /edit: Für die, die jetzt schon ein paar Designs machen möchten, hier schonmal die style.ini, sollte sich von selbst erklären. :)

    Spoiler anzeigen
    Code
    [GUI]
    Height=350
    Width=700
    BGimage=background.jpg
    [ListBox]
    PosX=10
    PosY=16
    Width=219
    Height=318
    [NoteBox]
    PosX=245
    PosY=13
    Width=368
    Height=322
    [CloseButton]
    Height=71
    Width=34
    PosX=622
    PosY=301
    [SettingsButton]
    Height=71
    Width=34
    PosX=622
    PosY=136
    [HelpButton]
    Height=71
    Width=34
    PosX=622
    PosY=178
    [EditButton]
    Height=71
    Width=34
    PosX=622
    PosY=54
    [NewButton]
    Height=71
    Width=34
    PosX=622
    PosY=13
    [DelButton]
    Height=71
    Width=34
    PosX=622
    PosY=95
    Alles anzeigen

    /e2 Schreibfehler

    [Blockierte Grafik: http://easy-android.de/wcf/images/smilies/logo.png]

    Wieder Probleme mit dem Android Handy?

    Möchtest der Community durch Tutorials was beibringen?

    Hast was programmiert, was du der Welt zeigen willst?

    Hast sonstige Anliegen die mit Android zu tun haben?

    Dann ab auf easy.android.de - hier wird dir geholfen!

    3 Mal editiert, zuletzt von munkee (17. Juni 2013 um 23:34)

  • alpines
    天照大神
    Beiträge
    4.209
    • 18. Juni 2013 um 18:46
    • #13

    Super das sich dein Projekt so toll weiterentwickelt!
    Ich möchte auch meinen Beitrag dazu leisten und hier nochmal ein kleines Feedback bzw. ein Verbesserungsvorschlag.

    Wenn du wirklich die Daten der GUI in eine .INI speichern möchtest (find ich gut) dann denk ich hat man nur 2 Möglichkeiten:

    1. Du verschlüsselst die Daten einfach mit der

    [autoit]


    #include <String.au3>
    _StringEncrypt

    [/autoit]

    oder du speicherst die Werte als Hex-Werte ein

    [autoit]


    #include <String.au3>
    _StringToHex
    _HexToString

    [/autoit]

    ,weil man die Daten sonst verändern könnte. Klar, kann man so auch aber halt schwieriger.

    ODER

    2. Wenn du wirklich daraus ein riesen großes Programm statt "Skript" machen möchtest (man kann sich um die Definition streiten) dann könnte man vielleicht eine art Re-Arranger bzw. Editor für die Oberfläche bauen, so das
    jeder User sich die Öberfläche anpassen kann wie er möchte, sonst seh ich die Daten für die .Ini keinen Sinn.

    Aber wie du sagtest arbeitest du ja bereits am Templatesystem. Freu mich schon drauf!

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • munkee
    Anfänger
    Beiträge
    29
    • 18. Juni 2013 um 20:43
    • #14

    Naja, man kann es sich so wie ein Foren-Design vorstellen, die kompletten Design-Daten gehören in einen Ordner, wenn man den Ordner löscht, wird wieder das Standard-Design zu sehen sein, wenn man etwas in der .ini ändert, selbst schuld - dann muss man entweder die style.ini/den Ordner löschen oder man setzt das Design bei den Einstellungen zurück. :)

    /e: das Ziel ist es ja, seine eigenen Designs machen zu können. ^^

    [Blockierte Grafik: http://easy-android.de/wcf/images/smilies/logo.png]

    Wieder Probleme mit dem Android Handy?

    Möchtest der Community durch Tutorials was beibringen?

    Hast was programmiert, was du der Welt zeigen willst?

    Hast sonstige Anliegen die mit Android zu tun haben?

    Dann ab auf easy.android.de - hier wird dir geholfen!

  • HYRULE
    Anfänger
    Beiträge
    17
    • 19. Juni 2013 um 11:52
    • #15

    Also ich könnte dir ein Design erstellen, vorausgesetzt wir können uns mal Unterhalten wie du dir das genau Vorstellst.. :D

    Mit freundlichen Grüßen

    HYRULE ^^

    [Blockierte Grafik: http://img829.imageshack.us/img829/8742/yzrr.jpg]

  • m-obi
    Gast
    • 20. Juni 2013 um 12:13
    • #16

    Hallo,

    ein tolles Tool. Nur hätte ich ein paar Tips.
    1. Wenn du bei einem Funktionsaufruf zum Ende hin nur Standardparameter setzt mit -1 oder Default, brauchst du die nicht aufführen, da sie ja optional sind.
    Also reicht es wenn du anstatt

    [autoit]

    GUICreate("mNotice - Notiz hinzufügen",348,381,-1,-1,-1,-1)

    [/autoit]


    es so schreibst

    [autoit]

    GUICreate("mNotice - Notiz hinzufügen",348,381)

    [/autoit]


    2. Funktionen und der eigentliche Code kommt eigentlich erst nach den Includes. Auch ProgressOn. Die Abarbeitung der Include-Zeilen merkst du zeitlich überhaupt nicht.
    3. Den Operator "==" verwendet man eigenlich nur dort wo man Strings casesensitive vergleichen will. Also bei MsgBox überhaupt nicht. Und wenn du Rückgabewerte von bestimmten Funktionen nur einmal brauchst, brauchst du deswegn nicht extra eine Variable erstellen. Bei kleineren Programmen ist das noch übersichtlich. Aber wenn Programme größer und komplexer (> 500 Codezeilen) sollte man sich das schon angewöhnen.
    Somit könnte diese Funktion.

    [autoit]

    $yesno = MsgBox(36,"Notiz löschen", "Bist du sicher dass du die markierte Notiz löschen willst?")
    If $yesno == 6 Then
    $File = FileRead("data/notes.idx")
    $Del = GuiCtrlRead($list)
    $Save = StringReplace($File, $Del, "")
    FileDelete("data/notes.idx")
    FileDelete("data/" & $Del & ".note")
    _FileCreate("data/notes.idx")
    FileWrite("data/notes.idx", $Save)
    TrayTip("Notiz hinzugefügt","Die Notiz wurde aus der Datenbank gelöscht." & @CRLF & "Zur Speicherung wurde das Programm neugestartet.",10000)
    Terminate()
    EndIf

    [/autoit]


    so aussehen

    [autoit]

    If MsgBox(36,"Notiz löschen", "Bist du sicher dass du die markierte Notiz löschen willst?") = 6 Then
    $File = FileRead("data/notes.idx")
    $Del = GuiCtrlRead($list)
    FileDelete("data/notes.idx")
    FileDelete("data/" & $Del & ".note")
    _FileCreate("data/notes.idx")
    FileWrite("data/notes.idx", StringReplace($File, $Del, ""))
    TrayTip("Notiz hinzugefügt","Die Notiz wurde aus der Datenbank gelöscht." & @CRLF & "Zur Speicherung wurde das Programm neugestartet.",10000)
    Terminate()
    EndIf

    [/autoit]

    Sollen jetzt keine Verbesserungen sein, sondern nur Tips, da es bestimmt nicht dein einziges Programm sein wird.

  • alpines
    天照大神
    Beiträge
    4.209
    • 20. Juni 2013 um 13:42
    • #17

    m-obis Vorschlag kann ich nur zustimmen.

    Source-Code Optimierung zahlt sich immer aus.
    Du kannst auch das

    [autoit]


    _FileCreate

    [/autoit]


    weglassen, da FileWrite automatisch die Datei erstellt wenn sie nicht existent ist.
    Dann sparst du an einem include, wenn du es nicht andersweitig verwendest.

    Eventuell solltest du auch prüfen ob die Dateien gelöscht wurden (funktioniert immer wenn man die Rechte dazu hat, einige haben sie aber vielleicht nicht).
    Aber das ist eigentlich überflüssig, wollt ich nur mal am rande gesagt haben!

    Desweiteren machen mich dein Variablennamen ein bisschen nervös :)

    [autoit]


    $File = FileRead

    [/autoit]


    man weiß nicht wenn man die Variable $File irgendwo anders verwenden möchte, welcher Typ sie ist.
    Ein Fehler befindet sich aber in der Zeile. (Ich hab nur den Snippet angeguckt.) Wenn du die Datei die du FileReaden möchtest nicht geöffnet hast dann ist das nicht gut.
    Gewöhn es dir an

    [autoit]


    $hFile = FileOpen ;h steht für Handle. Die einzelnen Buchstaben bzw. Variablenamen kannst du unter "ungarische Notation" googlen.
    $sFile= FileRead($hFile) ;s steht für String.
    FileClose($hFile)

    [/autoit]

    Aber das sind nur Schönheitsfehler, bzw. Code-Optimierungsfehler aber das kommt sicherlich noch!

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

    Einmal editiert, zuletzt von alpines (20. Juni 2013 um 14:17)

  • munkee
    Anfänger
    Beiträge
    29
    • 20. Juni 2013 um 14:44
    • #18

    Ich weiß eure Verbesserungsvorschläge sowie Tipps sehr zu schätzen und bedanke mich dafür, ich werde versuchen diese Vorschläge im Laufe der nächsten Zeit abzuarbeiten. :)

    [Blockierte Grafik: http://easy-android.de/wcf/images/smilies/logo.png]

    Wieder Probleme mit dem Android Handy?

    Möchtest der Community durch Tutorials was beibringen?

    Hast was programmiert, was du der Welt zeigen willst?

    Hast sonstige Anliegen die mit Android zu tun haben?

    Dann ab auf easy.android.de - hier wird dir geholfen!

  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™