Naja, dann muss ich mal schauen, was ich mache. Trotzdem danke.
Lieben Gruß,
Beiträge von AnnaM
-
-
Das klinkt ja echt klasse.
Wenn es dir nicht so viel mühe macht, könntest du mir ein Beispiel geben, wie ich in diese Datei schreiben und lesen kann?
So wie in einer ini?Vielen Dank :_)
-
Hmm, aber wie machen das große Firmen?
Wo speichert man dann Konfigurationen am Besten? Und vor allem wie?
Das verschlüsseln ist ja dann nicht so gut, wenn mans auslesen kann :-/[ offen ] .INI Datei verschlüsseln
Also das zum Thema verschlüsseln. hmm.
Vor allem, wenn es verschlüsselt ist, wie schaffe ich ein speichern wieder in die richtige Sektion und das auch noch verschlüsselt?
-
Hallo Zusammen

ich habe eine Frage, weiß aber nicht, wie man es genau nennt.
Ich speichere momentan meine Daten, die ich für mein Programm brauche in einer Ini.
Das Problem ist, dass der User diese Datei mit einem Editor öffnen kann und manipulieren kann.
Somit kann es auch möglich sein, die Einstellungen über die Ini zu tätigen, anstatt von der GUI aus.
Auch ein Fehlablauf des Programms kann hier durch Änderung der Ini ausgelöst werden.
Ich habe zwar schon viele Dinge abgefangen, doch nun will ich diese Quelle ausschließen.Wie mache ich dieses am Besten? Verschlüsseln? Oder gibt es eine andere Dateiart oder sowas?
Ich meine, der Vorteil einer Ini ist natürlich, dass diese sich leicht auslesen und bearbeiten lässt.Ich hoffe ihr habt hier eine Idee.
Ich bin heute darauf gekommen, da ich meine ganzen Bilder nun in eine dll speichere
Lieben Gruß und vielen Dank,
Anna -
Hallo,
das Problem ist hier, dass die .ini mal größer und mal kleiner ausfällt. Je nach Nutzer. Deshalb wollte ich es als Datei schicken.
-
Hallo,
also das senden mit der Post-Variablen habe ich raus. Ganz einfach
[autoit]
[/autoit]
$sPost = "var1=inhalt&var2=inhalt2"
$sResult = _WinHttpSimpleRequest($hConnect, "POST", "/input.php", Default, $sPost)Aber wie ich das nun mit einer Datei mache?
Man könnte es binär umformen und dann senden, aber ob das so schlau ist? -
Hallo name22,
danke für deine Antwort. Ich habe mir gerade die Hilfedatei angeschaut, aber ich habe keine Ahnung, wie ich so etwas integriere und wie dann der Server dafür aussehen muss.
Also wenn du ein kleines Beispiel hättest, wäre ich dir dankbar. Ich arbeite mich gerade durch das Forum und schau schon, wie es umgesetzt wird.
Ich kenne es bis jetzt noch nicht. Ich schau mal und melde mich wieder
Vielen Dank schon einmal für den Tipp. *gg*
-
Hallo Zusammen,
ich habe ein Programm für einen Kunden geschrieben, welches nun auch eine "Fehler-Senden"-Funktion bekommen soll, falls es mit dem Programm Schwierigkeiten gibt.
Zur Zeit habe ich es so realisiert:Spoiler anzeigen
[autoit]
[/autoit]
If MsgBox(0x4 + 0x40 + 0x40000, $ProgName, "Wollen Sie ein Debug-Protokoll an den Administrator schicken?" & @CRLF & "Sie helfen hiermit das Programm bei Fehlern zu verbessern.",0,$hGUI) = 6 Then
Local $hnet_senden = InetRead("https://www.........../php.php?check1=" & $var1 & "&check2=" & $var2 & "&check3=" & $var3 & "&check4=" & $var4 & "&check5=" & $var5 & "&check6=" & "code")
InetClose( $hnet_senden)
EndIf
Danach fängt die PHP-Seite den Link ab, prüft ob er valide ist und speichert die angegangenen Daten in eine Datenbank.
Leider ist es mir schon passiert, dass sich das Programm beim Senden verabschiedet hat
Auch kann es sein, das auf einem Client kein Internet Explorer installiert ist, der aber für die Funktion (InetRead) vorgesehen ist.
Dieses sind Probleme für das Debug-Protokoll.Als weiteren Punkt soll auch die dazugehörige ".ini"-Datei verschickt werden, die alle Einstellungen gespeichert hat.
Ich dachte erst, ich kann es per E-Mail-Funktion lösen, doch dann müsste ich alle "smtp"-Einstellungen wie auch das Passwort hinterlegen,
welches sich bestimmt mit einem Hex-Editor oder so etwas auslesen lassen könnte. Das weiß ich nicht!Ich hoffe ihr könnt mir wenigstens zum Punkt 1 helfen. Gibt es da eine andere Vorgehensweise oder eine bessere Übertragung der Daten?
Zumal eine URL ja auch nicht unbegrenzt lang sein darf.Lieben Gruß, Anna

