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

Beiträge von Torni

  • Binärdatei schreiben

    • Torni
    • 26. Juni 2013 um 06:21

    Hallo Andy,

    das war mit Sicherheit keine Absicht.
    Die Stringlänge aus der DB war für mich gleich mit StringLen, da ich mir das ausgeben liess, nachdem der String/Datei kopiert wurde und ich die Dateilänge aus der DB MANUELL holte.
    Die Orig-Datei konnte ich nicht wirklich mehr überprüfen weil die ja nur noch binär aufm Server lag. Das hatt eich manuell geholt gehabt.
    Dass sich allerdings das Teil wirklich unterschied, hammer und leider speichert er wohl das CRLF direkt beim Einlesen mit dran.. Deswegen war es für mich gleich.

    Das habe ich übersehen, warum auch immer.
    Normal kann man das nicht übersehen, tut mir echt leid.

  • Binärdatei schreiben

    • Torni
    • 25. Juni 2013 um 09:42

    ICH GLAUB ES JA NICHT. DAS WAR ES. !!!

    Niederknie... danke dir..

    Und wegen so einem blöden Umbruch schreibt der nicht binär. Da muss man erst mal draufkommen..

  • Binärdatei schreiben

    • Torni
    • 25. Juni 2013 um 09:34

    1 14248 0 ist die Consolenausgabe

    Datei hängt an.

    Das mit dem SQLITE ist mir zu hoch. :(


    Hast mein Zusatz/Edit im vorigen Post gelesen?

    Dateien

    Test.txt 14,25 kB – 335 Downloads
  • Binärdatei schreiben

    • Torni
    • 25. Juni 2013 um 09:10

    wenn ich die Datei vorher mit FileRead einlese, funktioniert es bei mir auch. Das hatte ich irgendwo weiter oben schon erwähnt.
    Nur wenn ich den kompletten String aus der DB bekomme und schreiben will, nimmt er das nicht.

    Das mit dem Block habe ich nur zum Probieren benutzt, weil hier sonst gar nichts geht.
    Wenn es gehen würde, hätte ich dies sein lassen.
    Ebenso mit FilewriteLine. Das sind nur Versuche, weil ich verzweifel daran..
    Man greift halt nach Strohhalmen...

    @m-obi: die PDF ist das originale. Auch deine Art funktioniert, das schrieb ich auch schon. Das ist ja das was mich verzweifeln lässt.

    Das direkte schreiben des kompletten String, wie er aus der DB kommt funzt einfach nicht.

    Wie gesagt, wenn ich eine Datei vorher einlese oder dne String im Quellcode so wie im Vorpost ablege und schreibe, DANN geht alles einwandfrei.


    EDIT: ich habe mir mal den String per ClipPut in die Zwischenablage kopiert. Wenn ich den im Programm per FileWrite($hExtrFile, Binary(ClipGet())) schreibe, gehts nicht.

    ALLERDINGS: wenn ich mir den jetzt den String irgendwohin kopiere und manuell mittels STRG-C kopiere und erst dann im Programm mit FileWrite($hExtrFile, Binary(ClipGet())) schreibe (vorher CLipPut deaktiviert), dann ist die Datei korrekt??

  • Binärdatei schreiben

    • Torni
    • 25. Juni 2013 um 07:56

    Hallo Andy,


    ich schreibe doch im vorigen Post im Quellcode mittels

    [autoit]


    $sstrg = StringToBinary($aQResult[3]); komplett unerheblich was ich nutze (Binary, Stringto....) - Resultat ist immer TExtausgabe in die Datei
    $hExtrFile = FileOpen(@ScriptDir & "\" & $aQResult[2] & ".pdf", 16+2) ;force Bin-Mode
    ;msgbox(0,"", IsBinary($sstrg)) ; hier zeigt er "1" an
    FileWrite($hExtrFile, $sstrg)

    [/autoit][autoit][/autoit][autoit][/autoit]

    schon StringtoBinary, Binarytostring die Datei. Alle drei Varianten ausprobiert. Der schreibt nicht binär. Hier was er übergeben bekommt einfach als MSGBOX ausgegeben:

    [Blockierte Grafik: http://goldise.go.ohost.de/ul/msgbox.jpg]

    Das ist der komplette Binärcode der Datei so wie er sein sollte und wie ich schreiben will. Einfach normal mit MsgBox ausgegeben ausgegeben.

    Wenn ich mir jetzt den String in Blöcke teile und das ganze mittels FilewriteLine/FileWrite schreibe (force binärmode), dann kommt seltsames heraus:

    Spoiler anzeigen
    [autoit]


    ...
    Local $aRet = StringRegExp ( $aQResult[3], '(.{1,4000})', 3 )
    FileDelete($hExtrFile)
    $hExtrFile = FileOpen(@ScriptDir & "\" & $aQResult[2] & ".pdf", 16+2)
    For $i = 0 to UBound($aRet) -1
    FileWriteLine($hExtrFile, $aRet[$i])
    Next
    FileClose($hExtrFile)

    [/autoit]


    [Blockierte Grafik: http://goldise.go.ohost.de/ul/ArrayWrite.jpg]

    Den 1.Block des String schreibt er binär und macht mit dem zweiten in Text weiter

  • Binärdatei schreiben

    • Torni
    • 24. Juni 2013 um 12:41

    Andy:

    So bekomme ich die Daten aus der Datenbank geliefert. [2] = Name de rOriginaldatei - [3] Die Binärdatei
    [Blockierte Grafik: http://goldise.go.ohost.de/ul/Array1.jpg]

    So sieht die Datei aus, nachdem sie im BINÄR-Modus geschrieben wurde:
    [Blockierte Grafik: http://goldise.go.ohost.de/ul/Schreib.jpg]

    so sieht die Datei aus, wenn man sie sich im Hex-Modus anschaut:
    [Blockierte Grafik: http://goldise.go.ohost.de/ul/Hex_Ansicht.jpg]


    Hier der komplette Code der das betrifft (ist ja nicht viel):

    Spoiler anzeigen
    [autoit]


    Case $HSQLExtract
    Local $hExtrFile, $sstrg
    Local $extrnr = InputBox("ID", "Welche Nummer extrahieren?", "110977", " M6")
    If $extrnr = "" then ContinueLoop
    Local $sqld = "SELECT TOP (1) pID, pOriginalname, pContent FROM PDF WHERE (pID = " & $extrnr & ")"
    $rQuery = $sqld
    $hDBConn = _SQL_Startup()
    _SQL_Connect($hDBConn, $1, $2, $3, $4)
    If IsObj($hDBConn) Then
    _SQL_GetTableAsString(-1, $rQuery, $resultstr, "|", 0)
    $aQResult = StringSplit($resultstr, "|")
    $resultstr = ""

    [/autoit] [autoit][/autoit] [autoit]

    $sstrg = StringToBinary($aQResult[3]); komplett unerheblich was ich nutze (Binary, Stringto....) - Resultat ist immer TExtausgabe in die Datei
    $hExtrFile = FileOpen(@ScriptDir & "\" & $aQResult[2] & ".pdf", 16+2) ;force Bin-Mode
    ;msgbox(0,"", IsBinary($sstrg)) ; hier zeigt er "1" an
    FileWrite($hExtrFile, $sstrg)
    FileClose($hExtrFile)
    Else
    MsgBox(1,"","Verbindung hat nicht funktioniert :-(")
    EndIf
    _SQL_Close($hDBConn)

    [/autoit]

    Die Datei ist gerade mal ~14kb groß, dies zeigt er auch bei beiden StringLen an.
    Die Originaldatei ahbe ich selber erstellt und in die DB einlesen lassen.Wenn ich aus deinem Post das ausführe mit Filewrite und im Quell-Code vorhandenen "0x...." - also niedergeschrieben, dann schreibt er das binär. Nur den übergebenen String nicht.

    Absolut nicht zu verstehen für mich.

  • Binärdatei schreiben

    • Torni
    • 21. Juni 2013 um 17:43

    Ja ich will den übergebenen Binär-String aus der DB als Datei speichern.
    In der DB sind tausende PDF abgelegt (binär-Strings) und diese will ich gezielt wieder als PDF speichern.

    Allerdings wenn ich den zusammenhängenden "Binär"-String so direkt speichere, speichert Filewrite trotz Fileopen(...., 16+2) die Daten als Text.
    Dabei ist es unerheblich, ob ich StringtoBinary, Binary noch sonst was nutze.

    Wenn ich mir einen Teilstring von dem übergebenen (aus der DB) hernehme und NUR diesen einzeiligen (weniger als ~4000 Zeichen) genau auf die gleiche Art speichere, dann schreibt er dies Binär, sprich ich habe ein Teil der Originaldatei erstellt (siehe 2.ter Spoiler in Post #1) - nur den Gesamtstring schreibt er nicht so, wie er soll.

  • Binärdatei schreiben

    • Torni
    • 21. Juni 2013 um 16:53

    das ist ja das Beispiel um das seltsame Verhalten zu dokumentieren.

    Den "richtigen" String bekomme ich als ganzes aus der Datenbank geliefert. das nimmt er nicht, weil zu gross.
    Da kommt dann die Fehlermeldung:

    F:\....au3 (1) : ==> Unterminated string.:

    Deshalb habe ich den String teilen wollen.
    Wenn man das Beispiel aus Post #1 also den String in eine Zeile schreibt, sieht man dies.

  • Binärdatei schreiben

    • Torni
    • 21. Juni 2013 um 15:58

    Es werden definitiv IMMER die ersten 2000 Zeichen binär geschrieben, danach im Klartext als String.
    Hierbei verliert er aber die fehlenden 2000 Zeichen von ersten array ??

    Das u.a. Beispiel kann man schön ausprobieren und sich das Ergebnis anschauen.
    Auch ein Einfügen von "Binary(...) hilft nicht. Da wird doch der Wurm verrückt..

    Spoiler anzeigen
    [autoit]


    #include <array.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $hFile = Fileopen(@ScriptDir & "\bc.zip", 16)
    Local $hread = FileRead($hFile)
    FileClose($hFile)

    [/autoit] [autoit][/autoit] [autoit]

    ;MsgBox(0,"", $hread)
    Local $aRet = StringRegExp ( $hread, '(.{1,4000})', 3 ); nach 4000 Zeichen "auftrennen"
    ;_arraydisplay($aRet)

    [/autoit] [autoit][/autoit] [autoit]

    Local $hExtrFile = FileOpen(@ScriptDir & "\76.zip", 16+2)
    For $i = 0 To UBound($aret) -1
    FileWrite($hExtrFile, $aret[$i]); im ersten Durchgang schreib er 2000 Zeichen binär, danach in Text
    Next
    FileClose($hExtrFile)
    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Binärdatei schreiben

    • Torni
    • 21. Juni 2013 um 10:24

    Schnitzel: hmm, da schreibt er auch den "Binär"-String als Text.

    misterspeed: auch das mit Binbary hatte ich schon versucht, gleiche Ergebnis:


    Seltsam: Test auf IsBinary aus dem 1. Beispiel ergibt 0, wenn der String mehrere Zeilen hat ?!?. Lasse ich den String einzeilig dann ergibt IsBinary "1"

    noch besser: schreibe ich es direkt aus dem Array, schreibt er den ersten Block binär, den rest als Text:

    Spoiler anzeigen


    For $i = 0 To UBound($aret) -1
    FileWrite($hExtrFile, $aret[$i])
    Next

  • Binärdatei schreiben

    • Torni
    • 21. Juni 2013 um 09:57

    Hallo BugFix,

    ja und auch mit den anderen schon rumprobiert.
    Allerdings zeigt er im 1.Beispiel - welches ja ordnungsgemäß funktioniert - bei IsBinary ne "0" an - klar, weil es ja ein String ist. Doch warum geht das dort?

    Beide Versionen sind ja Strings, nur der Unterschied dass der zweite um einiges grösser ist; der erste hat bei mir ca. 5500 Bytes und der zweite so um die 1MB.
    Das ist der einzige Unterschied.

    Hier der Code bei der der String aus der DB verabreitet wird:

    Spoiler anzeigen
    [autoit]


    $aQResult = StringSplit($resultstr, "|")
    Local $steststr = $aQResult[3] ;hier steht der komplette Strin drin 0x2550...
    Local $aRet = StringRegExp ( $steststr, '(.{1,4000})', 3 ); zum aufsplitten in Blöcke
    _arraydisplay($aRet) ; wird alles korrekt angezeigt
    ;ab hier zum Testen
    $steststr = ""
    For $i = 0 To UBound($aret) -1
    $steststr &= $aret[$i]
    Next
    Local $hExtrFile = FileOpen(@ScriptDir & "\" & $aQResult[2] & ".pdf", 16+2);Original-Dateinamen aus dem Array
    FileWrite($hExtrFile, $steststr); $aQResult[3]); beides das gleiche Ergebnis
    ClipPut($steststr); kompletter String ist ordnungsgemäß in der Clipboard
    FileClose($hExtrFile)

    [/autoit]
  • Binärdatei schreiben

    • Torni
    • 21. Juni 2013 um 09:28

    Hallo,

    warum geht das erste Beispiel oben im Schnipsel (1. Spoiler)? Da ist ja alles in Ordnung.

    Das ist doch auch nur ein String, so wie der den ich aus der MSSQL bekomme.. (2.Spoiler)
    An für sich beides gleich, nur schreibt Filewrite beim "größeren" String kein Binär sondern alles als Text in die Datei.

    Wie gesagt: aus der DB bekomme ich die Datei als String zurück, so wie im 2.Spoiler" . Deswegen müsste es egal sein, ob ich so eine Datei zur Verfügung stelle. Sind doch beides willkürliche String mit "0x" am Anfang oder?!?

  • Binärdatei schreiben

    • Torni
    • 21. Juni 2013 um 08:16

    Hallo,

    Dieses Script-Schnipsel schreibt die Datei so wie sie soll und ist als solches dann ok:

    Spoiler anzeigen
    [autoit]


    Local $sfileex = "0x504B03041400000008002751922CD5BE762838F000008DE30200070000006F69642E6461748C5B5B73DB38967EDFAAF90F7CEAA9DA6D29ADD8F1E5611F40129210F11682B2ADDEDAAAA525C6E65822359494C4F3EBF79C03092420CA3DD59DEA340092C0F9BE73C5D1FF7879B30AF3B7A2F9DFBFFDC71F7F0CE85FE7BF9D279EC64F8E5737DBA11E1F5D18FF7C61FCEAC2F8F585F12F17C66F2E8CDF5E18BFBB307E7F619CC1781CA671E4642CE3420A8707DCCB604078D2F1E276A50B2B4396A5C27E8507139E905EECC885CC78287F7744E4B5F33ECC8F857B7C65B05F0DDB398E73F3AF2293739AD113639888F85366BE6B84F0C845C667E630A213C569C8531E1C77C1A59E458C4434867996093C29F7A6511CC4938513885064DCD74B11368F85FC498F5CD3464820ED20A2E5B38C25B18832531C2344CC9F3B490C338978D21B6AF783D825A9780081EB31C4ED91BBB03005A987C99CFE62BC182164491208EE3BFE2262218A13BECFD388CEC502BD145165FE038B3C580BEBD2D8F1F983F03A427149640F3C084C51229A2E8E6A2989CE533EC9C70D4820FD788F10D38C0752C80C26FCB904CEB00EAD985E892067C57A593BF27DB72F363B7853B5D46FFAFCC751CCA7B780487CC15C87B97A09222FE7290F5944721B3ABFE17FC3793484FFA649FB3264C1839073167409D0DDF967449FB96EBB6B8D5DF793C8082F8E22388FC3B4683E2327521622370DDC3E2321E4940D661CB738FCDD5481CFC886AF2C81FDA7CC17319D82450B3D7F476C897D01BB3DEDC6FC001243841ED2F4314E67D23A3892214B1F9D8123B9EF7F1251A2A790045E2A64E2B079162BF52034F50AA403CEC13FDCD696CFC486694A0F1217DBE7900432F60487C78079A906FD33812E429E04FCC910FF15C2FD307102E6C629CBE2B43D6FD7345C21E4DF12F974C4190885DB964E922DCC8588789837CBBA2A9DED7AA9C711663E018187CC9B8A88C3872CA15F1DB51EC5E9A45CC6F31474C714FB15022E1364359BA42C9992C1345620F240DF5458E30879FC04060994133489CCA229DA2B44DD931285A12976854067B19C0A97596F6484C40295D29C40844B18ABF64DBDB6F4EB4A810B6778D2923600417C41C030A787085701C2F2323D8688CA4594A5FCC93405D78828992CEFC8AB760A510483646EF79A20E3196A3A68349B801D0733DAA541BB166154B6ADD5673D494ACAE0B120B0BF81B891EC19F8430927E1479B61598C6B842F0EC403CF3281EE259B3AE01AD28E05BB46248181311844381ED88C396ED8D2C06B045372318B1D9E481BA26B65D7E1B571A64DBFFCDDA0F2B532E81ECCFB1C4E6A9830F35B2EC93520BBE9C4AD403C62B4677D1B11F63D8B9FD708320B9116E638028D0EC14BD9D8F2CC5F106A34608095F9D417447A1ABB1D0FE04C42774A421F3AB3895E487E1A887AD89575355CD61B93AE5FC839A380F0C47A14910EC13C9E51ECCB17B53E1452820E32B0D64EF07F1CF41D5C1AE8651CB64BC969A743C71D3A08A237D33388B0F440378FC23049F8E58E8E0D1BE2ADDB466B3DF7325399BE20CC53A0A398703ABF9E406CC1FFCDEAAA2A967B67B2796EE7104D1E00D828BD19496FE6B05664882A709C6B0BDC8906CCCF93AD96B41836AA8711EAB9F48CF8088ECB23B477C868BD92B47C0E562A0EE32396029FF36D8F7683549841F883D6A8B3EDEEA16F90141308801ED9C2B2E37A09D2C19D03D7A791B93D339CBAB952D8896832947C3EE669667E0A09B28867F1843D32881F262203D9B43156874B375F9CD6EC3389FE0BB668C53737C8157805504AF6474037C499789C39FFE9A4C01C6B9628134B1EC6730C1E4950417B9C7B626DE4A185B23C5CC7C1DEB09332A84344126C90C9B81B248F14647C1DEDA170C5A75024ED07914356387A436C49CFB0B19126439166020F6B9D12E912321FC8AEC312E3D95B64C9140C95E5F96E9119CC4F59AF4BBA25072122F1C840E3CEEDFEED159D19286E45CFB7C802B4B1D393AFB7B643D0D7CDBE583B51B1FF59376F3B3D477EDCE533262182F4F929D1D1F38837A95E3265D27237B7083778F18C856747BDD77403D72210F204239FCE0A44D90747D8426D48031186F084B3D49B9EA2190DEC2DB97730E320A9DE97FBA4D19172A2BD4CBE4580BD808261CB19DC923310519C2D123E40C3D6B14B777FF4F3C7619FF4F6EE106817969CF8A1271063B22F270E00B1A5F6B97757A47F7E0284EFBAC124D0CA71774D278393C3BBF520B90316C59171C43B04378470700A86E34FF38C7708EC14EC0508D6A2FEDD5D57FF4E3603B763451177A4CF6C81094A1FA3EF14C4199BC673C93F327477E4DA611EEDA91E249083205E9CFB1F13CB3B84FB81A7BE8DE49D8AD50317A2DCA87563D6D30837009A4D791CD9E1F2FD1FCE3114EBB8967B52E428A5DCDEF8E0FD6792DD04433B0A53FA52CD7B84194E92710BB07B04974906FAD6FF20C5E531287876743D4F2622F78438A80C4C19D50E03E07BC49E2731289685C33D410F1A2391DCD6D110ED30B3E2E07BC438F55A843A6A707F42F584BAE1C38D64EC1EB1065F1182AC8301A61E6DBCA8D720CA41ECCDE5710EDCA2B545AE8E1F08470E593B8C0053782B216331246B9C8521D6593C5B8015040A7442018CE60C11B291FAD2B73944D0DC58A8979093EF31020CE1D7AE985208BB78A397122100E2A815876D6AD931164CE0252ED80D9D487789C16E3ADF9C60A08881425776ECB6B3A295EFB1B662CA89827EB0619986C2B2DEECBEF3B2FE0D216F7AAA76CC758E8138"
    $sfileex &= "12372DFB866C09BF4AE85C55A5EB2BAB7582D78AB14FBB0CFD3943C8F8754D837B471225C7E19F8D386E7364267E495ABFFB72898B4652ACE012091122448810214284081122448810214284209665F52487816834AA94C3C6D2FBEF33999C74459CCB293FEE377F97E723A51C961D76D62C47EC7A9DEC6EAD929DF515B25BDFA0E7CD1D96DABB5B2CADAF915ADFF923C7CF7DA4D50EFD0272DE5AADD1E3FAD205F0ED1992BF7082CC65D234ADE533D416CD6DD9061EFEA7B864A4E31A3F47D902C973B1411E7271C0B9DFB5C99BA45D5476E8970D7656D23445EEABD619D280F3C6729A34D72E90C6B6451A1B73E47DB0C5F6C632B1310E682CF4DBFF8F3A7257DBA17FFC379626C9CE32E3BEBB0CFC41D6AD349D03F5DA1947300E1ADBEB6AFF4BD8DBDBA3D2D2C7C686329FE111B90BDC83F0776DD0BF18C0D8B7C1CF823FC6BFBDB5CC78B6489D348037A6767D9DAE8141F83F7CF8D0C9F3E3FFE62397A36D33519D1F460C501BD4336477E514E5AF92E5B90B6C3D6C6C53FECBF97C20FE32F7A0FC65CE5E5BC831D00FFE18FF08B441731D627DE91469ACBD436567294DD7037B2D43D61EBEC3F9EF00FF0DB23237D795BFD7F7BDF057C5C161F047C836A0F300E63EF6BBF1F014E58EEBC3DAD21CE3DEDC0DCCBFD3712B5CFEF21AF05DF91FB1BE9C27F5953C69C23C6FACA5C9D6D2192A381F1AAB67A8EFE9389A0D26C07FB5C3FD9FE0297CEFCD6F07F2FFBC85BFDFFC3F0CFE088C0114BBB1041C2DBA1E3437D2D42ED8375E079B0DF0BDDDA4FCD76A0F7DF9775A07D450C7402741FE87711FB8BDB644F9A21D444A6D02FCD11618F34290BF0A9DE67A77FE2C06840DFCECD06FDF0B207F116BE8EBC6F616CD43C16BFF7ACDA2BEDF5DB9D051C7FEF823980D9CB5B0831D0ECBF70899BF4A903FC6C5E181DDD7083BC822781FE63E50F8BA9320FFEF06EAFD5F881F3B60D398AE83AC30E915A21DEA005D386B84FC305023F93A8C366D1F80BFCD7420FF7CBAC506CFBF1D14FCB7B65A2593E9DC5CC55F08E1FCD39D9B7F1FC8001F212AFE99D5D556817D17AD7FEA54BB320F7F84E0EFFCFD45880FFCAE812841B1B8B8D8B5FE16FA54FCAD48E57F2CCB9F725371AC0A03157F54837CF1EF3C2BE940FC71DC285EF4C25FE8E8D646F0A7291CACD8EDFCA9CFC1DF991A8F13FE77B58C772E70FE5407C63FE79EAEA7DBF907B08117BDFA5E20087FE17F2FFFDA2A705FCD50918FB17E2DEF21E1E55F677CEB76DDB5410FFCBD1C7AF5BD805F5BCA3F9F61295CB7EA368F5F7A0D23CC36C23E2879661335FF3A6D5BB7597BE42F624069832E08EA432F7A891DC15FF0CBE7D9B51BA5B6B54A054F5761EDABD56A8CF716AE839976FEBC1DEA40DE82BFBC06B6D8A00B841F0FE27B814E3AE4F99FE17C56788A7EA6BEE6E56803997FA68DBFDB1641F92B6C1084BB80E01F14827F27F162797999A6B896E1F14A3AEDECB12877C0E4E42470CE3B7341C4BF2893816D5107EA12EB231EB7DC0B80241209F23C200F63B5EDBA738E315EAFAFB058E7E758077D2F8BF03D96C975E5B608D44DFB90B8BBA5DF3F04FF3CF7BBDDA83B1CD6D7D79DB26EEDB1AEE04F75802E59B7CCFF79C28A34E7659E386EE4E1C75D80F283BA721C619EACFB79E42E207317E3161214721BAA0BD678C7062BCF27EF1F2B701EE2F5AA9B78D16DDFA1DA8374BBD6F4722DEA1790FFEEEE6E9BC808CA9F2C76C8E7401E9B9B9B6D22F3F72BF74346ECB965F1DB7F03BCD755718E7CEBF5BC2341F823F76EFC11DD7CEB572EEFBFBD52F3EEBD15FB6F7035F049735E69E9B8F51C2173EEC65F7097C58F3FFA14736D7E1EB45CDE7FE13D25DE1B8A54DC7BFAEDBF913F0E07AFBB426CB8E1B429FF15CA1D8FB19E1C03FBF17FCBB1847EF017F7DFC8D9B9CFE6FCFDF6DFCCFF79C6998B3817FC452C20B6B7B7DD7E3D50C6F96270FE9DE6B65F79CBFE9BEF2F9D7D26EEBF02ECBF450CD07B107A1FC2ECD0ACAFBAF6F0C4801F7F6FAC77E38F404EB2042D97F7DF9DFCEFB58F77FFCD6220CD78CB36E029DA41C40202AF0541F977B4459FE0DD7FB7F93FE0FE9BC5409E349B4DD7065C903B8D0529067AE1AFB2412778FDEC1713886EF33FE8FE9BC500CEFB7ACB754E088B81BCF25A20E08D75AF04E5DFCBF55EF85F8E75714CF9E3BE1B43A0C3FE5B06DA002138CAC03810361031D056A7C39CEFC5FF88A0BE4778F7D54145F5B71711035ED0BD9C580FA475A0BD5E6F6B5E278818C02654850FFF7E036D20EF436560BE1C03EDE5EDFCBD3E0F6287EF9B3FF2C3BF4788755E4E311F8FF7CB3F08BC6BC077C91F81DCBAC96123E8FCCF4CFC8A1F61DAFAD6008D154414CD48B0483C6C3C218BDAD393843C86E3C771B6586E0E10FABE83458DF158D4DADB2DF2F4124FFFE4C9DF24ACDD638DA7034C2FF6416584F50B36B0FF633FBE88E9637B7384A6F1CD384F073025DAA6F634BEF711A65FEF7E7B11B53F6B3CFB14D36FBFF8FA8F98EE7DF9CD97C862EFE4575F10F24FCDBEF8648468298DB5274CCF4542F55EFF68E9F7987E626F42BFDF82D6C545DB7E4A36619C7BF1A73F6529CC00EDE38FA1ED304FD93921519662F9679FB1F4E9088E61537BE2A6DABF31FF24D1761731B5EDAF1E6F0E60FA44DB8C63FA74607304B9A811CBE29B2FCA8395F9CBE64C621CDF63762F578C4CC76F1AB4203E444BE8317BDBC57DE79D1847B253B97BFAE542AE68CE0C4F177233787AB550D463F0038A62BFB8969DB89EC29CD46B675F9FADCC17CF7CC8D20F478B455A6061C959CC3E3B982D54A0ED71D422BF6D8CBF38"
    $sfileex &= "4753BC8A83BDD8885578CBF3168ED36FB0B770444992047F0BC73922BD85E39CC260214284081122448810214284081122448810214284081122448810214284081122448810214284782EB19FA7887E6838E853448709FC5FFB768FFF57D1EEF17FA21EF429A2C342EB93D0C16D20B7F3C28FFF7E9F223A2CEC973F4265834E3AFAF11451BFD1CBF855E899FF019F22EA370ECA1F11347EFAF51451BFD0EBFCED849EF8FBCCFF5EDFE27150E0B83BC97E62A05B9B7E3E45F443443F9F220A11E2FF0DEAA770D85303ECF115D5532C885E57B31F236C25F6E2AD29D1E0F8237CB6C5B69F7DDA6C60BB679FE27337B6FDCD9722C5E7726CBBD960E993117C6EC76DAF46A7711DCD4EDFCFE4CA13392337A3978FCA27E9E1ABA651797D6C3657B6F44A7C78F4C6D4F80763D74627A7AE648758915934CBF1E17CF1BD82316D2E64F5FB9523B4807F9FF6BF497A861F018FC5B2B959733EC71AD2EF6D1F2151E8CC3AA60D8D168BE6C258D1B4F4C44FE8F1AFAB85FCDC58D5AA98F385DF158C9984FBA5F2895CC1484DE846F5C5CB667E4E9FC65FA8C1BEE03D386DE187B45909FBF676929DD00FAA0F2B2A27AF16CD5C85D54DD0635AF5383D641F59675FDD252F48599C20191AB77040389E6472BCA2CF5F2F187340298AC7F1417CCE271DBF5DB00A778A7A9288EC6B7AB124659328B5904B2D71D3D06F1A93E64272007EA097772DFDE68281A64B38CD12EFCD9A451D2B11AD9BD5E259D32CDEC9957BB7D92BFE361BF887E6186DE07385D55E5158EDE5764BC5EE548CD1724932D550469F29186F97CD6A29C9EA24F2F3D3F4BBE5688EF265FD6EC1D08F0C57A76F81D92A7478E41896B8E7F163258B9BE0EDE283D26C9B27E25425B03FB846EEC42337F48514B7B6C78D9AECC661389ED4AD0AFDCA7BB2DDA909425E1CCB55F419131F04830953061F585A2C0EA3CC558B9558943E6E16C5508A0D62D0588E97C909A925F2B4B87A4B8B38202F49959CF224828C5C2DA2CB603E66AA958A692493D7CC0A7DF4CC8A4BDF808EB5671DBB6596AA251C0E732F199EAA1A73BA9131F173D4C9A3C07AEA810543422324D9E36B7FE08FAFD1E01C83FCB259649102E325F0EFCD88BB504D55EF20233EB3447C0F9EC6F30467F42032200C1A4F14EE8D1617720FACF6984BCE1BD5774BD3D0A62D2E86A0081FC6EB169271A877E57EA122850121C36CA4DC746E27CE649CD4EF96756BD61DAED63E5C66D371635ABF1F8924A666CD7265AC5A8954E2370D984BF9B9F83147313DF7742B1310FD1E731E2FCCE6EEC8D6EAD27DC2E973C4D5AAEAF425287E5BAF8C99F3A56A452FE37CB09CDE5F849294284AD1B2C0231870467042D1856A288E6344F7513CF3EDD0E96398B7E57A3D81C7D66E37F0F0BCC7C04B4007A377CCAA4FD8B8559C9EE8A9DB53C4DF644987CE51A14A69275877E947E1453789CB052B6FDED3CB6E4FD1E83558FE622951929AC8E56761A5B452A691AACCEAA91B7A65C12CCFF90F28E6DA97F7A91A8FB80E38C3C1E5148DD6369C9357E19E0387921A9D9E86E964A5EE3CA0C13DA9FFB60A0BABFF68E2CE688EB01E5583712E38EEDDC7E98EE6710C17D40C478576A55FF885C9E979E4349E3A3E7820F51FBF62E07C9E4EB0811C6BADE83F9C21D72BBC473E1A4404EEEB5F3B9EA2F7F9E73542EFF2BD7909278F38794945BD219E8739B85FC0BC238ABC88226F40911755E40D2AF2628ABC38617B96540AD304F94B02D3C5C879C8BF4DA6C807F07B854CC2D138B9496EC0F938FC5E8563C446B4B1C7DA47E8AF48C583E651C22C256387664C910A29930231C80C682B9022D141B341EE12134AFF4AEB9C236F815C00390F63384F7312A06F0CEACC9312C941FD07309A1C9CE954F765484BA02D4FAA04BFFD70968E46E8C7520BCAB0DF12F45F003D86332EA65BD4BD0D5286DA6E9D37C8EB24ED08213FA3BA71CC155AD78071145B4643C8695AE73A9CCFD0521C7909C68C239821B3D092E1ACA75E166AE4C8349CCF435A2673C4FD9205AB7B93EB28F07EC5B88D96FED9186F415D13B455817BC533428848CABBB58E973D723EE70821AF52BDCC0FF3B4D78A33C2CBF4F7361D77BB6709F9398D0AC6D080564548655F2413FF8A9210FBC2FF00504B010214001400000008002751922CD5BE762838F000008DE30200070000000000000001002000B681000000006F69642E646174504B010214001400000008002B9B922CD80EDD277F0C070000AA0E000D0000000000000000002000FF815DF000004172705669657765722E657865504B050600000000020002007000000007FD07000000"
    Local $hFile = FileOpen ( @scriptdir&"\"&"t.zip", 16+2 )
    FileWrite ( $hFile, $sfileex )
    FileClose ( $hFile )

    [/autoit]

    Das Problem ist folgendes:
    Ich lese aus einer MSSQL-DB den binär eingelesen Inhalt einer Datei ein und erhalte diesen im Prinzip genau wie z.B: oben der Inhalt von Sfileex (natürlich um einige grösser)

    [autoit]

    0x255044462D312E340A25E2E3CFD30A312030206F626A203C3C2F547970652F584F626A6563742F436F6C6F7253706163652F446576696365477261.........

    [/autoit]


    als String bzw. in nem Array. Aber halt nicht aufgeteilt nach z.B. 4000 Zeichen

    Allerdings schreibt Filewrite dieses als Textinhalt in die Datei. Es ist alles vorhanden was aus der SQL kommt jedoch nicht binär sondern textbasiert. Ich denke, das Problem liegt hier bei der Größe des String/Array, da wohl Filewrite nicht damit zurecht kommt??

    Hat wer ne Idee oder steh ich aufm Schlauch?

    Habe gestern nach Hilfe in der SB mit

    [autoit]

    StringRegExp($sfileex, '(.{1,4000})', 3)

    [/autoit]

    ein wenig herumprobiert, kam aber nicht auf einen grünen Zweig

  • disable local inputs

    • Torni
    • 2. Juni 2013 um 19:52

    Tastatur drin lassen und einfach das "flachband-Kabel" dieser und vom touchpad abziehen :- dann sieht es wenigstens noch normal aus und funktioniert trotzdem nicht ..

    OT: ich habe diese woche gerade ein dell-Laptop komplett zerlegt, weil die "***" die festplatte komplett unüblich unten reingebaut haben und ich diese tauschen musste..aber wirklich alles ausbauen muss man da.. ich hab ein horror-szenario bei mir aufm schreibtisch gehabt..
    was ein act..

    EDIT: ups, dein post übersehen chesstiger :( steht ja das selbe

  • Bild in Script einfügen

    • Torni
    • 1. Juni 2013 um 14:56

    lies mal vom obigen thread den post #6 - steht aber auch so im Eingangspost drin..
    Da sind die Beispiele

  • Fenster Systemsteuerung\Hardware und Sound\Energieoptionen\Energiesparplaneinstellungen bearbeiten öffnen

    • Torni
    • 31. Mai 2013 um 12:49

    das -52 ist nur die String-Resource für das "Energiesparplan bearbeiten"

    schau mal hier da ist einiges an Info über die dll:

    http://www.win7dll.info/powercpl_dll.html

  • Fenster Systemsteuerung\Hardware und Sound\Energieoptionen\Energiesparplaneinstellungen bearbeiten öffnen

    • Torni
    • 30. Mai 2013 um 12:21

    wenn du nur was daran ändern willst, habe ich bei mir das so gemacht (irgendwo gefunden):

    Spoiler anzeigen
    [autoit]


    ; PowerSave
    Global $PWR_SAVE = "{a1841308-3541-4fab-bc81-f71556f20b4a}"
    ; Balanced
    Global $PWR_BALANCED = "{381b4222-f694-41f0-9685-ff5bb260df2e}"
    ; High Performance
    Global $PWR_HIGH = "{8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c}"

    [/autoit] [autoit][/autoit] [autoit]

    ; 1. Power setzen
    _PowerSetActiveScheme($PWR_HIGH)
    ; 2. Registry setzen
    Run(@ComSpec & " /c " & "powercfg -x -monitor-timeout-ac 0", "", @SW_HIDE)
    Run(@ComSpec & " /c " & "powercfg -x -standby-timeout-ac 0", "", @SW_HIDE)

    [/autoit] [autoit][/autoit] [autoit]

    Func _PowerSetActiveScheme($sGUID)
    Local $aiRet, $tGUID, $pGUID

    [/autoit] [autoit][/autoit] [autoit]

    $tGUID = DllStructCreate("ulong Data1;ushort Data2;ushort Data3;byte Data4[8]") ; $tagGUID in StructureConstants.au3!
    $pGUID = DllStructGetPtr($tGUID)

    [/autoit] [autoit][/autoit] [autoit]

    DllCall("ole32.dll", "long", "CLSIDFromString", "wstr", $sGUID, "ptr", $pGUID)
    If @error Then Return SetError(0, @extended, 0)

    [/autoit] [autoit][/autoit] [autoit]

    ; DWORD WINAPI PowerSetActiveScheme(__in_opt HKEY UserRootPowerKey, __in const GUID *SchemeGuid);
    $aiRet = DllCall('PowrProf.dll', "int", 'PowerSetActiveScheme', 'ptr', 0, 'ptr', $pGUID)
    ;If $aiRet[0] > 0 Then SetError(2, @extended, 0)

    [/autoit] [autoit][/autoit] [autoit]

    Return 1
    EndFunc ;==>_PowerSetActiveScheme

    [/autoit] [autoit][/autoit] [autoit][/autoit]


    seltsamerweise nur für WKS und nicht für Laptops gültig..

  • Active Directory Funktionen - Neue Version 1.5.0.0 freigegeben!

    • Torni
    • 15. Mai 2013 um 17:15

    meld..

  • GUI in Windows Taskleiste ausblenden

    • Torni
    • 16. April 2013 um 22:50

    gefunden:

    [autoit]

    Func _GUICreateNoTaskBar($sTitle, $iWidth, $iHeight = Default, $iLeft = Default, $iTop = Default, $bStyle = Default, $bStyleEx = Default)
    Return GUICreate($sTitle, $iWidth, $iHeight, $iLeft, $iTop, $bStyle, $bStyleEx, WinGetHandle(AutoItWinGetTitle()))
    EndFunc ;==>_GUICreateNoTaskBar

    [/autoit]
  • Active Directory - angemeldete Benutzer ermitteln

    • Torni
    • 10. April 2013 um 21:45

    müsste man die Computerverwaltung - Sitzungen des Servers auslesen können, dann würde man wissen wer an welchem PC sitzt..

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™