Beiträge von Observer

    Hi, ich habe es nicht so mit Arrays, darum mal meine frage hierzu.


    Wie Speichere ich am geschicktesten das Vorkommen von Strings in ein Array?


    Oder sollte ich diese Daten in 2D Array speichern?


    Bin mir da nicht sicher was mehr Sinn macht


    Folgender Code ist mehrfach vorhanden und dahinter sind diverse Werte die wiederum in Arrays landen sollen.


    Code
    <p class="userlist">Herbert Alter: 46 Abteilung: Buchhaltung</p><p class="userlist">Robert Alter: 38 Abteilung: QS</p>


    Jetzt würde ich gerne aus dem HTMLText folgendes in Array speichern:


    $Personalliste[1] -> Name: Herbert ->Alter: 46 ->Abteilung: Buchhaltung


    $Personalliste[2] -> Name: Robert ->Alter: 38 ->Abteilung: QS


    Hab es nicht so mit Regexp und Arrays, aufgrund von Zeitmangel komm ich einfach nicht richtig zum lernen :(
    Wäre nett wenn mir da jemand ein Bsp. geben könnte.


    MfG

    Ja das ist das nächste Seltsame, mache ich es so, dann passiert gar nichts.
    Hab irgendwo gefunden das ich das 2x schreiben muss seitdem bekomme ich wenigstens ne Errormeldung in der Konsole die eben den Zugriff verweigert.


    Thx


    Habe es anders gelöst, danke.
    Aufgrund des Bildes weis ich die Userid und kann somit auf die zurückführende ID des TD schliessen und somit auf diese ID klicken.


    Was mich zu einer anderen Frage bewegt, aber dafür wohl eher einen neuen Thread der dann Aussagekräftiger ist.

    Hi, habe folgendes Problem:
    Wenn ich in dem Frameset der Seite auf die Usertabelle gehe sehe ich eine MiniMap mit den Bildern der User mit denen ich ein Projekt betreibe.
    Diese MiniMap kann ich umsortieren durch anklicken des Users.
    Das Userbild wird dann an die Entsprechende stelle verschoben wo ich hin will.
    Alles andere Funktioniert so weit in meiner GUI, nur das onclick will nicht gehen.
    Hier sagt es mir das der Zugriff verweigert wird.


    ----> $IEComErrorWinDescription = Zugriff verweigert
    ----> $IEComErrorDescription = Zugriff verweigert


    Das Frame wird ausgewählt und der Click sollte eigentlich passieren aber nichts passiert.


    Was habe ich da Falsch?


    Ist die Letzte Aktuelle Autoitversion sowie die ie.au3
    Der Quellcode

    Code
    <td width="50" height="50" id="userx14y21" style="background-image:url(http://intranet/images/usermap/user1324.jpg);"><a onClick="javascript:UserMove('up')" style="cursor: pointer" ></a></td>


    Die Navigation in der GUI

    Code
    _IENavigate ($oIE_mapFrame, "javascript:javascript:UserMove('up');",0)


    Könnte mir das einer erklären?


    Ich will keine Lösung nur einen Hinweis in welche Richtung ich denken muss.

    Danke im voraus

    MfG

    Danke, hab es schon gelöst.
    Wie du sagtest, habe ich mit StringSplit das ganze gemacht und dann Sauber Ausgelesen.
    Deckt mir jetzt so zimlich alle Fälle ab die ich bisher hatte.


    Muss mich jetzt nur noch mit GUI und dem erstellen mehrerer GUIs widmen.


    MfG
    Obs

    Hi danke für deine Antwort schonmal.


    Also zu dem String komme ich weil ich eine PDF Auslese und dort die Adressdaten in der Form da stehen.
    Diese PDF kann ich leider nicht beeinflussen, da ich diese Geliefert bekomme.


    Das was du so im ganzen sagtest, ist vollkommen richtig.
    Ich habe das auch schon befürchtet :(


    Werde dann wohl die einzelnen Zeilen in einzelne Arrays packen und dort nach verschiedenen Kriterien auseinanderdrösseln.
    Dies wiederum werde ich in einzelne Comboboxen hauen und dort den Anzunehmenden Wert Vorselektieren.
    Sollte dieser Wert nicht Korrekt sein kann der User da dann immerhin noch einen anderen Wert wählen oder den Korrekten eben von Hand eintragen.


    So sollte es dann gehen denke ich.


    Vorname | Nachname | Strasse | Hausnr | PLZ | Ort | Teilort
    Sollte die Vorgabe sein in der die Daten dann abgelegt werden.
    So kommen diese dann in die DB.


    Dort wiederum ist es dann eine Saubere Ablage und kann Ordentlich abgearbeitet werden.


    MfG
    Obs

    Hi Leute, bin nicht so der RegExperte darum meine Frage.


    Wenn ich folgenden String habe :
    Vorname | Nachname | Strasse | Hausnr | PLZ | Ort | Teilort
    Martin Mustermann SeeYoustr. 4 12323 Wurstwo Egalheim


    Wie müsste ich diesen zerlegen wenn evtl. noch folgende Umstände dazu kommen könnten.


    Zwischen Vor und Nachname ein 2t Name, evtl. auch kein Teilort oder aber der Nachname ist evtl. Müller-Mailer aber da unter Umständen getrennt oder eben auch nicht.
    Es könnte auch sein, das die Strasse so geschrieben wurde.
    SeeYou Str. 4
    Was wiederum auch ein Problem geben könnte :(


    ????


    Mir fällt dafür keine Lösung ein, aber ich muss diese Daten zerlegen und entsprechend in die Datenbank schieben.


    Kann mir da wer Helfen ?


    Könnte unter Umständen auch sein das ich danach noch ein Paar RegEx Fragen habe :(


    Thx
    MfG
    Obs

    Ja, Danke dir, das hatte ich mir angesehen XPDF, dabei habe ich aber irgendwie das PDFtotext überlesen.
    Super.


    Das hilft mir weiter.
    Damit kann ich txt Dateien erstellen und diese Parsen und dann in die MySql schieben.


    Auf PHP Basis habe ich eben auch etwas gefinden.


    FPDF war schon bekannt, aber den Zusatz FPDI hatte ich bis Dato noch nicht gesehen.
    Damit Funktioniert das wunderbar.


    Danke dir.


    MfG
    Obs

    Hi, ich möchte gerne PDF Dateien die ich bekomme Auslesen und gegebenenfalls etwas in diese schreiben.


    Folgendes Problem :
    Ich bekomme PDF Dateien in denen im Oberen Bereich Anschrift Name und Telefon von einer Person stehen.
    Diese Daten möchte ich auslesen in ein Array Packen und dann an meinen MySql server senden.


    Desweiteren stehen in der Mitte des PDF einige Zeilen bei denen ich entweder Zahlen oder einfach nur x eintragen muss.


    Die stellen sind immer gleich das PDF ist 6 Seiten gross.


    Frage
    1 : Ist es Möglich mit Autoit PDF in Klarschrift darzustellen ? (Wenn
    ja, gibt es irgendwo ein Bsp. habe gesucht aber nichts gefunden, evtl.
    falsche Schlagwörter genutzt.)


    Mögliche sonstige Lösung, auf der Seite : http://pdf2html.tabesugi.net:8080/
    Kann man PDF Umwandeln, oder eben PDFMiner auf dem eigenen Server Installieren.
    Dies möchte ich aber nur Ungern tun.


    Frage 2 : Ist es Möglich mit Autoit direkt in ein PDF zu schreiben ? (Auch das gesucht aber nichts gefunden.)


    Mögliche sonstige Lösung, evtl. mit Adobe Acrobat x Pro eine Automatisierung zu schreiben.
    Allerdings
    ist dies eher Suboptimal, da ich die PDF Dateien auf verschiedenen
    Systemen bearbeite und die Auflösungen jeweils komplett anderst sind.
    Auch werden unterschiedliche Windows Systeme genutzt.
    Habe es damit mal so Ansatzweise getestet, wie gesagt eher nicht so Optimal.


    Wäre Dankbar für ein Paar Hinweise wo ich etwas finde oder ein Paar kleinere Codebeispiele.


    MfG
    Obs

    Hallo Leute, ich muss folgendes tun.


    ich habe ein Verzeichnis 'Neu'


    Dann habe ich noch Verzeichnisse wie folgt : Testen, inBenutzung, Unnötig


    Jetzt müsste ich alle Dateien aus dem Verzeichnis 'Neu' mit den 3 anderen Verzeichnissen vergleichen.
    Also alles was in 'Neu' enthalten ist darf in keinem der 3 Verzeichnisse auch vorhanden sein.
    Doppelte Dateinamen sind das in der Regel.
    Diese 4 Verzeichnisse sind alle in einem Ordner enthalten und das ganze unter WinXP.


    Die Doppelten Dateinamen sollten mir angezeigt werden und ich sollte sie zum Löschen im 'Neu' Markieren können.


    Hat da schonmal jemand sowas in der Art gestrickt ?



    Danke für eure Bemühungen schonmal im voraus.

    Hm, ok dein Beispiel ist schon besser.


    Allerdings ist da kein Denkfehler von mir :)


    Ich weis das 2 Guis ein Prog sind wenn sie zusammen aufgerufen werden.




    Nur ging es mir eben um die Frage ob es sinnvoller ist zwecks der Timer geschichte das in 2 Scripten zu machen.




    Aber seis drum.




    Hast fast alles damit beantwortet bis auf eines, wie kann ich den Counter wenn er seine Funktion ausgeführt hat dazu bewegen die selbe eingegebene Ablaufzeit wiederholt durch zu gehen ?




    Also von sich aus ohne Interaktion von mir :)




    Danke dir für dein Script, ist wie gesagt schon fast das was ich brauche dafür.




    Soll aber Praktischerweie ne Art Repeat haben.


    Edit : Hat sich doch erledigt.
    Brauch ja nur _SetCounter() die daten übergeben für $i usw. also _SetCounter($i) bzw. _SetCounter($i,$Default)
    $Default mit dem Default Zeitwert füllen und das dann entsprechend abarbeiten.



    Thx

    Fast richtig, ist ein gutes Beispiel für mich für diese Adlib geschichte.Danke dir.


    Allerdings noch immer nciht das was cih meine :)




    Ich versuche es nochmal.




    1.) Beide Guis werden beim Start erstellt.


    2.) Gui 2 beinhaltet den Counter.


    3.) Gui 1 ist mit Buttons Combo und diversen Labels und werten aus Ini dateien bestückt.


    4.) Wenn bei Gui 2 (Counter) 1 Wert abgelaufen ist, soll eine Funktion von Gui 1 (Main) aufgerufen werden, indem ein Button oder ein Wert aus einer Combo gelesen wird und dann button gedrückt wird.


    5.) Wenn bei Gui 2 (Counter) der nächste wert auf 0 ist soll wiederum eine Funktion ausgeführt werden.


    6.) Der Wert der Counter soll wieder zurückgesetzt werden und der Timer von neuem beginnen.




    Das ist was geschehen sollte.




    Mein Problem ist, das ich beim erstellen der beiden Guis schon schwierigkeiten habe.




    1.) Nachdem ich beide Guis erstellt habe funktionieren diese erst wenn ich einmal eine der Guis schliesse :(


    2.) Wenn ich die Zeit zurücksetzen will auf einen Startwert geht er nicht mehr von vorne los.




    Ich möchte mir damit für meine diversen Server die ich im Geschäft betreue ne Logtime erstellen.


    Also immer nach ablauf bestimmter zeiten soll die Logdatei vom ERP System und vom Printserver usw. gelesen und weggespeichert werden.


    So bleibt das Systemlaufwerk schön frei.


    Beim Printserver sollen noch die Queue einträge die hängen bleiben, immer nach bestimmter zeit geprüft und gegebenenfalls gelöscht werden.


    Beim ERP system sollen immer die Printdateien diverser Member (Systemaccounts) eingeloggt werden und die Logs wegschreiben.


    Das wäre eine feine sache für meine Arbeit.




    Also Gui so zum Klicken habe ich das schon.


    Nur umbauen mit Counter wäre genial.


    Da könnte ich nen extra Pc mit den Guis laufen lassen und diese Arbeiten erledigen lassen.




    Auf meiner Workstation Scanne ich diverse Verzeichnisse nach neuen Dateien, wie z.B. Odette (Automotive VDA4905) ab.


    Da bekomme ich immer Mails wenn neue da sind um diese dann in das ERP ein zu lesen.


    Auch das könnte ich dann per Counter mit erledigen und somit meien Workstation entlasten.




    Hoffe das war jetzt etwas besser erklärt.




    Edit : Ich will nicht das Script von euch erstellt bekommen.


    Ich müsste nur wissen wie das mit dem Counter und den Guis geregelt wird.


    Denn rest bekomme ich hin.


    Bzw. teilweise hab ich das ja schon.


    Eben wie gesagt noch nie mit 2 Guis gearbeitet und dann jetzt gleich dieses Problem damit.



    P.s: Ist es evtl. sinnvoller das mit 2 Scripts zu machen ?


    Also ne Gui mit Counter wo ich dann das Andere Script anspreche ?


    Finde es halt innerhalb eines Scriptes besser weil ich da dann alle Controls direkt ansprechen kann.



    Wie ist eure Erfahrung mit sowas ?


    MfG

    Das habt ihr alle etwas falsch verstanden.


    Die 2te soll nicht bei Exit erstellt werden, sondern sie wird jetzt nachdem ich das mit dem Guisetstate() verstanden habe erstellt.


    Nur muss ich derzeit einmal bei einer der Guis auf das Rote Kreuz zum schliessen klicken und sie bleibt offen, erst nach dem Klick funktioniert die andere Gui.



    Also sagen wir mal ich habe 2 solche TimerGuis.


    Nur bei einer läuft die zeit und das erst nachdem ich auf einer der beiden Guis das rote kreuz klickte.


    Warum ist das so ?



    Thx

    Hm, ich muss immer erst eine der Guis schliessen ehe der Counter funzt.


    Wieso das denn ?


    Verstehe ja was du meinst, nur wie mache ich das beide laufen ?


    In der einen soll ja der Counter laufen und bei zeiten Aktiv werden.


    In der Anderen Gui möchte ich ja Aktionen per Buttons auslösen usw.



    Thx

    Jo so funzt das wenn die erste beendet wurde, aber das ist ja mein Problem.


    Sie sollte Funktionieren und gut isses :)




    Also ich möchte die nacher per Button mit @SW_Hide and Show bearbeiten können.


    Nur bekomme ich genau dass nicht hin :(




    Edit : Ahhh ich habs, hätte ich dein Post gleich richtig gelesen hätte ich nicht nochmal gefragt :(



    Thx



    Kannst mir da bitte erklären wieso das so ist ?






    Vielen dank !

    Sorry für Doppelpost, aber ich müsste wissen wieso die 2te Gui nicht bleibt.







    Thx für eure Hilfen !

    lol, darauf hätte ich ja auch kommen müssen :(




    Na ich lerne das schon noch irgendwann ! :)




    Danke euch für euere Beispiele.



    Edit : Noch ein Problem, wenn ich hier noch eine 2te Gui erstelle die ich dann Steuern will, warum macht er mir diese erst auf wenn ich diesen Counter 1xschliesse.


    Allerdings bleibt der Counter trotzdem offen !


    Weis mir da jemand nen Rat ?

    Hi BugFix hat da im August letztes Jahr mal nen Bsp. für jemanden gemacht.


    Das habe ich mir mal angesehen und finde das superpraktisch für meine Adminsaächelchen.


    Habe nur ein mini Problem mit den Schleifen usw.


    Das ist aber bekannt hier das ich des wohl nie gebacken bekomme :(




    Naja, also meine Frage hierzu :



    #include <guiconstants.au3>
    #include <Date.au3>
    Global $arBt[8][2], $arIn[8][3], $arCounter[8][2], $y = 10, $input
    GUICreate('test')
    For $i = 0 To UBound($arBt) -1
    $arBt[$i][0] = GUICtrlCreateButton('set Time', 10, $y, 60, 20)
    $arIn[$i][0] = GUICtrlCreateInput('', 80, $y, 40, 20)
    $arCounter[$i][0] = GUICtrlCreateLabel('', 140, $y+3, 80, 17)
    $arBt[$i][1] = GUICtrlCreateButton('Reset', 240, $y, 60, 20)
    GUICtrlSetState($arBt[$i][1], $GUI_DISABLE)
    $y += 30
    Next
    GUISetState()
    Do
    $msg = GUIGetMsg()
    _SetCounter()
    For $i = 0 To UBound($arBt) -1
    If $msg = $arBt[$i][0] Then
    $arCounter[$i][1] = 1
    $input = GUICtrlRead($arIn[$i][0])
    If $input = '' Then ContinueLoop
    If StringInStr($input, ':') Then
    $input = StringSplit($input, ':')
    $input = $input[1]*60 + $input[2]
    EndIf
    $arIn[$i][1] = $input * 60
    $arIn[$i][2] = _NowCalc()
    GUICtrlSetState($arBt[$i][0], $GUI_DISABLE)
    GUICtrlSetState($arBt[$i][1], $GUI_ENABLE)
    ElseIf $msg = $arBt[$i][1] Then
    GUICtrlSetState($arBt[$i][0], $GUI_ENABLE)
    GUICtrlSetState($arBt[$i][1], $GUI_DISABLE)
    GUICtrlSetData($arCounter[$i][0], '')
    GUICtrlSetData($arIn[$i][0], '')
    $arIn[$i][1] = 0
    EndIf
    Next
    Until $msg = $GUI_EVENT_CLOSE
    Func _SetCounter()
    Local $sec
    For $i = 0 To UBound($arCounter) -1
    If $arCounter[$i][1] <> 1 Then ContinueLoop
    If $arIn[$i][1] = 0 Then ContinueLoop
    $sec = $arIn[$i][1] - _DateDiff("s", $arIn[$i][2], _NowCalc())
    Select
    Case $sec < 60
    GUICtrlSetData($arCounter[$i][0], StringFormat('%02u', $sec) & ' s')
    Case $sec < 60*60
    GUICtrlSetData($arCounter[$i][0], StringFormat('%02u', Floor($sec/60)) & ':' & _
    StringFormat('%02u', Mod($sec,60)) & ' min')
    Case $sec < 60*60*24
    GUICtrlSetData($arCounter[$i][0],StringFormat('%02u', Floor($sec/3600)) & ':' & _
    StringFormat('%02u', Floor(Mod($sec,3600)/60)) & ':' & _
    StringFormat('%02u', Mod(Mod($sec,3600),60)) & ' h')
    EndSelect
    If $sec = 0 Then
    SoundPlay(@WindowsDir & '\Media\tada.wav')
    $arCounter[$i][1] = 0
    EndIf
    Next
    EndFunc




    Egal bei welchem Feld der Counter auf 0 geht es passiert immer das gleiche.


    Nun würde ich gerne bei jedem Feld etwas anderes nach Time ausführen.




    Wie muss ich das zusammenpacken ?


    Sollte ich das in ein Array packen und mir dort die Infos holen oder wie müsste ich das machen ?




    Vielen dank für eure Hilfe.

    lol, ja hast nicht unrecht.


    Habe das Falsch Interpretiert.


    Code
    x pos
    [optional] Die Position (in Pixeln) des Fortschrittsbalkenfensters von links (standardmäßig zentriert).
    y pos
    [optional] Die Position (in Pixeln) des Fortschrittsbalkenfensters von oben (standardmäßig zentriert).


    Dachte damit wäre die Position des Balkens Innerhalb des Fensters gemeint :)


    Thx für die Säge :)


    Sah ja vor lauter Bäumen den Wald nicht mehr xD