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

Beiträge von TheDude

  • Einbinden DLL für das Einlesen von Messwerten über die serielle Schnittstelle

    • TheDude
    • 10. November 2017 um 11:02

    Hallo Zusammen,

    für ein Projekt muß ich eine DLL der Fa. Steinwald in ein Programm einbinden um über die serielle Schnittstelle Messdaten einlesen zu können. Zu diesem Zweck habe ich eine Doku über die Funktionen in der DLL erhalten zusammen mit Beispielaufrufen aus VB-Programmen. Auch werden in der Doku die Parameter für die einzelnen Funktionen erklärt.

    Hier einmal ein Beispiel:

    pasted-from-clipboard.png

    Der VB-Code hierzu:

    Code
    Declare Function HINET_Get Lib "DCH_32.DLL" (ByVal Typ As Long, ByVal Chan As Long, ByRef Messwert As Double, ByVal fWait As Long) As Long

    Mir fehlt hier jetzt allerdings einfach der Anfang für das Umsetzen der VB-Codes in AutoIt. Kann mir hier bitte von euch jemand einen Tipp geben wie man die DLL "öffnet" und dann die Funktionen darin aufruft (anhand des HINET_GET)?

    Leider kann ich die DLL hier nicht mit posten, da es sich um ein kommerzielles Produkt der Fa. Steinwald handelt. :(

    Besten Dank vorab,

    viele Grüße

    TheDude

  • Excel.UDF: Inhalt des Clipboards in eine Tabelle einfügen

    • TheDude
    • 30. Juni 2017 um 19:27

    ... nur noch eine kleine Anmerkung (ich verwende Excel 2013):

    $oWorkbook.Activesheet.Paste.Range("A3") startet das Einfügen nicht wie erwartet bei Zelle "A3" sondern in der Zelle, die vorher beim Speichern aktiv war - diese kann also überall sein.

    $oWorkbook.Activesheet.Paste($oWorkbook.Activesheet.Range("A3")) hingegen kopiert die Zwischenablage wirklich ab der Zelle "A3". Keine Ahnung warum das so ist ...

    Viele Grüße
    TheDude

  • Excel.UDF: Inhalt des Clipboards in eine Tabelle einfügen

    • TheDude
    • 30. Juni 2017 um 14:27

    Hallo Water,

    ... oh yes! Läuft! Herzlichen Dank! :thumbup:

    Auch für den Link zum Objektmodell - kannte ich noch gar nicht ... :/

    Viele Grüße & ein schönes Wochenende
    TheDude

  • Excel.UDF: Inhalt des Clipboards in eine Tabelle einfügen

    • TheDude
    • 29. Juni 2017 um 12:55

    Hallo Zusammen,

    kann mit evtl. jemand von euch den entscheidenen Tipp geben, wie ich den Inhalt des Clipboards (Format: Wert & CHR8) & Wert & @CRLF & Wert & Chr(9) uw.) mithilfe der Excel.UDF in eine Tabelle ab der Zelle A1 einfügen kann?

    Nachfolgendes habe ich probiert:

    AutoIt
    _Excel_SheetAdd($oWorkbook,Default,True,1,"Test") ; funktioniert
    _Excel_RangeCopyPaste($oWorkbook.ActiveSheet,Default,"A1",Default,$xlPasteValues) ; @Error = 4


    Hier wird zwar zunächst das Blatt "Test" angelegt, aber mit der zweiten Zeile gelingt es mir nicht, den Inhalt der Zwischenablage einzufügen. Wenn ich Excel starte, eine neue Tabelle öffnen und dann mit Strg+C den Inhalt des Clipboards einfüge, klappt das wunderbar - nur eben nicht aus dem Script heraus? Kann mir hierzu bitte jemand auf die Sprünge helfen?

    Dann noch eine Frage in diesem Zusammenhang, bitte: Wie kann ich ein bestimmtes Blatt einer Excel-Datei so aktivieren, daß die Daten aus dem Clipboard tatsächlich nur dort landen und nicht in einem anderen Blatt?

    BTW: Ich habe in der Hilfe zur Excel-UDF gesehen, daß es zu der Objektvariablen (hier $oWorkbook) noch weitere "Angaben" gibt (wie z. B. .ActiveSheet). Gibt es irgendwo eine Liste dieser "Angaben" zum nachlesen?

    Vorab vielen Dank für eure Hilfe,
    viele Grüße

    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 14. November 2016 um 15:02

    Hi Bitnugger,

    ... sorry, das klappt leider auch nicht - wäre natürlich zu schön gewesen. ;(

    Viele Grüße
    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 9. November 2016 um 17:07

    ... sehr sehr gut erklärt. :klatschen:

    Ich werde das gleich morgen früh mal probieren. Klingt auf jeden Fall sehr interessant - und ist allemal ein Versuch wert! :)

    Danke Dir. :thumbup:

    Viele Grüße
    TheDude

  • Listview Kopfzeile (Header) in String lesen

    • TheDude
    • 9. November 2016 um 11:56

    Hallo Bugfix,

    ... ich war völlig auf dem falschen Dampfer. So geht es:

    Code
    For $i = 0 To _GUICtrlListView_GetColumnCount($hListView) - 1
       $aListViewHeader = _GUICtrlListView_GetColumn($hListView,$i)
       $sReturn &= $aListViewHeader[5] & "|"
    Next ; $i


    Manchmal sieht man echt den Wald vor lauter Bäumen nicht ... :D

    Viele Grüße
    TheDude

  • Listview Kopfzeile (Header) in String lesen

    • TheDude
    • 9. November 2016 um 11:32

    Hallo Zusammen,

    gibt es eigentlich eine einfache Möglichkeit, die Kopfzeile (den Header) einer ListView in einen String zu lesen?

    Ich hatte mal in der Hilfe zur UDF geblättert, aber dort bin ich nicht wirklich fündig geworden. Habt ihr hier bitte einen Tipp für mich?

    Besten Dank vorab,
    viele Grüße

    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 9. November 2016 um 11:21

    ... sorry, das verstehe ich nicht so ganz. Wie meinst Du das? ?(

  • Warnungen abschalten in Scite

    • TheDude
    • 8. November 2016 um 15:11

    Hallo Bugfix,

    ... error.inline=0 hat es "gebracht", vielen Dank für den Tipp. :)

    Jetzt springt mir zwar der Cursor im Editierfenster immer noch an die Stelle mit der ersten Warnung, aber dafür bleibt alles recht übersichtlich. Ist zwar etwas lästig, weil ich ja gerne die letzte Änderung im Code testen möchte und ich mich daher wieder von der ersten Warnung zurückhangeln muß - aber egal ...

    Was genau bewirkt dieses #Region ... #EndRegion? Kann man das anspringen und somit irgendwie an das Ende des Quelltextes stellen? Ansonsten müßte ich alle Variablen am Anfang deklarieren, was irgendwie "ungewohnt" aussieht. Wenn es aber anders nicht geht ist das auch kein Thema. :)

    Nochmals vielen Dank an Dich und Stoani für eure Hilfe,
    viele Grüße

    TheDude

  • Warnungen abschalten in Scite

    • TheDude
    • 8. November 2016 um 12:35

    Hallo Stoani,

    ... japp, danke, damit schalte ich den Deklarierungs-"Zwang" aus. Aber ich würde gerne nach wie vor deklarieren - und eigentlich lediglich die Warnungen abschalten. Ist halt eine rein optische Geschichte.

    Viele Grüße
    TheDude

  • Warnungen abschalten in Scite

    • TheDude
    • 8. November 2016 um 12:15

    Hallo Zusammen,

    möglicherweise ist es etwas Off Topic, aber: Weiß jemand von euch evtl. wie ich die Warnungen in Scite abschalten kann? Speziell die Warnung "$variable possibly used before declaration" ist bisweilen sehr lästig, da sie in meinen Scripten sehr häufig auftritt und das halbe Editor-Fenster dann gelb ist. :whistling:

    Die Variablen deklariere ich der Übersichtlichkeitshalber in einer Func ... und die angemeckerten Zeilen kommen dann definitiv später ...

    Code
    _Deklariere_Globale_Variablen()
    Func _Deklariere_Globale_Variablen()
       Global $xyz
       Return 0
    EndFunc

    Besten Dank vorab,
    viele Grüße

    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 8. November 2016 um 12:09

    Hallo Zusammen,

    ... natürlich habe ich es auch schon mit plink.exe versucht, aber die WLCs von Cisco verlagen ein "Enter" VOR dem Login und damit scheitert der Verbindungsaufbau. Es klappt (derzeit) wirklich nur mit dem Putty - wenn ich dem Fenster zuerst ein "Enter" sende und dann die Login-Daten ...

    Und ja - ihr habt Recht: Es ist ziemlich unzuverlässig. ;(

    Viele Grüße
    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 19. Oktober 2016 um 10:13

    Hallo Zusammen,

    ... doch leider zu früh gefreut: Alles funktioniert - aber leider nur solage Putty das aktive Top-Window ist. Wenn Putty nicht das aktive Window ist, dann wird zwar alles ins Terminalfenster gesendet, aber leider nur in lower case. ;(

    Auf der Basis eines Scripts aus https://autoit.de/www.autoitscript.com und euren Tipps habe ich mal nachfolgendes abgewandelt:

    Code
    $Text = '"Max Mustermann (Test Test)"'
    $Laenge = StringLen($Text)
    For $i = 1 To $Laenge
      If StringIsUpper(StringMid($Text,$i,1)) Then
        $ControlText = $ControlText & StringReplace(StringMid($Text,$i,1),StringMid($Text,$i,1),"{SHIFTDOWN}{" & StringMid($Text,$i,1) & "}{SHIFTUP}")
      Else
        $ControlText = $ControlText & StringMid($Text,$i,1)
      EndIf
    Next ;$i


    Das ist zwar langsam, funktioniert aber zumindest dann, wenn Putty aktives Top-Window ist oder aber durch ein anderes Fenster verdeckt wird. Ist Putty jedoch sichtbar aber kein aktives Window, dann sendet ControlSend anstelle von Anführungszeichen eine 2 und anstelle von Klammer auf bzw. zu eine 8 bzw. eine 9. Ist schon irgendwie schräg ... :)

    Ich probiere noch etwas rum, bin natürlich auch für weitere Ideen überaus dankbar.

    Viele Grüße
    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 19. Oktober 2016 um 09:43

    Hallo Zusammen!

    Micha_he: Das Script funktioniert. Allerdings löscht mir die Expression die Leerzeichen aus dem String (aus "Max Mustermann" wird MaxMustermann).

    Zeitriss: Beide Scripte funktionieren. Ich werde das mal eine Zeit ausprobieren und schauen, ob es da noch irgendwelche Problemchen gibt.

    Nochmals besten Dank für eure Hilfe,
    viele Grüße

    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 19. Oktober 2016 um 07:50

    Hallo Zusammen,

    ... bitte entschuldigt, daß ich mich erst jetzt wieder zum Thema melde.

    Im englischen Forum gab es jede Menge Hinweise und Scripte zum Thema, leider hat keins wirklich zuverlässig (wie von Andy auch beschrieben) funktioniert. Daher werde ich die beiden Scripte von Zeitriss und Micha_He auf jeden Fall gleich einmal ausprobieren.

    Andy: Ja, Du hast Recht. Ich hatte zwar im Manual nachgelesen, aber es einfach nicht so verstanden. Nun ist es mir klarer, Danke dafür. Ich probiere das mal mit einem statisch zusammengebauten String aus ...

    In dem Zusammenhang: Ich habe ebenfalls versucht, ein Passwort mit einem Sonderzeichen "@" an das Putty-Fenster zu senden, aber das Zeichen wird einfach ignoriert. Hat jemand von euch hierzu evtl. auch einen Tipp?

    Danke vorab,
    viele Grüße

    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 29. September 2016 um 07:16

    Hi Oscar & Zeitriss,

    ... ja, ControlSetText sendet aber gar nichts ans Fenster.

    Zeitriss: Ich hatte schon gesucht, aber nichts im Forum gefunden. Ich denke, ich schaue auch mal ins englische Forum.

    Viele Grüße
    TheDude

  • ControlSend sendet Text nur Lower-Case

    • TheDude
    • 28. September 2016 um 12:36

    Hallo Zusammen,

    woran kann es liegen, daß ControlSend den Inhalt eines String nur lower-case an ein Fenster sendet?

    Konkret sende ich mit ControlSend einen Benutzernamen an ein Putty-Fenster. Der Benutzername besteht jedoch aus großen und kleinen Buchstaben. Da ControlSend alles klein sendet, wird das Anmelden am System verweigert. Gleiches gilt in der Folge auch für das Senden des Passworts:

    Code
    ControlSend($WinHandle,"",$WinHandle,$UserName,1)


    Wenn ich dem Putty-Fenster den gleichen String mit Send schicke, dann klappt alles soweit:

    Code
    Send($UserName,1)

    Hierbei muß das Putty-Fenster jedoch immer OnTop und aktiviert sein - bei ControlSend kann ich es hiden. Insofern würde ich gerne ControlSend verwenden.

    Hat jemand von euch evtl. eine Idee hierzu?

    Besten Dank vorab,
    viele Grüße

    TheDude

  • Exchange Mails eines bestimmten Kontos lesen und löschen

    • TheDude
    • 6. September 2016 um 15:47

    Hallo Zusammen,

    für ein Projekt suche ich eine Möglichkeit, von einem Exchange-Server Mails (Betreff & Text) eines bestimmten Kontos auszulesen und diese anschließend zu löschen. Auf dem Rechner, der den Exchange regelmäßig abfragen soll, ist jedoch kein Outlook-Client installiert, sodaß ich die Outlook.UDF leider nicht nutzen kann.

    Hat jemand von euch soetwas schon einmal realisiert und könnte mir ein entsprechendes Stück Code zusenden?

    Besten Dank vorab,
    viele Grüße

    TheDude

  • Probleme mit Dialogen und der Anzeigeskalierung von Windows (7 & 8)

    • TheDude
    • 8. Juni 2016 um 12:17

    Hallo Zusammen!

    Xorianator: Danke Dir für den Hinweis - nur leider hat dies mein Problem so nicht gelöst, da ich die Anzeige-Skalierung ja nicht kenne.

    Schnuffel: DAS war der entscheidende Hinweis. Nun klappt alles wie gewünscht. Ich muß mit der Schriftgröße bzw. Art noch ein wenig herumspielen, aber prinzipiell ist das der optimale Weg (für mich)! :thumbup:

    Vielen Dank an euch beide, :klatschen:
    viele Grüße

    TheDude

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™