Vielen dank für die schnelle und detaillierte Hilfe.
Der Fehler lag bei mir in der Formatierung des Datums.
Beim Aufruf einer Funktion die das Datum in das richtige Format
formatieren soll, waren (-) anstelle von (/) in dem Datum.
Liebe Grüße
Vielen dank für die schnelle und detaillierte Hilfe.
Der Fehler lag bei mir in der Formatierung des Datums.
Beim Aufruf einer Funktion die das Datum in das richtige Format
formatieren soll, waren (-) anstelle von (/) in dem Datum.
Liebe Grüße
Hallo an alle,
ich möchte gerne das Datum eines bereits erstellten Datepick Controls ändern.
Jedoch funktioniert es nicht wie ich es erwartet hatte z.B. mit guictrlsetdata() bzw ControlsetText().
Sofern ich Guictrlcreatedate() mehrfach verwende wird nicht der Inhalt des zuerst erstellten Date Conrols geändern sonder ein Neues darauf erstellt.
Ich wäre für jede Hilfe dankbar und sofern das Problem bereits beantwortet wurde und ich den Beitrag nicht finden konnte, wäre ein Link sehr freundlich.
Gruß von mir
Danke, aber vielleicht bin ich dafür zu blöd, ich habe alle Druckprozessoren durchprobiert.
Ich glaube das Problem liegt darin, dass der Druckauftrag direkt an den Drucker gesendet wird, was bei den rundll-Aufrufen nicht der Fall ist.
RunWait(@ComSpec & ' /c rundll32.exe ' & @SystemDir & '\mshtml.dll,PrintHTML "' & $PrintFile, @TempDir, @SW_show)
Hierbei wird der Internet explorer zum drucken verwendet
und mit :_fileprint() wird die Standartanwendung für den Dateitypen geöffnet und der Druckauftrag dann erst über das geöffnete Dokument gedruckt.
Copy "Datei" \\drucker s.w. print /d: .... sendet das Dokument direkt an den Drucker.
Leider macht das nur das gleiche wie copy "datei" "\\computer\Drucker".
Auf die Art werden RTF Dokumente wie txt Dateien behandelt und der Abschlussbefehl für die Seite wird auch nicht mitgesendet.
Aber gibt es denn für die Rundll32 keinen befehl, wohin der Auftrag gehen soll?
Gibt es keine Möglichkeit das Druckerfenster am öffnen zu hindern und beim (versteckten) öffnen die Adresse für den Drucker zu übergeben?
Danke für die Antwort aber das funktioniert nur mit lokal angeschlossenen Geräten, bei mir handelt es sich um 3 Netzwerkdrucker.
Eine andere Möglichkeit ist es aber den Drucker an einem Computer einzurichten und im Netzwerk freizugeben und dann via (cmd,shellexec->) copy "datei.txt" "\\computerpfad\Druckername", zu drucken.
Leider funktioniert das nur mit Textdokumenten (txt) und es werden keine Abschlussbefehle gesendet.
Einen schönen Feiertag!
Ich hab eine Frage zur Funktion _flieprint() aus der file udf, mit der Funktion ist es möglich sowohl txt als auch rtf Dokumente zu drucken, jedoch nur mit dem Standartdrucker.
Ich weis das es bereits die printmgv2 udf gibt und die Möglichkeit via rundll32 zu drucken.
Oder vor jedem Ausdruck den Primärdrucker neu zu setzen und dann mit fileprint zu drucken.
Aber ich würde das gerne ohne diese Varianten machen und möchte sofern das möglich ist die _fileprint() Funktion verwenden und dabei einen weiteren Paramater übergeben (den Drucker an den der Auftrag gehen soll).
Nur was auch immer ich versuche ich kriege das nicht hin.
Mir ist wichtig das dabei kein Druckerdialogfenster erscheint, sondern die Datei direkt an den angegeben Drucker geht.
Sry für das Durcheinandern und danke schonmal.
_fileprint(@scriptdir &"\dasdokument.rtf",@sw_HIDE)
Danke für die Antwort, wie du oben siehst hab ich die Date udf bereits benutzt aber die lösung passt dadurch das ich mit _datediff() die Differentz der Beiden daten bestimmen kann und schauen kann ob diese größer 1 sind.
$DMahnung1 = _DateAdd( 'd',-14, _NowCalcDate())
$string=stringsplit($DMahnung1,"/")
$day=$string[3]
$mon=$string[2]
$year=$string[1]
$ndate=$day&"."&$mon&"."&$year
if $ndate=$m1Data[$a][3] Then
;Mach hier irgendwas z.B.msgbox()
endif
Ich wandel momentan den string der mir mit "jahr/monat/tag" ausgegeben wird in "tag.monat.jahr" um, da ich das Datumsvormat verwenden muss.
Ich würde nun gerne wissen ob jemand eine Idee hat, wie ich das Datum erhöhen kann, so dass ich nicht nur diesen Tag sondern auch alle folgenden vergleichen kann.
Also nicht nur ist der tag nicht genau 14 tage verganen, sondern if >14Tage vergangen dann mache etwas.
Hoffe jemand hat eine Idee
#include<_sql.au3>
$con = _SQL_Startup()
If @error then Msgbox(0,"Error","Error starting ADODB.Connection")
_SQL_Connect(-1,$gbIP,$db,$sqlUser,$Pass)
if @Error then Msgbox(0,"","Es ist ein Sql Fehler aufgetreten: "&$SQLErr)
Local $Dat,$iRows,$iColumns
$iRval = _SQL_GetTable2D(-1,"SELECT * FROM test;",$Dat,$iRows,$iColumns)
guictrlsetdata($Edit14,binarytostring($Dat[1][0],2))
guictrlsetdata($Edit15,binarytostring($Dat[1][1],2))
guictrlsetdata($Edit16,binarytostring($Dat[1][2],2))
guictrlsetdata($Edit17,binarytostring($Dat[1][3],2))
_sql_close()
Alles anzeigen
Wenn ich die Werte jetzt in die Tabelle eintrage und mit dem oben stehenden Code auslese, bekomme ich Kreutze anstelle der richtigen daten ausgegeben.
Code zum eintragen
If _SQL_Execute(-1,"INSERT INTO test (Geschaenk,Angebot1,Angebot2,Angebot3) VALUES ('"& stringtobinary(guictrlread($Edit14),2) & "','"&stringtobinary(guictrlread($Edit15),2) &"','"&stringtobinary(guictrlread($Edit16),2) & "','"& stringtobinary(guictrlread($Edit17),2) & "');") = $SQL_ERROR then Msgbox(0 + 16 +262144,"Error",_SQL_GetErrMsg())
Erste Spalte mit nvarchar[800] und die anderen 3 mit nvarchar[50] geht aber sobald ich die 3 anderen Werte erhöhe bekomme ich nur Fehler.
Meine Idee wäre es die Daten einzeln auszulesen, so dass diese nicht alle 4 in ein Array abgelegt werden.
Das Problem liegt an nchar() und nvarchar() sql bedingt das die zelle größer 500 nicht leer sein darf also füllt sql die Zelle mit 500 Leerstellen
auch wenn man nur einen Begriff hineinschreibt.
mit varchar(max) funktioniert das eintragen auch ohne Leerstellen aber das Auslesen geht dann nicht mehr es werden 3 Leere Zellen zurückgegeben und nur die Letzte enthält Werte. (Ich hasse MSSQL)
Villeicht hat jemand eine Idee wie man eine einzelene Zelle per Sql abfragen kann z.B. (Select Zeilex Spaltey from Tabelle)
Lösung ist: Alle einzeln auslesen mit Select Geschaenk from test & Select Angebot1 from test usw.
Für meinen Fall ist es DirMove
Vielen dank für die schnelle Antwort für mich ist das fertig.
Hallo zusammen,
ich hab versucht ein Tool wie Folder-Access zu konstruieren, das Tool ist bereits fertig und die dateien werden "verschlüsselt" (eigentlich umbenannten und von Windows neu interpretiert)
leider nur mit batch, da autoit keine Rename funktion hat, hab ich das mit _rundos(rename) machen wollen.
Das Problem hierbei ist, dass im string automatisch die {} (geschweiften Klammern) ignoriert werden.
Beispiel: wenn ich send("{") oder _rundos("rename" & "{") ausführen lasse dann geht das, sobald ich die Klammer aber innerhalb eines Strings schließe wird sowohl die Klammer als auch der restliche Inhalt des Strings einfach ignoriert.
$dos2='{20D04FE0-3AEA-1069-A2D8-08002B30309D}' Hierbei gibt mir autoit in send und _rundos nur noch den Wert 2 aus.
Leider habe ich absolut keine Ahnung wie ich das umgehen kann.
Danke schonmal für die Hilfe
Und sry für dir grausige Rechtschreibung