ich versteh nicht ganz...
poste doch mal bitte dein Script^^
Beiträge von GE IXI TIM
-
-
Edit: Oh sorry
totaler Müll, total falsch verstanden^^ -
hatte nen fehler den ich nicht bemerkte, weil ich die Funktion _entpacken() nicht aufrufte

-
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
[/autoit] [autoit][/autoit] [autoit]
Author: myNameScript Function:
[/autoit] [autoit][/autoit] [autoit]
Template AutoIt script.#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <File.au3>
#include <Array.au3>
#include <String.au3>
#include <GuiStatusbar.au3>
#include <Date.au3>
#include <String.au3>
$datacontent = ""
$path = @ScriptDir & "/paths.ini"
FileWrite($path, "")
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Verpackungsprogramm by GE IXI TIM", 773, 510, 216, 106, -1, BitOR($WS_EX_ACCEPTFILES,$WS_EX_WINDOWEDGE))
$StatusBar1 = _GUICtrlStatusBar_Create($Form2, -1)
Dim $StatusBar1_PartsWidth[2] = [150, 250]
_GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth)
_GUICtrlStatusBar_SetText($StatusBar1, " datum ", 0)
_GUICtrlStatusBar_SetText($StatusBar1, "pfad ", 1)
$ListView1 = GUICtrlCreateListView("Name|Größe|Pfad", 0, 0, 770, 470)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSendMsg(-1, 0x101E, 0, 150)
GUICtrlSendMsg(-1, 0x101E, 1, 50)
GUICtrlSendMsg(-1, 0x101E, 2, 300)
$datei = GUICtrlCreateMenu("Datei")
$ListView1context = GUICtrlCreateContextMenu($ListView1)
$pack = GUICtrlCreateMenuItem("Alles Packen", $ListView1context)
$depack = GUICtrlCreateMenuItem(" Bei Archiv entpacken", $ListView1context)
$condepackall = GUICtrlCreateMenuItem("Dateien entpacken...", $ListView1context)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
FileDelete($path)
Exit
Case $Gui_EVENT_DROPPEd
$txt = StringSplit(@GUI_DragFile, "\")
$size = FileGetSize(@GUI_DragFile)
GUICtrlCreateListViewItem($txt[$txt[0]] & "|" & Round($size / 1024 / 1024, 2) & "|" & @GUI_DragFile, $ListView1)
FileWriteLine($path, @GUI_DragFile)
Case $pack
_verpacken()
Case $condepackall
$fils = FileOpenDialog("Archiv wählen", "", "TDZ-Verpackung(*.tdz)")
$diro = FileSaveDialog("Ordner wählen", "", "(ORDNER)")
_entpacken($fils,$diro, "")
Case $depack
$fils = FileOpenDialog("Archiv wählen", "", "TDZ-Verpackung(*.tdz)")
_entpacken($fils)
EndSwitch
WEndFunc _verpacken()
[/autoit] [autoit][/autoit] [autoit]
$count = _FileCountLines($path)
for $i = 1 to $count
$file = FileOpen($path, 0)
$text = FileReadLine($file, $i)
$dt = FileOpen($text, 16)
$x = FileRead($dt)
$type = StringSplit($text, "\")
$type = $type[$type[0]]
MsgBox(0, "", $type)
$datacontent = $datacontent & "-" & $type & "-" & $x& "®"
FileClose($dt)
FileClose($file)
Next
$savefile = FileSaveDialog("Speicherort wählen", "", "TDZ-Verpackung(*.tdz)")
$endfile = FileOpen($savefile & ".tdz", 10)
FileWrite($endfile, $datacontent)
FileClose($endfile)
EndFuncFunc _entpacken($file, $path = @ScriptDir, $dirname = "Archiv")
[/autoit]
$dirname = "/" & $dirname
$dick = FileOpen($file, 0)
$text = FileRead($dick)
$xmsg = StringSplit($text, "®")
_ArrayDisplay($xmsg)
for $i = 1 to $xmsg[0] -1
$type = _StringBetween($xmsg[$i], "-","-")
$type = $type[0]
GUICtrlCreateListViewItem($type & "|unknown|", $ListView1)
$main =stringReplace($xmsg[$i], "-","")
$main = StringReplace($main, "-","")
$main = StringReplace($main, $type, "")
DirCreate( $path & $dirname )
$xpath = $path & $dirname & "\" & $type
$dicker = FileOpen($xpath, 18)
FileWrite($dicker, $main)
FileClose($dicker)
Next
EndFunc -
Das ist wirklich gelungen
Nur das Fenster würde ich etwas größer machen
Aber die Betonung liegt auf "ICH" 
Ne wirklich super
-
mhm...erst wollte jeder den Code und jtz sagt niemand was...
Bestimmt so ein einfacher Fehler der mir nicht auffällt -.- ABER ICH KOMM NET DRAUF!!!
Kann sich das bitte jemand ansehen?
-
ähm...
vielleicht soltest du noch eine Inputbox oder ähnliches dazumachen das man wenigstens die Webseite, die man möchte, öffnen kann.
Weil mal ganz im Ernst: Ist es nicht einfacher/schneller/effektiver einen Browser zu öffnen und die Seite manuell einzugeben, als dein Programm zu suchen und zu öffnen?
Ein paar Zusatzfunktionen wären sicherlich nicht schlecht
Edit: aso, sorry, bevor ich Kritik äußere, würde ich gerne wissen wie lange du schon mit AutoIt zutun hast, weil es wäre falsch dein "Programm" zu kritisieren wenn es eines deiner 1. wäre^^
wenn du schon länger dabei bist oder "bessere" Programme gemacht hast, bleibt meine Meinung aber bestehen
-
okee ist aber noch nicht ganz fertig...kann mir vllt auch jmd tipps zur statusbar geben?
Spoiler anzeigen
[autoit]#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.0.0
[/autoit] [autoit][/autoit] [autoit]
Author: GE IXI TIMScript Function:
[/autoit] [autoit][/autoit] [autoit]
Template AutoIt script.#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <File.au3>
#include <Array.au3>
#include <String.au3>
#include <GuiStatusbar.au3>
#include <Date.au3>
#include <String.au3>
$datacontent = ""
$path = @ScriptDir & "/paths.ini"
FileWrite($path, "")
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Verpackungsprogramm by GE IXI TIM", 773, 510, 216, 106, -1, BitOR($WS_EX_ACCEPTFILES,$WS_EX_WINDOWEDGE))
$StatusBar1 = _GUICtrlStatusBar_Create($Form2, -1)
Dim $StatusBar1_PartsWidth[2] = [150, 250]
_GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth)
_GUICtrlStatusBar_SetText($StatusBar1, " datum ", 0)
_GUICtrlStatusBar_SetText($StatusBar1, "pfad ", 1)
$ListView1 = GUICtrlCreateListView("Name|Größe|Pfad", 0, 0, 770, 470)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUICtrlSendMsg(-1, 0x101E, 0, 150)
GUICtrlSendMsg(-1, 0x101E, 1, 50)
GUICtrlSendMsg(-1, 0x101E, 2, 300)
$datei = GUICtrlCreateMenu("Datei")
$ListView1context = GUICtrlCreateContextMenu($ListView1)
$pack = GUICtrlCreateMenuItem("Alles Packen", $ListView1context)
$depack = GUICtrlCreateMenuItem(" Bei Archiv entpacken", $ListView1context)
$condepackall = GUICtrlCreateMenuItem("Dateien entpacken...", $ListView1context)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
FileDelete($path)
Exit
Case $Gui_EVENT_DROPPEd
$txt = StringSplit(@GUI_DragFile, "\")
$size = FileGetSize(@GUI_DragFile)
GUICtrlCreateListViewItem($txt[$txt[0]] & "|" & Round($size / 1024 / 1024, 2) & "|" & @GUI_DragFile, $ListView1)
FileWriteLine($path, @GUI_DragFile)
Case $pack
_verpacken()
Case $condepackall
$fils = FileOpenDialog("Archiv wählen", "", "TDZ-Verpackung(*.tdz)")
$diro = FileSaveDialog("Ordner wählen", "", "(ORDNER)")
_entpacken($fils,$diro, "")
Case $depack
$file = FileOpenDialog("Archiv wählen", "", "TDZ-Verpackung(*.tdz)")
_entpacken($fils)
EndSwitch
WEndFunc _verpacken()
[/autoit] [autoit][/autoit] [autoit]
$count = _FileCountLines($path)
for $i = 1 to $count
$file = FileOpen($path, 0)
$text = FileReadLine($file, $i)
$dt = FileOpen($text, 16)
$x = FileRead($dt)
$type = StringSplit($text, "\")
$type = $type[$type[0]]
MsgBox(0, "", $type)
$datacontent = $datacontent & "-" & $type & "-" & $x& "®"
FileClose($dt)
FileClose($file)
Next
EndFuncFunc _entpacken($file, $path = @ScriptDir, $dirname = "/Archiv")
[/autoit]
If StringLeft($dirname, 1) not = "/" Or "\" Then $dirname = "\" & $dirname
$dick = FileOpen($file, 0)
$text = FileRead($dick)
$xmsg = StringSplit($text, "®")
_ArrayDisplay($xmsg)
for $i = 1 to $xmsg[0] -1
$type = _StringBetween($xmsg[$i], "-","-")
$type = $type[0]
GUICtrlCreateListViewItem($type & "|unknown|", $ListView1)
$main =stringReplace($xmsg[$i], "-","")
$main = StringReplace($main, "-","")
$main = StringReplace($main, $type, "")
DirCreate( $path & $dirname )
$xpath = $path & $dirname & "\" & $type
$dicker = FileOpen($xpath, 18)
FileWrite($dicker, $main)
FileClose($dicker)
Next
EndFunc
edit: zeilt mit hextostring war noch drin^^ war nur um was zu testen...sry
-
meinst du so?
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Form1", 625, 445, 193, 125, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit]
WEndjtz warn 2 leute schneller -.-

-
natürlich

gar nicht dran gedacht...
Spoiler anzeigen
[autoit]
[/autoit]
$path = @scriptdir & "/paths.txt" ; pro zeile 1 pfad einer Datei
$count = _FileCountLines($path)
for $i = 1 to $count
$file = FileOpen($path, 0)
$text = FileReadLine($file, $i)
$dt = FileOpen($text, 16)
$x = FileRead($dt)
$type = StringSplit($text, "\")
$type = $type[$type[0]]
$data = $data & $x
fileclose($file)
fileclose($dt)
nextSpoiler anzeigen
[autoit]$savefile = FileSaveDialog("Speicherort wählen", "", "TDZ-Verpackung(*.tdz)") ; diese Zeilen speichern das ausgelesene Material
[/autoit]
$endfile = FileOpen($savefile & ".tdz", 10)
FileWrite($endfile, $data)
FileClose($endfile) -
Habs hinbekommen mehrere Dateien zusammenzuklatschen

Kann sie auch wunderbar wieder trennen, mit originalname usw...
Aber: die Größe im gepackten Zustand ist das doppelte -.-
Beispiel: Mp3-Datei (10MB), ich packe sie, Test.tdz (mein Dateityp, 20MB) -.- ich hab so en Album gepackt und aus 100MB 200 gemacht -.- ist ziemlich dämlich, weiß jmd Rat?
-
muss ich schon wieder umdenken^^
danke für die aufschlussreiche Hilfe
-
super arbeit, die Graphic ist traumhaft
aber etwas habe ich zu bemängeln:
beim Einheitsrechner ändern sich beim Klick auf "Temperatur" die Combo-Boxen nicht. Die bleiben immer so wie sie sind
-
Ist das so möglich?
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
$path = "Irgendeinpfad.iwas" ; den Pfad der 1. Datei deklarieren
$file = FileOpen($path, 16) ; die Datei im Binärmodus öffnen
$binary = FileRead($file) ; die Datei auslesen$path2 = "Irgendeinandererpfad.iwas" ;2. datei
[/autoit] [autoit][/autoit] [autoit]
$file2 = FileOpen($path2, 16) ;öffnen
$binary2 = FileRead($file2) ; auslesen$dest = @DesktopDir &"/test.iwas" ;zielpfad angeben
[/autoit]
$save = FileOpen($dest, 16) ;Pfad im Binärmodus öffnen um die Datei original zu speichern
FileWrite($save, $binary & "|" & $binary2) ;datei aus den anderen erstellen -
ich probier mal alles durch...
-
das denk ich auch!
ich bin nicht so der AutoIt experte und versuche mich an allem möglichem um viele verschiedene Bereiche kennen zu lernen. Und so ein Programm wäre doch ein lustiger Versuch
nur komm ich immer noch nicht genau weiter
Geht es, wenn man die Dateien mit fileopen(iwas, 16), also binär liest, mit trennzeichen und informationen in einer Datei speichert, und diese so ähnlich auch wieder speichert?! -
könnte gut sein^^
kannst du mir vielleicht ein paar Tipps geben wie man die einzelnen Dateien zu einer einzigen schreibt?
Danke
-
um das komprimieren selbst geht es mir nicht.
Ich möchte nur ungefähr dieselbe Oberfläche wie WinRar haben.
Programm öffnen, Dateien hinzufügen, alle Dateien in eine schreiben.
Doppelklick auf diese Datei, Programm öffnet sich, Datei wird per CMDLINE ausgelesen, Name in einer Listview des Programmes angezeigt und man kann dann die einzelnen Dateien (oder auch alle) wieder aus der Datei herausholen. (Komprimieren ist nicht nötig, wollte nur wissen ob das möglich wäre^^)
Also wie WinRar nur ohne kompri.
weil das ist mir dann doch wirklich zu schwer...^^
Ginge das Irgendwie? z.B. die Dateien per trennzeichen Trennen und die 1. Zeile der einzelnen Programme beinhaltet Dateityp, Name und andere Infos...
Aber danke für die Antworten
-
ähm...wie hilft mir dass jetzt bei AutoIt weiter?^^
-
ich versuchs mal

danke^^