wozu benötigt du die genaue Rechtschreibung der Funktionen?
Ich vermute mal, für die Autovervollständigung. Das Thema hatte ich mit SublimeText nämlich auch.
wozu benötigt du die genaue Rechtschreibung der Funktionen?
Ich vermute mal, für die Autovervollständigung. Das Thema hatte ich mit SublimeText nämlich auch.
@MaxChri
Ich bin fast seit Anbeginn dieses Forums dabei. Solch oberschlaue Typen, wie du, schlagen hier ab und an mal auf.
Nur sind wir gar nicht davon angetan, wenn Leute, die meinen die Weisheit mit Löffeln gefressen zu haben, uns mit ihren geistigen Ergüssen beglücken wollen.
Oder um es unmissverständlich und ohne jeden Zweifel zu sagen: Wir wünschen die einen angenehmen Tag auf der Suche nach einer anderen Informationsquelle. Du darfst deinen Besuch hier gern als ein temporäres Ereignis betrachten.
[CLOSED]
Such mal hier im Forum nach meiner Funktion "_StringBalanced", damit kannst du das aufdröseln.
Man könnte natürlich auch die Path-UDF bemühen, wäre aber zu einfach. ![]()
Du kannst mal versuchen, statt des absoluten Programmpfades das Makro für "Programme" zu verwenden.
1. Wie bekomme ich einen Screenshot vom Desktop Hintergrund - ohne Icons und Fenster usw.
Wozu davon einen Screenshot? Das ist dein Wallpaper. Der Speicherort steht in der Registry:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Desktop\General -- WallpaperSource
Das ist auch das gerade aktuelle Wallpaper wenn du die Slideshow-Funktion nutzt.
Pffff.. der Andy war einen Hauch schneller. ![]()
Da solltest du dich mal bei den AutoIt Developern beschweren, für die ist ein CD/DVD kein REMOVABLE Device wie aus der Hilfe zu ersehen.
Ausnahmsweise sind die Devs da unschuldig. ![]()
Das ist Windows-intern so geregelt: https://msdn.microsoft.com/de-de/library/…(v=vs.110).aspx
Was aber ist "TraceLines"?
Öffne mal SciTE, drück "Strg+1" und schau bei der Tools-Auswahl. Dort findest du die integrierten Tools zum Einbinden in dein "Extras"-Menü von SciTE.
Telefonanlagen mit in den Kommunikationsweg eintzubinden
Ja, werde da ruhig konkret und führe Bsp.-Hardware an. Z.B. sowas: http://www.amazon.de/Alarm-Alarmmod…r/dp/B008JTQQDE
und es ist ein DVD Laufwerk vorhanden
tz, tz - und seit wann ist das ein Wechseldatenträger? Das ist dann Typ "CDROM". Wenn du nicht weißt, was es für ein Laufwerk ist, frage nach "ALL". Mein Skript funktioniert auch damit, weil es dann mit allen Laufwerken auf Existenz der Datei prüft.
Was bedeutet z.B. GUIRegisterMsg( 0x0400, "___TCP_OnAccept" ). Also was bringt hier die 0x0400
Da kannst du in der Hilfe unter <Appendix> <Windows Message Codes> nachsehen.
0x0400 = WM_USER
Also ich kann leider nichts konkretes zu deinem Problem beitragen. Das Problem ist, dass ich das komplett im Kopf durchspielen muss ohne das System zu kennen und ohne testen zu können. Und erst die Doku lesen ist mir dann jetzt doch etwas to much.
Mir ist auf Anhieb niemand bekannt, der das Tool nutzt. Im Allgemeinen kommt man sehr gut mit DebugToConsole/MsgBox oder TraceLines aus.
Ich habe das Tool vor langer Zeit mal probiert, war aber gar nicht von begeistert. Für kleine Skripte braucht man es nicht und bei großen Skripten kannst du Kaffe trinken gehen bis es läuft.
Achso, hatte ich vergessen zu schreiben: Du musst zu den Systempfaden den Pfad der Filterinstallation hinzufügen.
Sollte genau wie bei mir dann: "C:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit platforms\bin" sein.
Um den Pfad hinzuzufügen:
- <Win + Pause>
- "Erweiterte Systemeinstellungen"
- "Umgebungsvariablen" >> "Systemvariablen" >> "Path" markieren >> "Bearbeiten"
- hinter letztem Eintrag ein ';' und dann den Pfad
- <OK>
- Neustart
Wenn du jetzt einen Begriff im Suchfeld des Dateiexplorers eingibst, wird danach auch im Text von PDF gesucht und die Ergebnisse wie gewohnt aufgelistet.
"Label" ist kein Ordner, sondern die Bezeichnung des Datenträgers.
Gehe besser so vor, da ist es egal, wie der Datenträger heisst.
$aDrives = DriveGetDrive("REMOVABLE")
$sPath = "Handbuch/1_deckbl.pdf"
$fPathExists = False
For $i = 1 To $aDrives[0]
$sPathExecute = $aDrives[$i] & '\' & $sPath
If FileExists($sPathExecute) Then
$fPathExists = True
ExitLoop
EndIf
Next
If $fPathExists Then
ShellExecute($sPathExecute)
Else
MsgBox(0, 'FEHLER', 'Datei nicht auf Datenträger vorhanden.')
EndIf
Hast du ein 32-bit oder 64-bit System?
Bei einem 32-bit System reicht es doch den Adobe Reader zu installieren, dann wird automatisch der PDF-Filter für die Datei-Indizierung installiert. Und dann kannst du ganz normal mit der Suche im Explorer Text innerhalb von PDF suchen.
Für 64-bit Systeme war dieser Filter nicht in Adobe enthalten. Er wurde später als einzelnes Paket nachgereicht. Das hat übrigens den Vorteil, dass man Adobe-Reader nicht installieren muss, es reicht der Filter. Download: PDFFilter64Setup.msi
Ich mag den Adobe-Reader gar nicht. Hunderte MB groß, schneckenlangsam. Ich nehme PDF-XChange Viewer. Der bietet auch intern die Suche in mehreren Dateien an.
Das was ich brauche ist dann eher doch was in Richtung GUIRegisterMsg()
Es geht ja darum wenn eine Antwort von Tinkerforge mittels TCP kommt, das dann eine Funktion ausgelöst wird.
Nun, genau das ist eigentlich der Sinn von Callbacks.
Du denkst an ein Polling (AdlibRegister oder Ähnliches) um zu Prüfen, ob eine Nachricht vorhanden ist. Das übernimmt doch die Callback-Funktion. Das Auslöseereignis zum Start der Funktion ist, dass Nachrichten auflaufen.
Mal grob skizziert:
- Endlosschleife
- TCPRecv wartet auf Input
- wird etwas empfangen, sammelst du den Eingang (falls mehr als das ausgehandelte Limit übertragen wird)
- zum Ende der aktuellen Sendung liefert TCPRecv @error
- jetzt kannst du die empfangenen Daten zur Verarbeitung an die Callback-Funktion übergeben
- hinterher kehrst du aus dieser Funktion wieder in die Endlosschleife zurück um auf weitere Sendungen zu warten
Probier mal, ob du das hinbekommst. Danach hast du das Prinzip auch sicher verstanden und nie wieder Probleme damit ![]()
EDIT: Oops, jetzt hatte ich deinen Spoiler gar nicht gelesen - ich schaue es mir nochmal genauer an.
Ein bischen Überlegung hilft. ![]()
Du gehst alle Laufwerke durch.
Du kannst den Typ des angesteckten Laufwerks abfragen.
Dann prüfst du ob auf Drive X, Typ Wechseldatenträger, die Datei "xy.pdf" existiert. Wenn ja: ShellExecute
aber da fehlt der Link.
Häää? - Du sollst dich bitte mal bemühen einen Blick in die AutoIt-Hilfe zu diesen Begriffen zu werfen. :wacko:
Bei solch einfach strukturierten Dateien kannst du durchaus auch auf anderem Weg abfragen:
[autoit]#include <String.au3>
[/autoit][autoit][/autoit][autoit]$itemID = 1016930891607
$aMatch = _StringBetween($s, '<row itemID="' & $itemID & '"', '</row>')
$aSet = _StringBetween($aMatch[0], '<rowset', '</rowset>')
$aResult = StringRegExp($aSet[0], 'typeID="(\d+)" quantity="(\d+)"', 3)
For $i = 0 To UBound($aResult) -2 Step 2
ConsoleWrite('ID' & @TAB & $aResult[$i] & @TAB & 'Menge' & @TAB & $aResult[$i+1] & @CRLF)
Next