-
ah ok
supi. War also nur eine Kleinigkeit.
Dankeschööön. -
Hallo,
schön, dass du mir geantwortet hast, doch leider bringt mir die Antwort keine Antwort

Ich habe einen Netzwerkpfad. z.B. "\\SLaptop\Users". Dieses Gerät befindet sich irgendwo im Netzwerk.
[autoit]
Nun will ich wissen, welche IP dieses Gerät hat.
Und wenn ich
[/autoit]
TCPStartup() ; <!-- wichtig
msgbox(0,"IP???",TCPNameToIP("\\SLaptop\Users"))
TCPShutdown()
eingebe, geht es nicht. -
Hallo Zusammen,
ich stehe vor einem Problem, wie ich eine IP-Adresse herausfinde. Ich habe hier nur den Netzwerkpfad z.b. "\\SLAPTOP\Users".
Ich habe bis jetzt nur die Funktion "TCPNameToIP" gefunden. Aber damit gehts nicht.Lieben Gruß, Anna
-
hmm, das ist aber schade. Ich wollte das eigentlich so handhaben. Aber wie erstelle ich so eine GUI?
Ich müsste ja alle seine Geräte auflisten und dann auch noch mit Unterordner und sowas alles. Oje
-
Hallo Zusammen,
ich habe folgendes Problem.
Ich möchte gerne ein FileSelectFolder machen, aber genau so, dass nur der Arbeitsplatz und dann noch die Netzwerkumgebung angezeigt wird.
Es ist quasi eine Mischung aus folgendem Script:Local $ordner_auswahl = FileSelectFolder("Bitte wählen Sie den Ordner aus:", "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}",1) --> Zeigt nur den Arbeitsplatz ohne Desktop, Papierkorb.. usw
Local $ordner_auswahl = FileSelectFolder("Bitte wählen Sie den Ordner aus:","::{208D2C60-3AEA-1069-A2D7-08002B30309D}", 1) --> Zeigt nur die NetzwerkumgebungGibt es denn eine Möglichkeit ein FileSelectFolder anzuzeigen, der den Arbeitsplatz und darunter die Netzwerkumgebung anzeigt? Kann man die CLSIDs mischen? Sowas wie "BitOr"?
Danke im Voraus, die Anna

-
Im Beitrag [ gelöst ] Standby verhindern? wird es erklärt.
Er verhindert den Standby, aber setzt in nach dem Script nicht wieder auf den letzten Zustand.EDIT: OK, es war mein Fehler, es klappt nun. Sorry

-
Lustig, aber nicht das, was ich will *gg*
Es muss ja auf anderen PCs auch gehen
Sprich, eine Abschaltung per Script und danach muss es wieder in den Ursprungszustand. -
Hallo Zusammen,
ich habe ein Problem beim Ausführen meines Tools. Das Tool an sich läuft super.
Aber ich möchte jegliches Energiesparen verhindern.Z.B. geht der Rechner in den Standby-Modus, obwohl das Tool läuft.
Das gilt es zu verhindern. Bildschirmschoner oder Bildschirm aus wäre nicht so schlimm.
Hauptsache das Tool läuft weiter.Ist das realisierbar?
Lieben Gruß, Anna

