Notepad

  • Hallo, leute

    ich hab mir vorgenommen ein notpad zu clonen nur bin ich recht ein anfänger und hab deswegen bis hier hin geschafft

    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <func.au3>

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

    $Form1 = GUICreate("Notepad", 821, 686, 192, 124)
    $Edit1 = GUICtrlCreateEdit("", 0, 0, 820, 665)
    GUICtrlSetData(-1, "")
    $datei = GUICtrlCreateMenu("&Datei")
    $Neu = GUICtrlCreateMenuItem("neu", $datei)
    $offnen = GUICtrlCreateMenuItem("offnen", $datei)
    $Speichern = GUICtrlCreateMenuItem("speichern", $datei)
    $Speicheru = GUICtrlCreateMenuItem("speichernunter", $datei)
    $seite = GUICtrlCreateMenuItem("seit einrichten", $datei)
    $drucken = GUICtrlCreateMenuItem("drucken", $datei)
    $beenden = GUICtrlCreateMenuItem("beendeen", $datei)
    $bearbeiten = GUICtrlCreateMenu("&Bearbeiten")
    $ruckgang = GUICtrlCreateMenuItem("Ruckgang", $bearbeiten)
    $ausschneiden = GUICtrlCreateMenuItem("ausshcneiden", $bearbeiten)
    $kopieren = GUICtrlCreateMenuItem("kopieren", $bearbeiten)
    $einfugen = GUICtrlCreateMenuItem("einfugen", $bearbeiten)
    $loschen = GUICtrlCreateMenuItem("loschen", $bearbeiten)
    $suchen = GUICtrlCreateMenuItem("suchen", $bearbeiten)
    $weitersuchen = GUICtrlCreateMenuItem("weitersuchen", $bearbeiten)
    $ersetzen = GUICtrlCreateMenuItem("ersetzen", $bearbeiten)
    $wechselnzu = GUICtrlCreateMenuItem("welchsen", $bearbeiten)
    $allesmark = GUICtrlCreateMenuItem("allesmarkieren", $bearbeiten)
    $zeitdatum = GUICtrlCreateMenuItem("zeitdartum", $bearbeiten)
    $format = GUICtrlCreateMenu("&format")
    $zellen = GUICtrlCreateMenuItem("zelenumbruch", $format)
    $schriftart = GUICtrlCreateMenuItem("schriftart", $format)
    $ansicht = GUICtrlCreateMenu("&ansicht")
    $status = GUICtrlCreateMenuItem("statusleiste", $ansicht)
    $hilfe = GUICtrlCreateMenu("?")
    $hilfeanz = GUICtrlCreateMenuItem("hilfranzeigen", $hilfe)
    $info = GUICtrlCreateMenuItem("info", $hilfe)
    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]

    ich weis das man mit Case $variable z.b. exit 0 endfunc bei tastendruck schließen lassen kann aber ich will nicht alles in einer au3 datei haben und deswegen ist mein erster prob wie geb ich jetzzt menuitem eine func?

  • ja wie gesagt das mit case kenn ich schon aber ich dachte es gibt ne möglichkeit wo ich das nicht in dieser datei schreiben muss also menuitem ein func namen eingeben und in der 2 au3 datei funcname und dan was es machen soll hoffe ich habs verständlich erklärt

  • so gehts

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    HotKeySet("a","_a")

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

    $Form1 = GUICreate("Notepad", 821, 686, 192, 124)
    $Edit1 = GUICtrlCreateEdit("", 0, 0, 820, 665)
    GUICtrlSetData(-1, "")
    $datei = GUICtrlCreateMenu("&Datei")
    $Neu = GUICtrlCreateMenuItem("neu", $datei)
    $offnen = GUICtrlCreateMenuItem("öffnen", $datei)
    $Speichern = GUICtrlCreateMenuItem("speichern", $datei)
    $Speicheru = GUICtrlCreateMenuItem("speichernunter", $datei)
    $seite = GUICtrlCreateMenuItem("Seite einrichten", $datei)
    $drucken = GUICtrlCreateMenuItem("drucken", $datei)
    $beenden = GUICtrlCreateMenuItem("beendeen", $datei)
    $bearbeiten = GUICtrlCreateMenu("&Bearbeiten")
    $ruckgang = GUICtrlCreateMenuItem("Rückgang", $bearbeiten)
    $ausschneiden = GUICtrlCreateMenuItem("ausschneiden", $bearbeiten)
    $kopieren = GUICtrlCreateMenuItem("kopieren", $bearbeiten)
    $einfugen = GUICtrlCreateMenuItem("einfügen", $bearbeiten)
    $loschen = GUICtrlCreateMenuItem("löschen", $bearbeiten)
    $suchen = GUICtrlCreateMenuItem("suchen", $bearbeiten)
    $weitersuchen = GUICtrlCreateMenuItem("weitersuchen", $bearbeiten)
    $ersetzen = GUICtrlCreateMenuItem("ersetzen", $bearbeiten)
    $wechselnzu = GUICtrlCreateMenuItem("welchsen", $bearbeiten)
    $allesmark = GUICtrlCreateMenuItem("allesmarkieren", $bearbeiten)
    $zeitdatum = GUICtrlCreateMenuItem("Zeitdatum", $bearbeiten)
    $format = GUICtrlCreateMenu("&Format")
    $zellen = GUICtrlCreateMenuItem("Zeilenumbruch", $format)
    $schriftart = GUICtrlCreateMenuItem("Schriftart", $format)
    $ansicht = GUICtrlCreateMenu("&Ansicht")
    $status = GUICtrlCreateMenuItem("Atatusleiste", $ansicht)
    $hilfe = GUICtrlCreateMenu("?")
    $hilfeanz = GUICtrlCreateMenuItem("Hilfeanzeigen", $hilfe)
    $info = GUICtrlCreateMenuItem("Info", $hilfe)
    GUISetState(@SW_SHOW)

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

    While 1

    $nMsg = GUIGetMsg()
    If $Nmsg = $Neu Then
    MsgBox(0,"","Deine Funktion.")
    EndIf
    Switch($nMsg)


    Case $GUI_EVENT_CLOSE
    Exit


    EndSwitch
    WEnd

    [/autoit]
  • hm immernoch net ^^ ich glaub ich erklärs falsch^^ guck sowas mein ich

    hotkeyset ("x","_exit")
    func _exit
    exit 0
    endfun

    so jetztwill ich aber das hotkeyset ("x","_exti") bei meiner 1. datei ist und func _exit ... auf der 2. Datei
    also mit #include func.au3 (func.au3 die 2. datei)
    das nur noch mit den menuitem &beenden und nicht mit einer hotkey sonder bei druck also es soll die gleiche func haben wie
    case &beenden
    exit 0

  • also du willst nicht das deine menüs oben eine funktion haben?

    meinst so

    Spoiler anzeigen
    [autoit]

    If $nmsg = $beenden Then
    exit
    EndIf

    [/autoit]

    Einmal editiert, zuletzt von manuel6000 (29. Januar 2011 um 16:56)

  • nehmen wir mal an $beenden hat den namen _exit dan will ich das es so ungefähr aussieht
    bei dieser autoit datei also bei der 1.
    #include <func.au3> (die 2.datei)
    $beenden = _exit

    bei der 2. autoit datei
    func _exit
    exit 0
    endfunc

    edit: also es soll genau die gleiche funktion haben wie
    case $beenden
    exit 0

    aber ich will halt eben den komplizierteren weg gehen und den befehl in der 2. autoit datei haben also bei func.au3

  • und mit case wirds beim menü nicht funktionieren
    keine ahnung was du meinst aber wenn du willst das du die eine datei nur mit der anderen beendest könntest das mit einer ini machen
    bei der ersten datei

    [autoit]

    iniwrite("0","0","0","beenden")

    [/autoit]

    und bei der zweiten

    [autoit]

    while 1
    $beenden = iniread("0","0","0","0")
    if $beenden = "beenden" then
    inidelete("0","0","0")
    exit
    endif
    wend

    [/autoit]
  • bin jetzt so weit gekommen

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Notepad", 821, 686, 192, 124)
    $Edit1 = GUICtrlCreateEdit("", 0, 0, 820, 665)
    GUICtrlSetData(-1, "")
    $datei = GUICtrlCreateMenu("&Datei")
    $Neu = GUICtrlCreateMenuItem("Neu", $datei)
    $offnen = GUICtrlCreateMenuItem("Öffnen...", $datei)
    $Speichern = GUICtrlCreateMenuItem("Speichern", $datei)
    $Speicheru = GUICtrlCreateMenuItem("Speichern unter...", $datei)
    $seite = GUICtrlCreateMenuItem("Seite einrichten", $datei)
    $drucken = GUICtrlCreateMenuItem("Drucken...", $datei)
    $beenden = GUICtrlCreateMenuItem("Beendeen", $datei)
    $bearbeiten = GUICtrlCreateMenu("&Bearbeiten")
    $ruckgang = GUICtrlCreateMenuItem("Rückgängig", $bearbeiten)
    $ausschneiden = GUICtrlCreateMenuItem("Ausschneiden", $bearbeiten)
    $kopieren = GUICtrlCreateMenuItem("Kopieren", $bearbeiten)
    $einfugen = GUICtrlCreateMenuItem("Einfügen", $bearbeiten)
    $loschen = GUICtrlCreateMenuItem("Löschen", $bearbeiten)
    $suchen = GUICtrlCreateMenuItem("Suchen...", $bearbeiten)
    $weitersuchen = GUICtrlCreateMenuItem("Weitersuchen", $bearbeiten)
    $ersetzen = GUICtrlCreateMenuItem("Ersetzen...", $bearbeiten)
    $wechselnzu = GUICtrlCreateMenuItem("Welchseln Sie zu...", $bearbeiten)
    $allesmark = GUICtrlCreateMenuItem("Alles markieren", $bearbeiten)
    $zeitdatum = GUICtrlCreateMenuItem('Uhrzeit/Datum', $bearbeiten)
    $format = GUICtrlCreateMenu("&Format")
    $zellen = GUICtrlCreateMenuItem("Zellenumbruch", $format)
    $schriftart = GUICtrlCreateMenuItem("Schriftart...", $format)
    $ansicht = GUICtrlCreateMenu("&Ansicht")
    $status = GUICtrlCreateMenuItem("Statusleiste", $ansicht)
    $hilfe = GUICtrlCreateMenu("?")
    $hilfeanz = GUICtrlCreateMenuItem("Hilfran zeigen", $hilfe)
    $info = GUICtrlCreateMenuItem("Info", $hilfe)
    GUISetState(@SW_SHOW)

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

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

    Case $beenden
    Exit 0
    Case $Neu
    GUICtrlSetData($Edit1,"")

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


    EndSwitch
    WEnd

    [/autoit]
  • jetzt versteh ich net was du meinst ^^
    das mit beenden und neu ist schon erledigt
    jetzt weis ich halt garnich wie ich weiter kommen soll z.b., das mit speichern unter das da so ein neues fenster kommt und so oder das mit öffnen

  • Für Funktionen in einer Datei kannst du auch einfach den OnEvent-mode benutzen: Schau mal in der Hilfe:

    [autoit]

    GUICtrlSetOnEvent

    [/autoit]


    z.B. die Maindatei:


    [autoit]

    #include <GUIConstantsEx.au3>
    #include <meine_andere_datei.au3> ;Die Functionen der anderen Datei includen... ;Die Functionen der anderen Datei includen...
    Opt("GUIOnEventMode", 1)

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

    GUICreate("Meine Gui",100,100,0,0)
    GuiCtrlCreateButton("Func!",20,20,60,60)

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

    GUICtrlSetOnEvent(-1, "myfunc") ;On Event mode Funktion myFunc wird ausgeführt... Die Func befindet sich in der anderen Datei.

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

    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(10)
    WEnd

    [/autoit]

    In der anderen Datei ('Meine_andere_Datei.au3'):


    [autoit]

    Func MyFunc()
    MsgBox(0,"","Die Funktion wird in der anderen Datei ausgeführt")
    EndFunc

    [/autoit]