Frage zu neuem Projekt

  • mhh, ok da muss ich mich jetz rein arbeiten und gucken wie ich das einbringen soll...

    Und es gibt sicher keine andere möglichkeit dafür? :huh:

    EDIT: Ok, hab rausgefunden wie es geht, is zwar noch etwas wacklick auf den Beinen, aber es scheint zu gehn ^^

    THX

    Einmal editiert, zuletzt von Commander21 (27. Februar 2009 um 21:48)

  • So, soweit schon ganz gut, aber eines gibt es noch, dazu finde ich in der UDF grad nix.
    Und zwar, soll, egal bei welcher schriftart und größe, Enter gedrückt werden, wenn der Text am rechten Rand des Schreibfensters anstöst.

    Also er soll dann net einfach weiter schreiben, so das unten ein Scroll entsteht, sondern eine Zeile nach unten gehn.
    Wie genau mach ich das?

    Edit: OK, habs grad gefunden, geht mit $ES_DISABLENOSCROLL ^^

    Edit2: Hier, kannst ja mal gucken, aber is noch lang net fertig, da kommen noch funktionen dazu...

    Spoiler anzeigen
    [autoit]

    ; ----- Includes -----
    #include <GuiRichEdit.au3>
    ; ----- Optionen und GUICreate -----
    $GUI = GUICreate ("Light-Map", @DesktopWidth, @DesktopHeight - 60)
    GUISetState (@SW_SHOW)
    GUISetBkColor (0x5da24b)
    ; ----- Gloabel-Variablen -----
    Global $msg ; Msg ( Funktionen )
    Global $MainEdit ; Edits
    Global $FontCombo, $ColorCombo, $SizeCombo ; Combos
    Global $DataMenu, $NewItem, $OpenItem, $SaveItem, $EditMenu, $CutItem, $CopyItem, $PastItem, $ExitItem, $HelpMenu, $HelpItem ; Menüs / Items
    ; ----- GUI-Edits, -Buttons, -Combos u.s.w... -----
    ; __GUI-Edit__
    $MainEdit = _GUICtrlRichEdit_Create ($GUI, 30, 50, 800, 870, $ES_DISABLENOSCROLL)
    ; __GUI-Combos__
    $FontCombo = GUICtrlCreateCombo ("", 30, 20, 150)
    GUICtrlSetData (-1, "Arial|Verdana|Georgia|Times New Roman", "Georgia")
    $FontComboRead = GUICtrlRead ($FontCombo, 1)
    _GUICtrlRichEdit_SetFontName($MainEdit, $FontComboRead)
    $SizeCombo = GUICtrlCreateCombo ("", 200, 20, 50)
    GUICtrlSetData (-1, "2|4|6|8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40|42|44|46|48|50", "10")
    $SizeComboRead = GUICtrlRead ($SizeCombo, 1)
    _GUICtrlRichEdit_SetFontSize($MainEdit, $SizeComboRead)
    $ColorCombo = GUICtrlCreateCombo ("", 270, 20, 100)
    GUICtrlSetData (-1, "Rot|Gelb|Blau|Grün|Schwarz", "Schwarz")
    ; __GUI-Menüs__
    $DataMenu = GUICtrlCreateMenu ("Datei")
    $NewItem = GUICtrlCreateMenuItem ("Neu", $DataMenu)
    $OpenItem = GUICtrlCreateMenuItem ("Öffnen", $DataMenu)
    $SaveItem = GUICtrlCreateMenuItem ("Speichern", $DataMenu)
    $ExitItem = GUICtrlCreateMenuItem ("Schließen", $DataMenu)
    $EditMenu = GUICtrlCreateMenu ("Bearbeiten")
    $CopyItem = GUICtrlCreateMenuItem ("Kopieren", $EditMenu)
    $PastItem = GUICtrlCreateMenuItem ("Einfügen", $EditMenu)
    $CutItem = GUICtrlCreateMenuItem ("Ausschneiden", $EditMenu)
    $HelpMenu = GUICtrlCreateMenu ("Hilfe")
    $HelpItem = GUICtrlCreateMenuItem ("Hilfe", $HelpMenu)
    ; ----- Funktionen -----
    While 1
    $msg = GUIGetMsg ()
    Select
    Case $msg = $SizeCombo
    $SizeComboRead = GUICtrlRead ($SizeCombo, 1)
    _GUICtrlRichEdit_SetFontSize($MainEdit, $SizeComboRead)
    Case $msg = $FontCombo
    $FontComboRead = GUICtrlRead ($FontCombo, 1)
    _GUICtrlRichEdit_SetFontName($MainEdit, $FontComboRead)
    Case $msg = $ColorCombo
    $ColorComboRead = GUICtrlRead ($ColorCombo, 1)
    If $ColorComboRead = "Rot" Then $FontColor = 0x0000FF
    If $ColorComboRead = "Gelb" Then $FontColor = 0x00FFFF
    If $ColorComboRead = "Blau" Then $FontColor = 0xFF0000
    If $ColorComboRead = "Grün" Then $FontColor = 0x00FF00
    If $ColorComboRead = "Schwarz" Then $FontColor = 0x000000
    _GUICtrlRichEdit_SetFontColor($MainEdit, $FontColor)
    Case $msg = $NewItem

    Case $msg = $OpenItem

    Case $msg = $OpenItem

    Case $msg = $SaveItem

    Case $msg = $ExitItem
    If MsgBox(4, "Beenden", "Wollen Sie das Programm wirklich beenden?") = 6 Then Exit
    Case $msg = $CopyItem
    _GUICtrlRichEdit_Copy($MainEdit)
    Case $msg = $PastItem
    _GUICtrlRichEdit_Paste($MainEdit)
    Case $msg = $CutItem
    _GUICtrlRichEdit_Cut($MainEdit)
    Case $msg = $HelpItem

    EndSelect
    WEnd

    [/autoit]

    2 Mal editiert, zuletzt von Commander21 (27. Februar 2009 um 22:38)

  • So, brauch nochmal etwas Hilfe. Habs jetz soweit fertig, also jedenfalls dass es funktioniert, da kommt natürlich noch mehr rein...

    Also, durch die RichEdit UDF kann man leider nicht mehr ganz normal speichern und in der UDF selbst finde ich dazu nich wirklich was.

    Einer ne Idee?

    Spoiler anzeigen
    [autoit]

    ; ----- Includes -----
    #include <GuiRichEdit.au3>
    ; ----- Optionen und GUICreate -----
    $GUI = GUICreate ("Light-Map", @DesktopWidth, @DesktopHeight - 60)
    GUISetState (@SW_SHOW)
    GUISetBkColor (0x5da24b)

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

    ; ----- Gloabel-Variablen -----
    Global $msg ; Msg ( Funktionen )
    Global $MainEdit ; Edits
    Global $FontCombo, $ColorCombo, $SizeCombo ; Combos
    Global $DataMenu, $NewItem, $OpenItem, $SaveItem, $EditMenu, $CutItem, $CopyItem, $PastItem, $ExitItem, $HelpMenu, $HelpItem ; Menüs / Items
    ; ----- GUI-Edits, -Buttons, -Combos u.s.w... -----
    ; __GUI-Edit__
    $MainEdit = _GUICtrlRichEdit_Create ($GUI, 30, 50, 800, 870, $ES_DISABLENOSCROLL)
    ; __GUI-Combos__
    $FontCombo = GUICtrlCreateCombo ("", 30, 20, 150)
    GUICtrlSetData (-1, "Arial|Verdana|Georgia|Times New Roman", "Arial")
    $FontComboRead = GUICtrlRead ($FontCombo, 1)
    _GUICtrlRichEdit_SetFontName($MainEdit, $FontComboRead)
    $SizeCombo = GUICtrlCreateCombo ("", 200, 20, 50)
    GUICtrlSetData (-1, "2|4|6|8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40|42|44|46|48|50", "10")
    $SizeComboRead = GUICtrlRead ($SizeCombo, 1)
    _GUICtrlRichEdit_SetFontSize($MainEdit, $SizeComboRead)
    $ColorCombo = GUICtrlCreateCombo ("", 270, 20, 100)
    GUICtrlSetData (-1, "Rot|Gelb|Blau|Grün|Schwarz", "Schwarz")
    ; __GUI-Menüs__
    $DataMenu = GUICtrlCreateMenu ("Datei")
    $NewItem = GUICtrlCreateMenuItem ("Neu", $DataMenu)
    $OpenItem = GUICtrlCreateMenuItem ("Öffnen", $DataMenu)
    $SaveItem = GUICtrlCreateMenuItem ("Speichern", $DataMenu)
    $ExitItem = GUICtrlCreateMenuItem ("Schließen", $DataMenu)
    $EditMenu = GUICtrlCreateMenu ("Bearbeiten")
    $CopyItem = GUICtrlCreateMenuItem ("Kopieren", $EditMenu)
    $PastItem = GUICtrlCreateMenuItem ("Einfügen", $EditMenu)
    $CutItem = GUICtrlCreateMenuItem ("Ausschneiden", $EditMenu)
    $HelpMenu = GUICtrlCreateMenu ("Hilfe")
    $HelpItem = GUICtrlCreateMenuItem ("Hilfe", $HelpMenu)
    ; ----- Funktionen -----
    While 1
    $msg = GUIGetMsg ()
    Select
    Case $msg = $SizeCombo
    $SizeComboRead = GUICtrlRead ($SizeCombo, 1)
    _GUICtrlRichEdit_SetFontSize($MainEdit, $SizeComboRead)
    Case $msg = $FontCombo
    $FontComboRead = GUICtrlRead ($FontCombo, 1)
    _GUICtrlRichEdit_SetFontName($MainEdit, $FontComboRead)
    Case $msg = $ColorCombo
    $ColorComboRead = GUICtrlRead ($ColorCombo, 1)
    If $ColorComboRead = "Rot" Then $FontColor = 0x0000FF
    If $ColorComboRead = "Gelb" Then $FontColor = 0x00FFFF
    If $ColorComboRead = "Blau" Then $FontColor = 0xFF0000
    If $ColorComboRead = "Grün" Then $FontColor = 0x00FF00
    If $ColorComboRead = "Schwarz" Then $FontColor = 0x000000
    _GUICtrlRichEdit_SetFontColor($MainEdit, $FontColor)
    Case $msg = $NewItem
    If MsgBox(4, "Neu", "Wollen Sie wirklich ein neues Dokument erstellen, ohne zu speichern?") = 6 Then
    _GUICtrlRichEdit_SetText($MainEdit, "")
    GUICtrlSetData ($FontCombo, "Arial|Verdana|Georgia|Times New Roman", "Arial")
    GUICtrlSetData ($SizeCombo, "2|4|6|8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40|42|44|46|48|50", "10")
    GUICtrlSetData ($ColorCombo, "Rot|Gelb|Blau|Grün|Schwarz", "Schwarz")
    EndiF
    Case $msg = $OpenItem

    Case $msg = $SaveItem

    Case $msg = $ExitItem
    If MsgBox(4, "Beenden", "Wollen Sie das Programm wirklich beenden, ohne zu speichern?") = 6 Then Exit
    Case $msg = $CopyItem
    _GUICtrlRichEdit_Copy($MainEdit)
    Case $msg = $PastItem
    _GUICtrlRichEdit_Paste($MainEdit)
    Case $msg = $CutItem
    _GUICtrlRichEdit_Cut($MainEdit)
    Case $msg = $HelpItem

    EndSelect
    WEnd

    [/autoit]
  • Habs bissl überarbeitet, jetzt arbeitet es mit Textdateien -> aber ohne Formatierungen

    Spoiler anzeigen
    [autoit]


    ; ----- Includes -----
    #include <GuiRichEdit.au3>
    ; ----- Optionen und GUICreate -----
    $GUI = GUICreate("Light-Map", @DesktopWidth, @DesktopHeight - 60)
    GUISetState(@SW_SHOW)
    GUISetBkColor(0x5da24b)

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

    ; ----- Gloabel-Variablen -----
    Global $msg ; Msg ( Funktionen )
    Global $MainEdit ; Edits
    Global $FontCombo, $ColorCombo, $SizeCombo ; Combos
    Global $DataMenu, $NewItem, $OpenItem, $SaveItem, $EditMenu, $CutItem, $CopyItem, $PastItem, $ExitItem, $HelpMenu, $HelpItem ; Menüs / Items
    ; ----- GUI-Edits, -Buttons, -Combos u.s.w... -----
    ; __GUI-Edit__
    $MainEdit = _GUICtrlRichEdit_Create($GUI, 30, 50, 800, 870, $ES_DISABLENOSCROLL)
    ; __GUI-Combos__
    $FontCombo = GUICtrlCreateCombo("", 30, 20, 150)
    GUICtrlSetData(-1, "Arial|Verdana|Georgia|Times New Roman", "Arial")
    $FontComboRead = GUICtrlRead($FontCombo, 1)
    _GUICtrlRichEdit_SetFontName($MainEdit, $FontComboRead)
    $SizeCombo = GUICtrlCreateCombo("", 200, 20, 50)
    GUICtrlSetData(-1, "2|4|6|8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40|42|44|46|48|50", "10")
    $SizeComboRead = GUICtrlRead($SizeCombo, 1)
    _GUICtrlRichEdit_SetFontSize($MainEdit, $SizeComboRead)
    $ColorCombo = GUICtrlCreateCombo("", 270, 20, 100)
    GUICtrlSetData(-1, "Rot|Gelb|Blau|Grün|Schwarz", "Schwarz")
    ; __GUI-Menüs__
    $DataMenu = GUICtrlCreateMenu("Datei")
    $NewItem = GUICtrlCreateMenuItem("Neu", $DataMenu)
    $OpenItem = GUICtrlCreateMenuItem("Öffnen", $DataMenu)
    $SaveItem = GUICtrlCreateMenuItem("Speichern", $DataMenu)
    $ExitItem = GUICtrlCreateMenuItem("Schließen", $DataMenu)
    $EditMenu = GUICtrlCreateMenu("Bearbeiten")
    $CopyItem = GUICtrlCreateMenuItem("Kopieren", $EditMenu)
    $PastItem = GUICtrlCreateMenuItem("Einfügen", $EditMenu)
    $CutItem = GUICtrlCreateMenuItem("Ausschneiden", $EditMenu)
    $HelpMenu = GUICtrlCreateMenu("Hilfe")
    $HelpItem = GUICtrlCreateMenuItem("Hilfe", $HelpMenu)
    ; ----- Funktionen -----
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $SizeCombo
    $SizeComboRead = GUICtrlRead($SizeCombo, 1)
    _GUICtrlRichEdit_SetFontSize($MainEdit, $SizeComboRead)
    Case $FontCombo
    $FontComboRead = GUICtrlRead($FontCombo, 1)
    _GUICtrlRichEdit_SetFontName($MainEdit, $FontComboRead)
    Case $ColorCombo
    $ColorComboRead = GUICtrlRead($ColorCombo, 1)
    If $ColorComboRead = "Rot" Then $FontColor = 0x0000FF
    If $ColorComboRead = "Gelb" Then $FontColor = 0x00FFFF
    If $ColorComboRead = "Blau" Then $FontColor = 0xFF0000
    If $ColorComboRead = "Grün" Then $FontColor = 0x00FF00
    If $ColorComboRead = "Schwarz" Then $FontColor = 0x000000
    _GUICtrlRichEdit_SetFontColor($MainEdit, $FontColor)
    Case $NewItem
    _Ende()
    Case $OpenItem
    $open = FileOpenDialog("Öffnen", @ScriptDir, 'Textdateien ohne Formatierung (*.txt)')
    If $open <> "" Then
    $inhalt = FileRead($open)
    _GUICtrlRichEdit_SetText($MainEdit, $inhalt)
    EndIf
    Case $GUI_EVENT_CLOSE
    _Ende()
    Case $SaveItem
    _Save()
    Case $ExitItem
    _Ende()
    Case $CopyItem
    _GUICtrlRichEdit_Copy($MainEdit)
    Case $PastItem
    _GUICtrlRichEdit_Paste($MainEdit)
    Case $CutItem
    _GUICtrlRichEdit_Cut($MainEdit)
    Case $HelpItem
    EndSwitch
    WEnd

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

    Func _Neu()
    _GUICtrlRichEdit_SetText($MainEdit, "")
    GUICtrlSetData($FontCombo, "Arial|Verdana|Georgia|Times New Roman", "Arial")
    GUICtrlSetData($SizeCombo, "2|4|6|8|10|12|14|16|18|20|22|24|26|28|30|32|34|36|38|40|42|44|46|48|50", "10")
    GUICtrlSetData($ColorCombo, "Rot|Gelb|Blau|Grün|Schwarz", "Schwarz")
    EndFunc ;==>_Neu

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

    Func _Ende()
    If MsgBox(4, "Beenden", "Wollen Sie das Programm wirklich beenden, ohne zu speichern?") = 6 Then
    Exit
    Else
    _Save()
    Exit
    EndIf
    EndFunc ;==>_Ende

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

    Func _Save()
    $datei = FileSaveDialog("Speichern...", @ScriptDir, "Textdateien (ohne Formatierung) (*.txt)")
    If $datei <> "" Then
    If Not (StringRight($datei, 4) = ".txt") Then $datei &= ".txt"
    FileWrite($datei, _GUICtrlRichEdit_GetText($MainEdit))
    EndIf
    EndFunc ;==>_Save

    [/autoit]


    Sind halt nur blanke Textdateien, aber fürn Anfang tut sich wenigstens schon was :D
    Hab auch deine Messageschleife auf Switch umgebaut -> schneller, weniger Code^^
    Mach was draus, hört sich echt interessant an

    Padmak

    Edit: Ich würde die Formatierungsoptionen in der Textdatei speichern. Das macht es viieeel einfacher^^
    Kannst auch per Datenbanken arbeiten (da: https://autoit.de/index.php?page=Board&amp;boardID=39)

  • Ok, soweit schonmal net schlecht, thx auf jeden fall schonmal für die hilfe.

    Ich habs jetz so gemacht, das es als RTF gespeichert wird.
    Also so, das es dann Light-Map( Kommt noch besserer Name für das Prog ) geöffnet wird.

    Bleibt vorerst noch 1 Frage offen:

    Wie bekomme ich das hin, das beim öffnen eines gespeicherten Files, dann der Inhalt mit samt formatierung im RichEdit steht?

    Edit: Ok, prob. nummer 1 hat sih gelöst, aber jetz übersteigt es wirklich mein wissen und meine fantasy xD
    Also wenn man ein File nun über das Programm selbt öffnet, dann wird der Text angezeigt, im moment noch ohne formatierung, aber da fällt mir noch was ein.

    Wenn man aber das File direkt öffnet, dann steht garnix da.
    Hab jetz lang überlegt und probiert wie das gehn könnte, aber es funzt einfach net ...

    Einmal editiert, zuletzt von Commander21 (28. Februar 2009 um 22:31)

  • Wie gesagt ich würd mit Datenbanken arbeiten und einfach den Text und die zugehörige Formatierung reinschreiben
    Ist bestimmt am einfachsten
    Anspruchsvoll isses auf jeden Fall

    Padmak