-
Hallo Micha,
ja, hat mir sehr geholfen. Danke
-
Hallo Zusammen,
ich möchte gerne folgendes Problem lösen. Es sollen zwei Ordner synchronisiert werden.
Das heißt, ich will einen Ordner in den anderen kopieren, aber nur mit den Dateien, die neuer sind.Bisher habe ich dieses mit dem Parameter D bei xcopy gemacht.
[autoit]Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y /F /G',@TempDir,@SW_HIDE )
[/autoit]
[autoit]
Alles kein Problem. Da ich auch einen Prozentbalken haben wollte, habe ich in einer Schleife - solange xcopy läuft -
mit$destSize = DirGetSize($destDir, 1)
[/autoit]
die bisherige Größe ausgegeben, umgerechnet und somit meinen Prozentbalken gefüllt und die bisher kopierte Dateigröße ausgegeben.Doch nun wird zur Dateisicherung ein NAS benutzt. Zwar ist dieses im Gigabyte-Netzwerk eingebunden, doch immer noch ziemlich träge.
Auch wird ein Ordner mit mehreren 100GB übertragen (viele RAW-Dateien).Hier das bisherige Script, ausgearbeitet auch in diesem Forum:
Spoiler anzeigen
[autoit]
[/autoit]
Func CopyWithProgress($srcDir, $destDir) ;Original gigx und autoBert
Local $tsBeginn = _NowCalc(), $tsDiff =-1, $tsRest ;eingefügt für Restdauer
If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
If Not FileExists($destDir) Then DirCreate($destDir)
$srcSize = DirGetSize($srcDir, 1)
$1_percent = $srcSize[0] / 100
Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y /F /G',@TempDir,@SW_HIDE )
ProgressOn("Advanced status of file copying", "", "",10,10)
Do
if $tsDiff < 0 Then Sleep(5000)
$destSize = DirGetSize($destDir, 1)
$tsDiff = _DateDiff("s",$tsBeginn,_NowCalc())
$tsRest = round($tsDiff / ($destSize[0] / $1_percent) * 100,0) - $tsDiff
ConsoleWrite($tsDiff & " " & $1_percent & " " & $tsRest &@CRLF)
ProgressSet(Round($destSize[0] / $1_percent, 2), Round($destSize[0] / (1024 * 1024), 2) & " MB of " & Round($srcSize[0] / (1024 * 1024), 2)& " MB copied" & @CRLF _
& $destSize[1] & " of " & $srcSize[1] & " Files copied." & @CRLF _
& $destSize[2] & " of " & $srcSize[2] & " Folders copied.", Round($destSize[0] / $1_percent, 2) & "% - Done! " & $tsRest & " sec. Rest")
Sleep($tsDiff)
Until $destSize[0] >= $srcSize[0]
MsgBox(0,"Fertig in " & $tsDiff & " sec.",Round($destSize[0] / (1024 * 1024), 2) & " MB of " & Round($srcSize[0] / (1024 * 1024), 2)& " MB copied" & @CRLF _
& $destSize[1] & " of " & $srcSize[1] & " Files copied." & @CRLF _
& $destSize[2] & " of " & $srcSize[2] & " Folders copied." & @CRLF & Round($destSize[0] / $1_percent, 2) & "% - Done! ")
ProgressOff()
EndFuncNun kann sich jeder denken, was passiert, wenn man einen solch großen Ordner ständig nach der Größe fragt und das noch über das Netzwerk.
Da wird die Netzlast schnell zu groß und das Backup dauert ca 6h. Wenn ich es so per Hand verschiebe, ist es nach einer Stunde getan.Auch wäre es wünschenswert die gerade kopierte Datei anzuzeigen.
Also meine neue GUI sollte ungefähr so aussehen:Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 288, 156, 192, 124)
$Group2 = GUICtrlCreateGroup("Fortschritt", 8, 8, 265, 129)
$Label1 = GUICtrlCreateLabel("Aktuell:", 24, 40, 39, 17)
$Progress1 = GUICtrlCreateProgress(72, 40, 190, 17)
$Input1 = GUICtrlCreateInput("Input1", 72, 64, 193, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_READONLY))
$Label3 = GUICtrlCreateLabel("Datei:", 24, 64, 32, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label2 = GUICtrlCreateLabel("Gesamt:", 24, 96, 43, 17)
$Progress2 = GUICtrlCreateProgress(72, 96, 190, 17)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEnd
Ich habe überlegt, mit FileCopy zu arbeiten, aber weiß nicht, wie ich mit den Änderungen einer Datei umgehen kann.
Man könnte höchstens mit FileGetTime immer die Datei prüfen, die gerade dran kommt und beide Ordner mit einander vergleichen.Hat jemand zu später Stunde noch eine Idee, wie man hochperformant auf ein NAS Ordner abgleicht?
Ich habe es schon sogar mit Robocopy versucht, doch auch hier ist es schwierig einen Kopierstatus hinzubekommen.Vielen Dank erst einmal für jede Hilfe.
Lieben Gruß, Anna

-
Super klasse Tipp. Ich habs.
Vielen Dank -
Ich glaube es hat sich soweit erledigt
hihi.Der Pfeil, den ich anklicken wollte, öffnet so ein Untermenü und ich habe aus Spass mal das noch versteckte Steuerelement angegeben und mit ControlClick angesprochen obwohl es ja noch unsichtbar ist. Und siehe da, es klappt und kann angesprochen werden.
Aber kann mir einer sagen, wie ich eine Combobox auswerte?
Spoiler anzeigen
>>>> Window <<<<
Title: Drucken
Class: #32770
Position: 650, 188
Size: 756, 693
Style: 0x96CC0000
ExStyle: 0x00000101
Handle: 0x002B0808>>>> Control <<<<
Class: ComboBox
Instance: 2
ClassnameNN: ComboBox2
Name:
Advanced (Class): [CLASS:ComboBox; INSTANCE:2]
ID:
Text:
Position: 185, 222
Size: 163, 24
ControlClick Coords: 76, 11
Style: 0x56000413
ExStyle: 0x00000000
Handle: 0x00210552Das ist die ComboBox. Und ich möchte da drinen einen ganz bestimmten Eintrag auswerten.
Vielen Dank im Voraus schon einmal
