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

Beiträge von Nachid

  • [PHP] [JAVA] [XML] [JSON] - Unbekannte Übergabe verläuft fehlerhaft

    • Nachid
    • 27. März 2024 um 10:24

    Danke für deine Unterstützung.
    Nachdem ich in Java die Funktion nachgebaut habe, habe ich festgestellt das das bei mir auch alles i.O. war.
    Tatsächlich wird der Request kurz nacheinander auf 3 untereinanderliegende Stufen gestellt, zur Vorstellung :

    /test123/test1
    /test123/test2
    /test123/test3

    Ich war nun fest der Überzeugung, der Fehler würde in test1 geworfen werden. Da mein JSON aber wirklich korrekt war und auch korrekt geparst wurde,
    (erst durch Java dann durch JSON, dann durch den XML Parser) musste ich den Fehler dann wo anders suchen.


    Durch die minimale Verzögerung innerhalb der Requests hat es sehr schwer gemacht, das aus den Logs zu finden - aber am Ende lag es praktisch am Request
    test2....

    Vielen Dank trotzdem AspirinJunkie

  • [PHP] [JAVA] [XML] [JSON] - Unbekannte Übergabe verläuft fehlerhaft

    • Nachid
    • 22. März 2024 um 16:29

    Servus zusammen,

    ich habe folgende Situation :
    - Quellcode von Java leider nur teilweise verfügbar, darf außerdem nicht veröffentlicht werden. (evtl. in Teilen wenn ich namen unkenntlich mache)
    - Ein PHP Backend, welches an das Java Programm Daten per JSON übergibt. Diese JSONS funktionieren bereits teilweise und sind immer in "data"
    - Ein XML String, welchen ich in die JSON einfügen muss. Funktioniert ebenfalls teilweise (solang keine " oder ' vorhanden sind)

    Nun muss ich eine Funktion bauen bei der ich nicht um die " herum komme.
    Unten einige Tests die ich bereits gefahren habe und deren Ergebnisse. Natürlich sind das nur die, die ich mitgeschrieben hab.
    Es wurde bereits weit mehr getestet als Dokumentiert. Es handelt sich um PHP.

    //$val = "dasisteintestnurmiteinemstring";                                                              Fehler in XMLWrapper - Content is not allowed in prolog
    //$val = "<test></test>";                                                                               Fehler in XMLWrapper - Expected elements are timetable, interval
    //$val = "<timetable><interval type=week><from>10</from><to>12</to></interval></timetable>";            Fehler in XMLWrapper - Open quote is expected for attribute type
    //$val = "<timetable><interval type=\"week\"><from>10</from><to>12</to></interval></timetable>";        Fehler in ResponseWrapper - Unexpected Char 119 (w)
    //$val = "<timetable><interval type=\\\"week\\\"><from>10</from><to>12</to></interval></timetable>";    Fehler in ResponseWrapper - Invalid token=EOF, expected are { [ STR NUM TRUE FALSE NUL]}   


    Im inneren des Java ist es wie folgt aufgebaut ResponseWrapper -> XMLWrapper -> werte setzen und Files schreiben.
    Was ebenfalls getestet wurde :
    - Anführungszeichen ganz weg lassen
    - Mehr escapes
    - Weniger escapes
    - Alles in Unicode Character umwandeln was irgendwie komisch ist
    - json encode in php (lasse ich aus gründen des leichteren verständnissses für die Tests grad weg)

    Als Standartheader nutze ich :
    header("HTTP/1.1 200 OK");
    header('Content-Type: application/json; charset=utf-8');

    Nachtrag 1 :
    JSON response der PHP sieht ungefähr so aus (ist die Ausgabe des letzten Beispiels ....  type=\\\"week\\\"><fr....)

    { "data" : "<timetable><interval type=\"week\"><from>10</from><to>12</to></interval></timetable>" }
  • _FileWriteFromArray komisches verhalten

    • Nachid
    • 12. April 2017 um 08:45

    Hallo und guten Morgen zusammen !

    Ich hab ein kleines Formatierungsproblem.
    Die Daten waren vorher richtig formatiert (Problem betrifft nur ö, ä, ü, ß)
    und stammen aus einer SAP Auswertung. Da diese Geschäftsintern
    sind kann ich Sie leider nicht hier posten.

    Die Darstellung der o.g. Buchstaben schlägt nur in Excel fehl.
    Bei Bearbeitung mit dem Editor sind alle i.O.

    Die Daten werden direkt mit FileReadLine gelesen (ich habe hier kein FileOpen verwendet).

    Wenn ich nun die Daten mit folgendem Code wieder in eine CSV ausschreibe :

    AutoIt
    _FileWriteFromArray(_PathFull(@ScriptDir & "\output.csv"), $values)

    ist die Formatierung der oben genannten Umlaute verrissen.

    Ich habe danach folgendes Versucht :

    Code
    $handle = FileOpen(_PathFull(@ScriptDir & "\output.csv"), $FO_ANSI)
    _FileWriteFromArray($handle, $values)

    Hiermit stürzt das Programm komplett ab.
    @error sagt es wäre Fehler 3 - Error writing to file
    von _FileWriteFromArray.
    Programm wurde als Admin gestartet.

    Aktuell funktioniert es mit diesem Workaround :


    Code
    _FileWriteFromArray(_PathFull(@ScriptDir & "\output.csv"), $values)
    
    
    Run("notepad "& _PathFull(@ScriptDir & "\output.csv")
    Sleep(200)
    WinActivate(_PathFull(@ScriptDir & "\output.csv" & " - Editor")
    Send("^s")
    Sleep(200)
    Send("!{F4}")

    Was natürlich etwas hässlich wirkt.
    Nach dem Workaround werden die Umlaute auch in Excel richtig dargestellt.


    Hat hier jemand vielleicht ne Idee ?

  • Nummernkreislauf generieren

    • Nachid
    • 25. April 2016 um 22:03

    Wie viel Aufwand will jemand betreiben der dich da "trollen" will ?
    Wenn das nicht deine Angestellten / Bekannte / Verwandte sind würd ich mir da echt sorgen machen....

    Dann mach halt

    OnAutoItExitRegister("sleep")

    Func sleeep()
    $t = TimerInit()
    While TimeDiff($t)<=5000
    Sleep(10)
    WEnd
    EndFunc

    Ungetestet aber sollte den neustart verzögern....

  • Kleine PHP Datei auf PHP 7.0 portieren

    • Nachid
    • 25. April 2016 um 21:50

    Danke ich glaub das hat mich auch im Verständnis weiter gebracht :)


    Vielen Dank :)

  • Nummernkreislauf generieren

    • Nachid
    • 25. April 2016 um 00:54

    Wenn das nicht 100% sein muss füg einfach am Schluss der Funktion für den Generieren Knopf folgendes ein

    AutoIt
    Sleep(1000 * 60) ;Sind 1000 mal 60 millisekunden (1minute)

    Das wird es für einen Troll echt unattraktiv machen

  • Kleine PHP Datei auf PHP 7.0 portieren

    • Nachid
    • 25. April 2016 um 00:43

    Guten Abend,


    leider erschließt sich mir weder das PDO noch mysqli komplett.
    Ich hab es mehrfach versucht, aber um mir Zeit und Nerfen zu spaaren,
    möchte ich nun Anfragen ob das jemand portieren kann....


    PHP
    mysql_connect ("SERVER", "USER", "PASSWORT") or die ("Login ERROR");
    mysql_select_db("DATENBANKNAME") or die ("Datenbank ERROR");
    
    
    $key = mysql_real_escape_string($_GET['k']);
    $regkey = mysql_real_escape_string($_GET['r']);
    
    
    $sql = "SELECT Regkey_burned FROM Validation WHERE SysID = '{$key}'";
    $query = mysql_query($sql);
    
    
    if (mysql_result($query,0)=='1') {              //SysID = OK & Regkey_burned = 1
    	$fgc = file_get_contents("EINLINK"); 
    	echo $fgc;
        exit; 
    } else {
    	if (empty($regkey)) {					   	//SysID nicht gefunden und Regkey nicht angegeben
    	header("HTTP/1.0 403 Forbidden"); 
    	exit;
    	} else {									//SysID nicht gefunden und Regkey angegeben
    		$sql = "SELECT Regkey_burned FROM Validation WHERE RegisterKey='{$regkey}'";
    		$query = mysql_query($sql);
    		if (mysql_result($query,0)=='1') {		//Register Key already used
    			header("HTTP/1.0 403 Forbidden"); 
    			exit;
    		} else {                                //Register SysID Using RegisterKey
    		$sql = "UPDATE Validation SET Regkey_burned='1',SysID='{$key}' WHERE RegisterKey= '{$regkey}'";
    		$query = mysql_query($sql);
    		$fgc = file_get_contents("EINLINK"); 
    		echo $fgc;
    		exit;
    		}
    	}
    }
    Alles anzeigen

    Wäre sehr nett wenn das jemand übernehmen könnte.
    Seit ich umgestellt habe bekomme ich damit leider nur 500ter...


    Danke euch ! :D

    PS : Immer her mit Änderungsvorschlägen

  • Benutzerdefinierter Hotkey

    • Nachid
    • 4. Januar 2016 um 22:22

    Meine Lösung
    VIelen Dank an Raupi und CentuCore

    Code
    Func TrackKey()
    $pressed = ""
    $pos = MouseGetPos()
    ToolTip ("Please press max. 2 keys in turn.",$pos[0],$pos[1],"Info",1,7)
    Local $hDLL = DllOpen("user32.dll")
    $TrackKeys = True
    	While $TrackKeys
    		For $i=0 To UBound($keyarray)-1 Step +2
    			If _IsPressed("1B",$hDLL) Then
    				$TrackKeys = False
    			EndIf
    			If _IsPressed($keyarray[$i],$hDLL) Then
    				If $pressed = "" Then
    					$pressed = $keyarray[$i]
    					$pos = MouseGetPos()
    					ToolTip("")
    					ToolTip ("Recognized "&$keyarray[$i+1],$pos[0],$pos[1],"Info",1,7)
    				Else
    					$pressed = $pressed&"+"&$keyarray[$i]
    					$pos = MouseGetPos()
    					ToolTip("")
    					ToolTip ("Recognized "&$keyarray[$i+1],$pos[0],$pos[1],"Info",1,7)
    					$TrackKeys = False
    				EndIf
    				While _IsPressed($keyarray[$i],$hDLL)
    					WEnd
    			EndIf
    		Next
    	WEnd
    EndFunc
    Alles anzeigen
  • Benutzerdefinierter Hotkey

    • Nachid
    • 4. Januar 2016 um 21:51

    Vielen Dank das hat ich übersehen.
    @Raupi
    1. Im Hauptscript
    2. Funktionsaufruf ist im Hauptscript - nicht online
    3. Vielen Dank - mir nicht aufgefallen da ich normal ab 1 arbeite... Danke !
    4. Nein kein Humbug - da wenn ich a drücke und kein true kommt die Ausgabe wohl nicht eingeleitet wird
    -> Ergo : geht nicht weil iwo Fehler (siehe 3)
    5. Programm sah anders aus. Das keine Abbruchbedingung vorhanden war sollte das Problem vereinfachen.
    -> Abbruch bedingung wird gesetzt indem $TrackKeys = False wenn ESC oder 2. Knopf gedrückt wurde.


    Vielen dank für eure Hilfe :)

  • Zeichensatz Problem

    • Nachid
    • 4. Januar 2016 um 21:19

    Vielen Dank,

    hilft leider nicht da mein Script teile aus Websites ausliest und diese direkt per _InetGetSource erhält.
    Trotzdem danke :)

  • Benutzerdefinierter Hotkey

    • Nachid
    • 4. Januar 2016 um 21:08

    Hallo liebe Au3-Gemeinde,

    hat jemand von euch eine Idee warum das angehängte Script nicht funktioniert ?
    Zur Vorbeugung : Nein es wird kein Keylogger, da würde ich was anderes nehmen.

    Ich will das ein Nutzer bei Aufruf der Funktion maximal 2 Tasten drücken kann die dann so zu sagen
    als Benutzerdefinierter Hotkey funktionieren.

    Leider scheitert das ganze bei der Aufnahme der Hotkeys.

    Laut meinem Verständnis sollte das Script eigentlich so den Code des gedrückten Keys in die Konsole schreiben.
    Leider funktioniert das bei mir nicht.
    Auch nicht mit ReqAdmin.

    Vielleicht bin ich nur mal wieder etwas Blind trotz Brille, jedoch möchte ich euch bitten das mal an zu schauen ob jemand meinen Fehler findet.
    Suche wurde benutzt leider hab ich dazu nichts gefunden.


    //EDIT

    Der Code wurde wohl durch C&P verschoben. Sollte aber so zumindest teilweise funktionieren (evlt & _ anpassen)


    AutoIt
    Dim $keyarray = ["01","Left mouse button","02","Right mouse button","03","Control-break processing","04","Middle mouse button (three-button mouse)" & _
    "","05","X1 mouse button","06","X2 mouse button","08","BACKSPACE","09","TAB","0C","CLEAR","0D","ENTER","10","SHIFT","11","CTRL","12","ALT","13" & _
    "","PAUSE","14","CAPS LOCK","20","SPACEBAR","21","PAGE UP","22","PAGE DOWN","23","END","24","HOME","25","LEFT ARROW","26","UP ARROW","27" & _
    "","RIGHT ARROW","28","DOWN ARROW","29","SELECT","2A","PRINT","2B","EXECUTE","2C","PRINT SCREEN","2D","INS","2E","DEL","30","0","31","1","32","2","33","3" & _
    "","34","4","35","5","36","6","37","7","38","8","39","9","41","A","42","B","43","C","44","D","45","E","46","F","47","G","48","H","49","I","4A","J","4B","K","4C" & _
    "","L","4D","M","4E","N","4F","O","50","P","51","Q","52","R","53","S","54","T","55","U","56","V","57","W","58","X","59","Y","5A","Z","5B","Left Windows","5C","Right Windows","60" & _
    "","Numericpad 0","61","Numericpad 1","62","Numericpad 2","63","Numericpad 3","64","Numericpad 4","65","Numericpad 5","66","Numericpad 6","67","Numericpad 7","68" & _
    "","Numericpad 8","69","Numericpad 9","6A","Multiply","6B","Add","6C","Separator","6D","Subtract","6E","Decimal","6F","Divide","70","F1","71","F2","72","F3","73","F4","74" & _
    "","F5","75","F6","76","F7","77","F8","78","F9","79","F10","7A","F11","7B","F12","90","NUM LOCK","91","SCROLL LOCK","A0","Left SHIFT","A1","Right SHIFT","A2","Left CONTROL" & _
    "","A3","Right CONTROL","A4","Left MENU","A5","Right MENU","BA",";","BB","=","BC",",","BD","-","BE",".","BF","/","C0","`","DB","[","DC","\","DD","]"]
    
    
    
    
    
    
    Func TrackKey()
    $pressed = ""
    $pos = MouseGetPos()
    ToolTip ("Please press max. 2 keys in turn.",$pos[0],$pos[1],"Info",1,7)
    Sleep(2500)
    ToolTip("")
    Local $hDLL = DllOpen("user32.dll")
    $TrackKeys = True
    While $TrackKeys
    For $i=1 To UBound($keyarray) Step +2
    $x = _IsPressed($keyarray[$i],$hDLL)
    If $x=$keyarray[$i] Then
    ConsoleWrite("Key Pressed : "&$keyarray[$i]-1&@CRLF)
    Sleep(10)
    EndIf
    Next
    WEnd
    EndFunc
    Alles anzeigen
  • Batch Datei / Shell(Kontextmenü) Eintrag, desktop.ini erstellen ?

    • Nachid
    • 10. September 2015 um 16:26

    Du kannst mit einem Registry Eintrag auf ein Programm verweisen und den Pfad gleichzeitig übergeben.
    Hab das auch mal gemacht müsste ich daheim mal Suchen.

  • Skript das auf einem FTP Server einen Ordner anlegt und Daten speichert

    • Nachid
    • 20. Juni 2015 um 14:34

    Oder per Batch.

    Code
    OPEN IP.ADR.ES.SE
    USER test
    passwordhierhin
    mdir test
    mput C:\test\*
    disconnect
    quit
  • Gutes Webhosting finden..

    • Nachid
    • 30. November 2014 um 22:29

    Ich bin bei gigawebhost. Sind sehr günstig und sehr flexibel

  • _SQLite_Query crasht Script

    • Nachid
    • 28. November 2014 um 18:39

    Die Lösung ist

    [autoit]

    $database = _SQLite_Open("SB-database.sqlite")

    [/autoit]

    mit dem Prefix

    [autoit]

    Global

    [/autoit]

    zu versehen.

    Außerdem DARF NICHT

    [autoit]

    ' '

    [/autoit]


    diese Anführungszeichen verwendet werden, wenn bereits _SQLite_Escape(...) verwendet wird !
    (Um den zu suchenden String)
    Danke an alle die sich hier einen Kopf gemacht haben !

  • _SQLite_Query crasht Script

    • Nachid
    • 27. November 2014 um 08:25

    Werde die DB sofort nach der Arbeit online stellen ! Danke für die Hilfe

  • _SQLite_Query crasht Script

    • Nachid
    • 26. November 2014 um 18:29

    Ja genau. Crashed ohne Fehlermeldung.

    Code
    // Datenbank anlegen
    $database = _SQLite_Open("SB-database.sqlite")
    _SQLite_Exec($database,"CREATE TABLE SchlagBuch (Eigent,Name,Gemark,Flurstcknr,Katasterfl,Flgr,PPA,PG,Schlag);")
    _SQLite_Exec($database,"CREATE TABLE Eigent (Eigentuemer,Text,Telefon,Ort,Strasse,IBAN,BIC);")
    _SQLite_Exec($database,"CREATE TABLE SchlagKom (Schlag,Text);")
    _SQLite_Exec($database,"CREATE TABLE FlrstKom (Flrst,Text);")
    ....
    //Hier der Query kommt viel später im Script
          Case $Eigentuemer
                Local $Query, $Rows
    _SQLite_Query($database,"SELECT * FROM Eigent WHERE Eigentuemer=='"&GUICtrlRead($Eigentuemer)&"';",$Query)
                ;If IsDeclared($Query) Then _SQLite_FetchData($Query,$Rows)
                If IsArray($Rows) Then
                    GUICtrlSetData($cteigent,$Rows[1])
                    GUICtrlSetData($tele,$Rows[2])
                    GUICtrlSetData($Ort,$Rows[3])
                    GUICtrlSetData($Strasse,$Rows[4])
                    GUICtrlSetData($iban,$Rows[5])
                    GUICtrlSetData($bic,$Rows[6])
                EndIf
                    GUICtrlSetState($cteigent,$GUI_ENABLE)
                    GUICtrlSetState($tele,$GUI_ENABLE)
                    GUICtrlSetState($Ort,$GUI_ENABLE)
                    GUICtrlSetState($Strasse,$GUI_ENABLE)
                    GUICtrlSetState($iban,$GUI_ENABLE)
                    GUICtrlSetState($bic,$GUI_ENABLE)
    Alles anzeigen

    Folgendes wurde versucht

    Code
    If _SQLite_Query($database,"SELECT * FROM Eigent WHERE Eigentuemer=='"&GUICtrlRead($Eigentuemer)&"';",$Query) == $SQLITE_OK Then _SQLite_FetchData($Query,$Rows)
    Code
    _SQLite_Query($database,"SELECT * FROM Eigent WHERE Eigentuemer=='"&GUICtrlRead($Eigentuemer)&"';",$Query)
    If  not @error Then _SQLite_FetchData($Query,$Rows)
    Code
    _SQLite_Query($database,"SELECT * FROM Eigent WHERE Eigentuemer=='"&GUICtrlRead($Eigentuemer)&"';",$Query)
    If IsDeclared($Query) Then _SQLite_FetchData($Query,$Rows)
    Code
    _SQLite_Query($database,"SELECT * FROM Eigent WHERE Eigentuemer=='"&GUICtrlRead($Eigentuemer)&"';",$Query)
    If $Query<>"" Then _SQLite_FetchData($Query,$Rows)


    Das es an einer allgemeinen Fehlimplementierung liegt glaube ich nicht, da es ja funktioniert sobald ein Wert eingetragen ist.
    Dachte außerdem zuerst das es an FetchData liegt weswegen ich die obrigen Methoden versucht habe.

    //€dit : Source code besser eingerückt

    Ich lass es dir gern per PM zukommen - veröffentlichen will ichs aber nicht.

  • _SQLite_Query crasht Script

    • Nachid
    • 26. November 2014 um 17:41

    Hallo !

    Auch auf die Gefahr hin das ich mal wieder nur knapp daneben liege...
    Wenn ich folgende SQLite Query mache klappt alles

    Code
    _SQLite_Query($database,"SELECT * FROM Eigent WHERE Eigentuemer=='Ichbindoof';",$Query)

    (Angenommen der Eigentuemer "Ichbindoof" existiert)

    Code
    _SQLite_Query($database,"SELECT * FROM Eigent WHERE Eigentuemer=='Ichbindooff';",$Query)

    Hier stürzt das Scritp ab da es "Ichbindoof2" nicht gibt.
    Wie kann ich hier unterscheiden ob es den Eintrag gibt ohne ihn nachzuschlagen (da sonst crash) ?

    Mein workaround dafür wäre die ganze tabelle zu holen und es einzeln abzugleichen.
    Gefällt mir aber nicht.

    (Mehr code ist nicht nötig - das Beispiel stellt das Problem gut dar.)
    Hat jemand noch ne andere idee ?

  • Zeichensatz Problem

    • Nachid
    • 9. September 2014 um 15:52

    Danke für den Versuch.

    Bei folgendem Code leider keine Lösung :

    [autoit]


    Func decodeUTF8($string)
    $ASCIIA = StringToASCIIArray($string,0,Default,2)
    Return StringFromASCIIArray($ASCIIA,0,Default,1)
    EndFunc

    [/autoit]
  • Zeichensatz Problem

    • Nachid
    • 9. September 2014 um 08:11

    Das Problem ist eigentlich das

    Straße

    durch den UTF-8 Satz zu

    Straße

    wird. Ich werde dein Tipp aber auffassen und mich heute nach der Arbeit daran versuchen den Text durch den Encoder zu jagen
    und ihn danach wieder decodieren um das Problem evtl. so zu umgehen.

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™