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. hajoh25

Beiträge von hajoh25

  • TXT-Datei öffnen

    • hajoh25
    • 15. April 2016 um 21:39

    Nein

    C
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPIFiles.au3>
    
    
    Opt("GUIOnEventMode", 1)
    
    
    $Form1 = GUICreate("Konto-Projekt", 401, 95, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Kontostand = GUICtrlCreateLabel("Kontostand", 8, 8, 86, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlCreateInput("", 104, 8, 185, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $EinnahmeButton = GUICtrlCreateButton("Einnahmen", 104, 48, 91, 33)
    GUISetOnEvent($EinnahmeButton, "Einnahmen")
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $AusgabenButton = GUICtrlCreateButton("Ausgaben", 200, 48, 91, 33)
    GUISetOnEvent($AusgabenButton, "Ausgaben")
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $BerechnenButton = GUICtrlCreateButton("BerechnenButton", 296, 8, 91, 33)
    GUISetOnEvent($BerechnenButton, "Berechnen")
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    
    
    While 1
        Sleep(100)
    WEnd
    
    
    Func Form1Close()
       exit
    EndFunc
    
    
    Func Einnahmen()
       ShellExecute("Einnahmen.txt")
    EndFunc
    
    
    Func Ausgaben()
       ShellExecute("Ausgaben.txt")
    EndFunc
    
    
    Func Berechnen()
    
    
    
    
       $EinnahmenDatei = FileOpen("Einnahmen.txt")
       $AusgabenDatei = FileOpen("Ausgaben.txt")
    
    
       Local $Einnahmen = FileRead($EinnahmenDatei)
       Local $Ausgaben = FileRead( $AusgabenDatei)
    
    
       MsgBox(0, "Title", $EinnahmenDatei &  $AusgabenDatei)
    
    
    EndFunc
    Alles anzeigen
  • TXT-Datei öffnen

    • hajoh25
    • 14. April 2016 um 19:57

    Hallo,
    ich suche einen Befehl, eine .txt Datei zu öffnen. Damit meine ich, dass wenn ich auf einen Button drücke, sich der Editor öffnet und mir Beispiel.txt öffnet.
    Hierbei habe ich schon Run(Beispiel.txt) und ShellExecute(Beispiel.txt) ausprobiert.

    Danke im vorraus.

  • Problem bei zufälliger Zeilenausgabe

    • hajoh25
    • 9. April 2016 um 00:44

    Hallo.
    Ich habe ein Problem, ich möchte aus 6 verschiedenen TXT- Dateien eine zufällige Zeile auslesen und diese Anzeigen. Bei mir funktieroniert dies aber nicht. Kann mir jemand weiterhelfen?

    Danke im vorraus.

    C: Random.au3
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    
    $Form1 = GUICreate("Was, Wie, Wo?", 392, 108, 192, 124)
    GUISetFont(12, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("", 8, 8, 52, 24)
    $Label2 = GUICtrlCreateLabel("", 72, 8, 52, 24)
    $Label3 = GUICtrlCreateLabel("", 136, 8, 52, 24)
    $Label4 = GUICtrlCreateLabel("", 200, 8, 52, 24)
    $Label5 = GUICtrlCreateLabel("", 264, 8, 52, 24)
    $Label6 = GUICtrlCreateLabel("", 328, 8, 52, 24)
    $Button1 = GUICtrlCreateButton("Los", 160, 56, 75, 25)
    GUICtrlSetOnEvent($Button1, "Los")
    GUISetState(@SW_SHOW)
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    
    
    	EndSwitch
    WEnd
    
    
    $Liste1 = "Aktivität1.txt"
    $Liste2 = "Aktivität2.txt"
    $Liste3 = "Art1.txt"
    $Liste4 = "Art2.txt"
    $Liste5 = "Ort.txt"
    $Liste6 = "Zusatz.txt"
    
    
    Func Los()
       $Random = Random(1, 10)
    
    
       $Datei1 = FileReadLine($Liste1, $Random)
       $Datei2 = FileReadLine($Liste2, $Random)
       $Datei3 = FileReadLine($Liste3, $Random)
       $Datei4 = FileReadLine($Liste4, $Random)
       $Datei5 = FileReadLine($Liste5, $Random)
       $Datei6 = FileReadLine($Liste6, $Random)
    
    
       GUICtrlSetData($Label, $Datei1)
       GUICtrlSetData($Labe2, $Datei2)
       GUICtrlSetData($Labe3, $Datei3)
       GUICtrlSetData($Labe4, $Datei4)
       GUICtrlSetData($Labe5, $Datei5)
       GUICtrlSetData($Labe6, $Datei6)
    
    
    EndFunc
    Alles anzeigen
  • Inputbox immer nach Knopfdruck aktualisieren.

    • hajoh25
    • 8. Januar 2016 um 21:35

    Hallo,
    ich habe in meiner programmierung ein GUI-Fenster mit verschiedenen Labels, welche durch einen Input ausgelesen werden, sodass wenn man etwas in die Inputbox eingibt, das gefundene Ergebnis in ein leeres Label eingibt. Bis hier hin funktioniert es auch noch. Aber nachdem ich einen Text in den Labels habe, kann ich mein Fenster nicht mehr schließen (dies ging vor der eingabe) und wenn ich einen neuen Text in die Inputbox eingebe, verändert sich das Suchergebnis nicht, sondern bleibt immer bleim gleichen Text. Dies wirkt so, als ob der Text ständig neu eingetragen wird und nicht einmal eingetragen wird und dann pausiert wird.
    Zusammengefasst, will ich den Code so hinbekommen, dass ich immer wieder einen neuen Text in das Inputfeld eingeben kann und das Ergebnis dann neu eingetragen wird. Ich denke, dies würde am besten funktionieren, indem ich am Anfang sage, dass er alle Label überprüfen soll und wenn er welche findet, den Inhalt löschen soll, aber nicht das Label. Allerdings schaff ich dies nicht, da die Labels erst später erstellt werden.

    Ich bin dankbar für jede Antwort :)

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPIFiles.au3>
    #include <AutoItConstants.au3>
    
    
    
    
    Opt("GUIOnEventMode", 1)
    
    
    $Form1 = GUICreate("Fahrzeugverzeichnis", 409, 289, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Label = GUICtrlCreateLabel("Kennzeichen:", 8, 8, 100, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Input = GUICtrlCreateInput("", 8, 32, 193, 24)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Button1 = GUICtrlCreateButton("Durchsuchen", 120, 64, 83, 25)
    GUICtrlSetOnEvent($Button1, "Durchsuchen")
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("", 8, 128, 212, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("", 8, 160, 212, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label4 = GUICtrlCreateLabel("", 8, 192, 212, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label5 = GUICtrlCreateLabel("", 8, 224, 212, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label6 = GUICtrlCreateLabel("", 8, 256, 212, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("", 8, 96, 212, 20)
    GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
    $Button = GUICtrlCreateButton("Button1", 232, 120, 161, 129) ;Bild
    GUISetState(@SW_SHOW)
    
    
    While 1
       Sleep(100)
    WEnd
    
    
    Func Form1Close()
    exit
    EndFunc
    
    
     Func Durchsuchen()
    
    
       $Verzeichnis = "Autoverzeichnis.txt"
       $Eingabe = GUICtrlRead($Input)
    
    
       $z = 0
       $i = 0
       $y = 1
    
    
       While IniRead($Verzeichnis, "#" & $i, "Kennzeichen", "Error") <> "File not found."
    		 $Ergebnis = IniRead($Verzeichnis, "#" & $i, "Kennzeichen", "0")
    
    
    		 If(StringInStr($Ergebnis, $Eingabe) <> 0) Then
    
    
    			$Kennzeichen = IniRead($Verzeichnis, "#" & $i, "Kennzeichen", "0")
    			$Farbe = IniRead($Verzeichnis, "#" & $i, "Farbe", "0")
    			$Modell = IniRead($Verzeichnis, "#" & $i, "Modell", "0")
    			$Besitzer = IniRead($Verzeichnis, "#" & $i, "Besitzer", "0")
    			$Herstellungsdatum = IniRead($Verzeichnis, "#" & $i, "Herstellungsdatum", "0")
    			$ID = IniRead($Verzeichnis, "#" & $i, "ID", "0")
    
    
    			GUICtrlSetData($Label1, "Kennzeichen:" & $Kennzeichen)
    			GUICtrlSetData($Label2, "Farbe:" & $Farbe)
    			GUICtrlSetData($Label3, "Modell:" & $Modell)
    			GUICtrlSetData($Label4, "Besitzer:" & $Besitzer)
    			GUICtrlSetData($Label5, "Herstellungsdatum:" & $Herstellungsdatum)
    			GUICtrlSetData($Label6, "ID:" & $ID)
    
    
    			While 1
    			Sleep(100)
    			WEnd
    
    
    		 Else
    			$i = $i + 1
    		 EndIf
    
    
       WEnd
    
    
    EndFunc
    Alles anzeigen
  • Suchübereinstimmung überspringen

    • hajoh25
    • 15. Oktober 2015 um 12:19
    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Inet.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    
    
    Opt("GUIOnEventMode", 1)
    
    
    $Form1 = GUICreate("Form1", 465, 238, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $URL = GUICtrlCreateLabel("URL", 8, 8, 37, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Input1 = GUICtrlCreateInput("", 8, 32, 449, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Search_1 = GUICtrlCreateLabel("Search_1", 8, 72, 73, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Input2 = GUICtrlCreateInput("", 8, 96, 449, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Search_2 = GUICtrlCreateLabel("Search_2", 8, 136, 73, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Input3 = GUICtrlCreateInput("", 8, 160, 449, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Ok = GUICtrlCreateButton("Ok", 384, 200, 75, 25)
    GUICtrlSetOnEvent($Ok, "OkButton")
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Anzahl = GUICtrlCreateLabel("Anzahl", 8, 200, 53, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Input4 = GUICtrlCreateInput("", 64, 200, 25, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    
    
    	EndSwitch
    WEnd
    
    
    
    
    
    
    Func Form1Close()
       Exit
    EndFunc
    
    
    While 1
       Sleep(100)
    WEnd
    
    
    Func OkButton()
    
    
       Local $Link = GUICtrlRead($Input1)
    
    
       Local $source = _INetGetSource($Link)
    
    
       Local $S1 = GUICtrlRead($Input2)
       Local $S2 = GUICtrlRead($Input3)
       Local $S3 = GUICtrlRead($Input3)
    
    
       $z = 0
    
    
       While $z = $S3
    	  Local $ary = _StringBetween($source, $S1, $S2)
    
    
    	  If $z = $S3 Then
                    ;Hier soll ein Befehl hin, welcher den ersten Treffer überspringt und den nächsten ausgibt
    		MsgBox(0, "Ary", $ary[0])
    	 Else
    
    
    		$z = $z + 1
    	  EndIf
       WEnd
    
    
    EndFunc
    Alles anzeigen

    Das habe ich bisher

  • Suchübereinstimmung überspringen

    • hajoh25
    • 15. Oktober 2015 um 00:05

    Hallo,
    ich habe ein Programm geschrieben, womit es möglich ist, einen bestimmten Stringbereich aus einem Quellcode einer Website auszulesen. Jedoch möchte ich noch eine Funktion einbauen, womit man, wenn es mehrere Übereinstimmungen zur nächsten springt. Ich denke, dass dies am besten mit einer Schleife funktioniert. Da ich keinen Befehl wie InetStringRead gefunden habe, hoffe ich, dass ihr mir weiterhelfen könnt.

    Danke im vorraus.

  • Funktion wird nicht erkannt? - Wo liegt mein Fehler?

    • hajoh25
    • 14. Oktober 2015 um 01:47

    Vielen Danke - Problem gelöst

  • Funktion wird nicht erkannt? - Wo liegt mein Fehler?

    • hajoh25
    • 13. Oktober 2015 um 22:39

    Hallo,
    in dem folgendem Code habe ich eine Funktion "OkButton", welche nicht erkennt, dass sie da ist. Sobald ich den Button drücke, passiert nichts.

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Inet.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <MsgBoxConstants.au3>
    
    
    Opt("GUIOnEventMode", 1)
    
    
    $Form1 = GUICreate("Quellcode-Finder", 497, 232, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $URL = GUICtrlCreateLabel("URL", 8, 8, 37, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlCreateInput("", 8, 32, 481, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Search_1 = GUICtrlCreateLabel("Search_1", 8, 72, 73, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlCreateInput("", 8, 96, 481, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Search_2 = GUICtrlCreateLabel("Search_2", 8, 136, 73, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlCreateInput("", 8, 160, 481, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Button1 = GUICtrlCreateButton("OK", 416, 200, 75, 25)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUISetOnEvent($Button1, "OkButton")
    GUISetState(@SW_SHOW)
    
    
    
    
    Func Form1Close()
       Exit
    EndFunc
    
    
    While 1
       Sleep(100)
    WEnd
    
    
    Func OkButton()
       MsgBox(0, "Test", "Test")
    
    
       ;$S = GUICtrlRead($URL)
    
    
       ;Local $source = _INetGetSource($S)
    
    
       ;$S1 = GUICtrlRead($Search_1)
       ;$S2 = GUICtrlRead($Search_2)
    
    
       ;Dim $ary = _StringBetween($source, $S1, $S2)
    
    
       ;_ArrayDisplay($ary)
    
    
    EndFunc
    Alles anzeigen
  • Zeile nach Wort ausgeben

    • hajoh25
    • 6. Oktober 2015 um 20:53

    Hallo,
    in dem folgenden Code will ich das das Wort "href=" in einem Quellcode gesucht wird und wenn er es gefunden hat das Wort danach ausgeben. Jedoch weiß ich nicht, wie ich das machen kann.

    Code
    #include <IE.au3>
    #include <Inet.au3>
    #include <String.au3>
    #include <File.au3>
    
    
    $source = _INetGetSource("http://www.google.de/")
    $suchen = "href="
    $count = _FileCountLines($source)
    $line = FileReadLine($source, 1)
    
    
    
    
    	If StringInStr($source, $suchen) Then
    
    
    		MsgBox(0, "Test", $suchen)
    
    
    	 EndIf
    Alles anzeigen
  • Quellcode von Internetseiten lesen und bearbeiten

    • hajoh25
    • 6. Oktober 2015 um 20:11

    Ich habe es so gemacht, aber es wird immer nur "0" angezeigt. Ich möchte aber den Text zwischen den Strings anzeigen.

    C
    #include <String.au3>
    #include <Inet.au3>
    
    
    
    
    Local $source = _INetGetSource("https://www.google.de")
    Local $teil = _StringBetween($source, '<head>', '</head>')
    
    
    MsgBox(0, "Test", $teil
    Alles anzeigen
  • Quellcode von Internetseiten lesen und bearbeiten

    • hajoh25
    • 6. Oktober 2015 um 19:09
    Zitat von autoBert

    Hallo hajoh25,

    dies ist grundsätzlich möglich mit zb. InetGet, InetRead. Wenn auch Interaktionen mit der Website stattfinden sollen kannst du mit der FF.au3 bzw. der INet.au3 diese automatisieren,

    mfg autoBert

    Okay, Vielen Dank.
    Weißt du auch, wie man einen Bestimmten Teil im Quellcode findet und Kopiert? Ich würde es mit IntRead("www.blabla.de"), dann evtl. StringRegExp und dann ClipPut.

  • Quellcode von Internetseiten lesen und bearbeiten

    • hajoh25
    • 6. Oktober 2015 um 17:30

    Hallo,
    Ich habe vor, ein Programm zu erstellen, dass den Quellcode einer Website einlesen kann und nach einem bestimmten Absatz suchen soll, welchen er dann kopieren soll. Gibt es dafür einen Befehl bzw. ist das überhaupt möglich?
    Vielen Dank im vorraus

  • Probleme mit Is Declared

    • hajoh25
    • 17. Juli 2015 um 14:06

    Hallo Leute,
    in meinem Code soll durch eine Funktion erst überprüft werden, ob Label vorhanden sind. Wenn ja, soll er alle löschen und wenn nicht mit dem Code weiter machen. Aber wenn ich per MsgBox prüfe, ob das funktioniert, ist irrgendwo ein Fehler.
    Vielen Dank ihm vorraus :)

    C
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPIFiles.au3>
    #include <AutoItConstants.au3>
    
    
    Opt("GUIOnEventMode", 1)
    
    
    $Form1 = GUICreate("Nummer suchen", 300, 300, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Ueberschrift = GUICtrlCreateLabel("Name", 16, 16, 48, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    $Input = GUICtrlCreateInput("", 16, 40, 249, 28)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial Narrow")
    $Button1 = GUICtrlCreateButton("Suchen", 16, 72, 81, 33)
    GUICtrlSetFont(-1, 12, 800, 2, "Arial Narrow")
    GUICtrlSetOnEvent($Button1, "SuchenButton")
    GUISetState(@SW_SHOW)
    GUICtrlSetState(-1, 512)
    
    
    While 1
        Sleep(100)
    WEnd
    
    
    Func Form1Close()
    exit
    EndFunc
    
    
    Func SuchenButton()
    
    
       If IsDeclared("Label1") Then
    	  MsgBox(0, "test", "test")
       Else
    	  MsgBox(0, "test2", "test2")
       EndIf
    
    
       $Pfad = "callers.inf"
    
    
       $z = 0
       $i = 0
       $y = 0
    
    
       $Ergebnis = 1
    
    
       $eingabe = GUICtrlRead($Input)
       Dim $Name[10000]
       Dim $Number[10000]
    
    
       ; führe Schleife solange durch bis Rückgabewert von $Ergebnis = IniRead($Pfad, "#" & $i, "Name", "0") gleich 0 (0 bedeutet es gibt keine Sektionen mehr)
       While $Ergebnis <> "0"
    
    
    	  	  $Ergebnis = IniRead($Pfad, "#" & $i, "Name", "0")
    
    
    	  If(StringInStr($Ergebnis, $eingabe) <> 0) Then
    
    
    		 $Name[$y] = IniRead($Pfad, "#" & $i, "Name", "0")
    
    
    		 $Number[$y] = IniRead($Pfad, "#" & $i, "Number", "0")
    
    
    		 $y = $y + 1
    		 $i = $i + 1
    
    
    	  Else
    		$i = $i + 1
    	  EndIf
       WEnd
    
    
       ; Variable für Position Label, später nach jedem Durchlauf + 20 Pixel
       $p = 0
       ; Variable für Anzahl Durchgänge (als Vergleichsoperator zu $y), $y = wieviele Durchgänge gibts überhaupt (bzw. stellen im array)
       $o = 0
    
    
       While $o < $y
    	  Assign("Label" & $o, GUICtrlCreateLabel($o & " - " & $Name[$o] & ", Telefon: " & $Number[$o], 10, 120 + $p, 250 ,80))
    	  $o = $o + 1
    	  $p = $p + 20
       WEnd
    
    
    EndFunc
    Alles anzeigen
  • Zwei Funktionen in einer großen Funktion?

    • hajoh25
    • 17. Juli 2015 um 14:03

    Okay, vielen Dank :)

  • Zwei Funktionen in einer großen Funktion?

    • hajoh25
    • 17. Juli 2015 um 10:40

    Hallo Leute,
    ich brauche eure Hilfe, denn ich will 2 "kleine" Funktionen in einer "großen" Funktion unterordnen, jedoch habe ich mit dem EndFunc Probleme.
    Der Codeabschnitt ist hier:

    Code
    Func SuchenButton()
    
    
    		 Func Input1Change()
    			GuiCtrlSetData($Label,GuiCtrlRead($Input))
    		 EndFunc ;ENDE VON Input1Change()
    
    
    
    
    	  Func Update()
    	  Local $check
    			$check = GuiCtrlRead($Input)
    		 if $check <> $Inhalt then GuiCtrlSetData($Label,$Check)
    		 $Inhalt = $check
    		 EndIf
    	  EndFunc ;ENDE VON Update()
       EndFunc ;ENDE VON SuchenButton()
    Alles anzeigen
  • Programm zum durchsuchen von .inf Datein

    • hajoh25
    • 15. Juli 2015 um 21:49

    Okay danke, letzte kleine Frage: Wie ist die Variable, die den Namen in der .ini datei liest?
    Danke im vorraus :)

  • Programm zum durchsuchen von .inf Datein

    • hajoh25
    • 15. Juli 2015 um 21:35

    Also der jezige Code sieht so aus:

    AutoIt: Testversion 2.0
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <MsgBoxConstants.au3>
    #include <WinAPIFiles.au3>
    
    
    
    
    $Form1 = GUICreate("Nummer suchen", 288, 130, 192, 124)
    $Name = GUICtrlCreateLabel("Name", 16, 16, 48, 23)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    $Input = GUICtrlCreateInput("", 16, 40, 249, 28)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial Narrow")
    $Button1 = GUICtrlCreateButton("Suchen", 16, 72, 81, 33)
    GUICtrlSetFont(-1, 12, 800, 2, "Arial Narrow")
    GUISetState(@SW_SHOW)
    
    
    
    
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    	EndSwitch
    
    
    While 1
       $nMsg = GUIGetMsg()
       Switch $nMsg
       Case $GUI_EVENT_CLOSE
    	  Exit
       case $Button1
    
    
       $datei = IniRead("C:\Users\Johannes\Desktop\caller.inf", "section2", "key", "NotFound")
       $eingabe = guictrlread($input)
    
    
    $s_IniPath = "callers.inf"
    
    
    $hFile = FileOpen($s_IniPath)
    If $hFile = -1 Then Exit MsgBox(48, "Fehler", "Konnte ini-Datei nicht öffnen")
    Do
    	$s_Line = FileReadLine($hFile)
    	If @error Then ExitLoop
    	If StringInStr($s_Line, $Input) Then
    		FileReadLine($hFile)
    		$s_Line = FileReadLine($hFile)
    		If @error Then Exit MsgBox(48, "Fehler", "Konnte keine zwei Zeilen darunter lesen")
    		MsgBox(0, "Ergebnis", $s_Line)
    		ExitLoop
    	EndIf
    Until 0
    
    
    FileClose($hFile)
    
    
       EndSwitch
    WEnd
    Alles anzeigen
  • Programm zum durchsuchen von .inf Datein

    • hajoh25
    • 15. Juli 2015 um 20:40
    Zitat von AspirinJunkie

    Ohne Handle mit Angabe der Zeilennummer ist FileReadLine tatsächlich langsam aber _FileReadToArray (sicher das du die mit Unterstrich meinst?) muss nicht auf jeden Fall die schnellere Lösung sein.Besonders hier nicht, da ja nicht die Datei bis zum Ende durchgesucht werden muss.

    @hajoh25
    Mal hier ein Grundaufbau mit (korrekter Verwendung von) FileReadLine - allerdings ohne GUI:

    AutoIt
    $s_IniPath = "Test.ini"
    $Input = "irgendwas"
    
    
    $hFile = FileOpen($s_IniPath) ; Datei zum lesen öffnen
    If $hFile = -1 Then Exit MsgBox(48, "Fehler", "Konnte ini-Datei nicht öffnen")
    
    
    Do ; Endlosschleife
    	$s_Line = FileReadLine($hFile)   ; die nächste Zeile lesen
    	If @error Then ExitLoop ; Falls Dateiende erreicht ist
    
    
    	If StringInStr($s_Line, $Input) Then  
    		FileReadLine($hFile) ; Ein Dummy-FileReadline zum überspringen
    		$s_Line = FileReadLine($hFile)
    		If @error Then Exit MsgBox(48, "Fehler", "Konnte keine zwei Zeilen darunter lesen")
    
    
    		MsgBox(0, "Ergebnis", $s_Line) ; Die zweite Zeile darunter ausgeben
    		ExitLoop
    	EndIf
    Until 0
    
    
    ; Datei wieder schließen
    FileClose($hFile)
    Alles anzeigen

    Danke, dein Grundaufbau hat mir sehr geholfen, mit dem Funktioniert es viel besser. Jedoch wird mir die zweite Zeile in der MsgBox angezeigt, allerdings wollte ich 2 Zeilen UNTER dem Suchbegriff und nicht die zweite Zeile. Wenn du mir ein weiteres mal helfen könntest, wäre ich dir serh dankbar :)

  • Programm zum durchsuchen von .inf Datein

    • hajoh25
    • 15. Juli 2015 um 20:37
    Zitat von Oscar

    Außerdem:
    Die erste While...WEnd-Schleife ist überflüssig.
    Eine Datei zeilenweise einzulesen (noch dazu ohne ein Handle zu benutzen) ist sehr langsam. _FileReadToArray und anschließend das Array zu durchsuchen ist erheblich schneller.


    ist von der Syntax her falsch. Mal abgesehen davon, dass man das nicht extra einer/zwei Variablen zuweisen muss = FileReadLine($datei, $i + 2) würde auch gehen, aber die Schleife darf dann auch nicht bis zum Ende der Zeilen durchlaufen. Aber wie gesagt: _FileReadToArray.Insgesamt fehlt auch die Fehlerbehandlung. Was ist, wenn die Datei nicht existiert?

    Danke, den Syntaxfehler habe ich erst gar nicht gesehen, habe ich jetzt aber verbessert und die erste Schleife auch entfernt :)

  • Programm zum durchsuchen von .inf Datein

    • hajoh25
    • 15. Juli 2015 um 20:36
    Zitat von Kanashius

    $eingabe=$input ist falsch. richtig wäre $eingabe=guictrlread($input). Ansonsten ließt du den handle des controls ein (oder die nummer). und code bitte in code tags ;), danke :)

    Vielen Dank Kanashius, hat mir sehr geholfen und dieser Teil funktioniert jetzt super :)

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™