Beiträge von oh-ha
-
-
Hallo,
so weit ich es noch in Erinnerung habe kann man das doch auch direkt mit dem VLC abgreifen und schauen.
Hatte es früher immer mit Jgrabber oder so ähnlich gemacht.
Na egal, habe hier auch noch eine 800er rumstehen und hätte schon Interesse dran wie du es gelöst hast.mfg
oh-ha -
Wäre mal nett wenn du dein Skript mal hier rein stellst.
Hast doch schon eine Schleife am laufen, nutze sie doch einfach.

Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <Excel.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$hGui = GUICreate("Gui", 391, 101, 192, 125)
GUICtrlCreateLabel("Dateipfad:", 10, 22, 50, 20)
$pfad = GUICtrlCreateInput("", 70, 20, 200, 21)
$suchen = GUICtrlCreateButton("Durchsuchen", 280, 18, 90, 25)
$ok = GUICtrlCreateButton("OK", 280, 63, 90, 25)
GUICtrlCreateLabel("Erstellt von ", 8, 56, 58, 20)
$name = GUICtrlCreateInput("keine Angabe", 71, 51, 200, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $suchen
$oeffnen= FileOpenDialog("Bitte Datei auswählen...", @DesktopDir, "Alle (*.*)")
If Not @error Then GUICtrlSetData($pfad, $oeffnen)
Case $ok
tabelle()
EndSwitch
WEndFunc tabelle()
[/autoit] [autoit][/autoit] [autoit]
ProgressOn("Progress Meter", "Increments every second", "0 percent"); ---Progressbar ein
$ersteller = GUICtrlRead($name);------------------Aus der Inputbox ($name)lesen
$file = @ScriptDir & "\test.xls"
$fh = FileOpen($file, 1);-------------------------Leere Excel Tabelle erstellen
FileClose($fh)
$array=stringsplit(fileread($oeffnen),";",3)
$dim=int((ubound($array)-1)/3)+1dim $a[$dim][3]
[/autoit] [autoit][/autoit] [autoit]
$sFilePath1 = @ScriptDir & "\test.xls" ;----------Öffnen der Exel Tabelle
$oExcel = _ExcelBookOpen($sFilePath1,1)for $i=0 to $dim-1
[/autoit] [autoit][/autoit] [autoit]
ProgressSet( $i*2, $i*2 & " %");-------------------Werte für die Progressbar setzen
sleep(100);----------------------------------------Damit bremse ich die ein wenig aus da man die nicht sehen könnte
$a[$i][0]=$array[$i*3+0]
$oExcel.Cells($i+1,1).Value = $a[$i][0];--------Werte in die erste Spalte schreiben
$a[$i][1]=$array[$i*3+1]
$oExcel.Cells($i+1,2).Value = $a[$i][1];--------Werte in die zweite Spalte schreiben
$a[$i][2]=$array[$i*3+2]
$oExcel.Cells($i+1,3).Value = $a[$i][2];--------Werte in die dritte Spalte schreiben
next
$oExcel.ActiveCell.EntireRow.Insert(1);---------->fügt eine Zeile hinzu
$oExcel.Cells(1, 1).Value = "Wert X " ;-----------Schreibt in eine Zelle (A1) einen Text
$oExcel.Cells(1, 2).Value = "Wert Y" ;------------Schreibt in eine Zelle (B1) einen Text
$oExcel.Cells(1, 3).Value = "Wert Z" ;------------Schreibt in eine Zelle (C1) einen Text
$oExcel.Range("A1:I1" ).Select;-------------------Zellen (A1 bis I1) Makieren
$oExcel.Selection.Font.Bold = True;---------------In Fett schreiben
$oExcel.Range("B:B" ).Select;---------------------Makieren der Spalte (B)
$oExcel.Selection.Interior.Color =0xCCCCCC;-------Die Spalte (B) in grau darstellen
$oExcel.Range("B1" ).Select;-----------------------Makieren der Zelle (B1)
$oExcel.Selection.Interior.Color =0xFFFFFF;-------Die Zelle (B1) wieder in weiß darstellen;################## Einen Rahmen bauen zur besseren Darstellung ######################################
[/autoit] [autoit][/autoit] [autoit]
$oExcel.Range("E1:I3" ).Select ; Rahmen
$oExcel.Selection.Borders(7).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(7).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(8).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(8).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(9).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(9).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(10).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(10).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(11).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(11).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(12).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(12).Weight = -4138 ;xlMedium = -4138
;############# ENDE Rahmen ###########################################################################$date = @MDAY & "." & @MON & "." & @YEAR;---------Das aktuelle Datum
[/autoit]
$time = @HOUR & ":" & @MIN;-----------------------Die aktuelle Zeit
$oExcel.Cells(1, 5).Value = "Erstellt am " & " " & $date & " " & "um" & " " & $time & "Uhr" ;-----------Schreibt in eine Zelle (E1) einen Text
$oExcel.Cells(2, 5).Value = "von" ;--------------Schreibt in eine Zelle (E2) einen Text
$oExcel.Cells(3, 5).Value = $ersteller ;---------Schreibt die Variable von der Inputbox in die Zelle (E3)
$oExcel.Range("E3" ).Select;---------------------Zelle (E3) Makieren
$oExcel.Selection.Font.Bold = True;--------------In Fett schreiben
$oExcel.Cells(2, 6).Value = "Höchster Wert" ;----Schreibt in eine Zelle (F2) einen Text
$oExcel.Cells(3, 6).Value = "Niedrigster Wert" ;--Schreibt in eine Zelle (F3) einen Text
$oExcel.Range("F2" ).Select;---------------------Zelle (F2) Makieren
$oExcel.Selection.Font.Bold = True;--------------In Fett schreiben
$oExcel.Range("F3" ).Select;---------------------Zelle (F3) Makieren
$oExcel.Selection.Font.Bold = True;--------------In Fett schreiben
$oExcel.Cells(1, 7).Value = "Wert X" ;-----------Schreibt in eine Zelle (G1) einen Text
$oExcel.Cells(1, 8).Value = "Wert Y" ;-----------Schreibt in eine Zelle (H1) einen Text
$oExcel.Cells(1, 9).Value = "Wert Z" ;-----------Schreibt in eine Zelle (I1) einen Text
$oExcel.Cells(2, 7).Value = "=MAX(A2:A50)";------Schreibt in die Zelle (G2) den Höchsten wert aus Spalte A
$oExcel.Cells(2, 8).Value = "=MAX(B2:B50)";------Schreibt in die Zelle (H2) den Höchsten wert aus Spalte B
$oExcel.Cells(2, 9).Value = "=MAX(C2:B50)";------Schreibt in die Zelle (I2) den Höchsten wert aus Spalte C
$oExcel.Cells(3, 7).Value = "=MIN(A2:A50)";------Schreibt in die Zelle (G3) den Kleinsten Wert aus Spalte A
$oExcel.Cells(3, 8).Value = "=MIN(B2:B50)";------Schreibt in die Zelle (H3) den Kleinsten Wert aus Spalte B
$oExcel.Cells(3, 9).Value = "=MIN(C2:C50)";------Schreibt in die Zelle (I3) den Kleinsten Wert aus Spalte C
$oExcel.Range("A:AZ" ).Select ;------------------Makiert das Blatt von A bis AZ
$oExcel.Selection.HorizontalAlignment = -4108 ;--setzt alles makierte auf mitte
$oExcel.Selection.EntireColumn.AutoFit ;---------Passt die Zellengröße Automatisch an
$oExcel.Range("D5" ).Select;---------------------Makieren der Zelle (D5)zur besseren Ansicht
ProgressSet(100 , "Done", "Fertig");----------------Fertig
sleep(2000);----------------------------------------Damit man auch sehen kann das er fertig ist 2sec warten
ProgressOff();-------------------------------------- und aus
EndFunc;==>tabellemfg
oh-ha -
Geht natürlich alles muss man das ganze halt Variabler gestalten.
Könnte man über eine combobox machen mit Auswahl 1 bis 10 oder wie viele Spalten du halt machen möchtest.
Bei der progressbar schaue dir das mal in der Hilfe an " GUICtrlCreateProgress " ist da recht gut beschrieben.mfg
oh-ha -
moin moin,
hatte mal genau das selbige Problem mit *.csv Dateien die Automatisch erstellt worden sind.
Natürlich kannst du die auch in Excel einbinden und noch mehr.
Ich weiss schon das ich da etwas übers Ziel hinausgehe mit dem Skript, soll dir halt nur zeigen was so möglich ist.Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <Excel.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$hGui = GUICreate("Gui", 391, 101, 192, 125)
GUICtrlCreateLabel("Dateipfad:", 10, 22, 50, 20)
$pfad = GUICtrlCreateInput("", 70, 20, 200, 21)
$suchen = GUICtrlCreateButton("Durchsuchen", 280, 18, 90, 25)
$ok = GUICtrlCreateButton("OK", 280, 63, 90, 25)
GUICtrlCreateLabel("Erstellt von ", 8, 56, 58, 20)
$name = GUICtrlCreateInput("keine Angabe", 71, 51, 200, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $suchen
$oeffnen= FileOpenDialog("Bitte Datei auswählen...", @DesktopDir, "Alle (*.*)")
If Not @error Then GUICtrlSetData($pfad, $oeffnen)
Case $ok
tabelle()
EndSwitch
WEndFunc tabelle()
[/autoit] [autoit][/autoit] [autoit]
$ersteller = GUICtrlRead($name);------------------Aus der Inputbox ($name)lesen
$file = @ScriptDir & "\test.xls"
$fh = FileOpen($file, 1);-------------------------Leere Excel Tabelle erstellen
FileClose($fh)
$array=stringsplit(fileread($oeffnen),";",3)
$dim=int((ubound($array)-1)/3)+1dim $a[$dim][3]
[/autoit] [autoit][/autoit] [autoit]
$sFilePath1 = @ScriptDir & "\test.xls" ;----------Öffnen der Exel Tabelle
$oExcel = _ExcelBookOpen($sFilePath1,1)for $i=0 to $dim-1
[/autoit] [autoit][/autoit] [autoit]
$a[$i][0]=$array[$i*3+0]
$oExcel.Cells($i+1,1).Value = $a[$i][0];--------Werte in die erste Spalte schreiben
$a[$i][1]=$array[$i*3+1]
$oExcel.Cells($i+1,2).Value = $a[$i][1];--------Werte in die zweite Spalte schreiben
$a[$i][2]=$array[$i*3+2]
$oExcel.Cells($i+1,3).Value = $a[$i][2];--------Werte in die dritte Spalte schreiben
next
$oExcel.ActiveCell.EntireRow.Insert(1);---------->fügt eine Zeile hinzu
$oExcel.Cells(1, 1).Value = "Wert X " ;-----------Schreibt in eine Zelle (A1) einen Text
$oExcel.Cells(1, 2).Value = "Wert Y" ;------------Schreibt in eine Zelle (B1) einen Text
$oExcel.Cells(1, 3).Value = "Wert Z" ;------------Schreibt in eine Zelle (C1) einen Text
$oExcel.Range("A1:I1" ).Select;-------------------Zellen (A1 bis I1) Makieren
$oExcel.Selection.Font.Bold = True;---------------In Fett schreiben
$oExcel.Range("B:B" ).Select;---------------------Makieren der Spalte (B)
$oExcel.Selection.Interior.Color =0xCCCCCC;-------Die Spalte (B) in grau darstellen
$oExcel.Range("B1" ).Select;-----------------------Makieren der Zelle (B1)
$oExcel.Selection.Interior.Color =0xFFFFFF;-------Die Zelle (B1) wieder in weiß darstellen;################## Einen Rahmen bauen zur besseren Darstellung ######################################
[/autoit] [autoit][/autoit] [autoit]
$oExcel.Range("E1:I3" ).Select ; Rahmen
$oExcel.Selection.Borders(7).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(7).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(8).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(8).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(9).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(9).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(10).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(10).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(11).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(11).Weight = -4138 ;xlMedium = -4138
$oExcel.Selection.Borders(12).LineStyle = 1 ;xlContinuous = 1
$oExcel.Selection.Borders(12).Weight = -4138 ;xlMedium = -4138
;############# ENDE Rahmen ###########################################################################$date = @MDAY & "." & @MON & "." & @YEAR;---------Das aktuelle Datum
[/autoit]
$time = @HOUR & ":" & @MIN;-----------------------Die aktuelle Zeit
$oExcel.Cells(1, 5).Value = "Erstellt am " & " " & $date & " " & "um" & " " & $time & "Uhr" ;-----------Schreibt in eine Zelle (E1) einen Text
$oExcel.Cells(2, 5).Value = "von" ;--------------Schreibt in eine Zelle (E2) einen Text
$oExcel.Cells(3, 5).Value = $ersteller ;---------Schreibt die Variable von der Inputbox in die Zelle (E3)
$oExcel.Range("E3" ).Select;---------------------Zelle (E3) Makieren
$oExcel.Selection.Font.Bold = True;--------------In Fett schreiben
$oExcel.Cells(2, 6).Value = "Höchster Wert" ;----Schreibt in eine Zelle (F2) einen Text
$oExcel.Cells(3, 6).Value = "Niedrigster Wert" ;--Schreibt in eine Zelle (F3) einen Text
$oExcel.Range("F2" ).Select;---------------------Zelle (F2) Makieren
$oExcel.Selection.Font.Bold = True;--------------In Fett schreiben
$oExcel.Range("F3" ).Select;---------------------Zelle (F3) Makieren
$oExcel.Selection.Font.Bold = True;--------------In Fett schreiben
$oExcel.Cells(1, 7).Value = "Wert X" ;-----------Schreibt in eine Zelle (G1) einen Text
$oExcel.Cells(1, 8).Value = "Wert Y" ;-----------Schreibt in eine Zelle (H1) einen Text
$oExcel.Cells(1, 9).Value = "Wert Z" ;-----------Schreibt in eine Zelle (I1) einen Text
$oExcel.Cells(2, 7).Value = "=MAX(A2:A50)";------Schreibt in die Zelle (G2) den Höchsten wert aus Spalte A
$oExcel.Cells(2, 8).Value = "=MAX(B2:B50)";------Schreibt in die Zelle (H2) den Höchsten wert aus Spalte B
$oExcel.Cells(2, 9).Value = "=MAX(C2:B50)";------Schreibt in die Zelle (I2) den Höchsten wert aus Spalte C
$oExcel.Cells(3, 7).Value = "=MIN(A2:A50)";------Schreibt in die Zelle (G3) den Kleinsten Wert aus Spalte A
$oExcel.Cells(3, 8).Value = "=MIN(B2:B50)";------Schreibt in die Zelle (H3) den Kleinsten Wert aus Spalte B
$oExcel.Cells(3, 9).Value = "=MIN(C2:C50)";------Schreibt in die Zelle (I3) den Kleinsten Wert aus Spalte C
$oExcel.Range("A:AZ" ).Select ;------------------Makiert das Blatt von A bis AZ
$oExcel.Selection.HorizontalAlignment = -4108 ;--setzt alles makierte auf mitte
$oExcel.Selection.EntireColumn.AutoFit ;---------Passt die Zellengröße Automatisch an
$oExcel.Range("D5" ).Select;---------------------Makieren der Zelle (D5)zur besseren Ansicht
EndFunc;==>tabelle
Habe auch mal versucht das so weit wie möglich zu kommentieren zumindest was das Excel angehtEdit: Sleep(50) raus genommen.Geht wohl auch so.
mfg
oh-ha -
Uuuups habe ich doch glatt vergessen meine Lösung zu Posten, sorry soll nicht wieder vorkommen.
Lese jetzt, bevor ich meine Werte in die Reg. schreibe, den @EXTENDED aus und übernehme diesen dann für das RegWrite.
Warum man das nicht in RegRead direkt abrufen kann oder in RegWrite das weglassen kann verstehe ich aber immer noch nicht so wirklich.Spoiler anzeigen
[autoit]$var = IniReadSection("C:\Temp\test.ini", "Internet Explorer_Main")
[/autoit]
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
For $i = 1 To $var[0][0] -1
$lesen = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", $var[$i][0])
Switch @EXTENDED
Case 0
$c = "REG_NONE"
Case 1
$c = "REG_SZ"
Case 2
$c = "REG_EXPAND_SZ"
Case 3
$c = "REG_BINARY"
Case 4
$c = "REG_DWORD"
Case 5
$c = "REG_DWORD_BIG_ENDIAN"
Case 6
$c = "REG_LINK"
Case 7
$c = "REG_MULTI_SZ"
Case 8
$c = "REG_RESOURCE_LIST"
Case 9
$c = "REG_FULL_RESOURCE_DESCRIPTOR"
Case 10
$c = "REG_RESOURCE_REQUIREMENTS_LIST"
EndSwitch
MsgBox(0,"blabla",$i & " " &$var[$i][0] & " " & " " & " Type = " & $c)
RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" ,$var[$i][0], $c, $var[$i][1])
Next
EndIf
Auch hier musste ich wieder die " -1 " dazu nehmen, warum auch immer ???mfg
oh-ha -
-
Arrg sorry BLinz habe ich nicht mitbekommen, musst du wohl geschrieben haben wo ich auch dran war.
Jo hatte ich in der Hilfe auch gefunden, spät aber immerhin.
Ist aber schon etwas verwunderlich das man bei RegWrite den Type angeben muss den RegRead nicht direkt ausgibt.Werde mir das mit der Kommandozeile mal anschauen, nur habe ich keine Ahnung ob es auch auf 64bit Systemen geht.
mfg
oh-ha -
Hallo Blume,
hatte ich gemacht nur kamen dann falsche angaben dabei raus was mich auch ein wenig gewundert hatte.
mit der -1 lief es korrekt komischer weise.Versuche da jetzt eh einen anderen Ansatz. Mache mir eine Art eigene *.ini wie es mir ja auch schon vorgeschlagen worden ist.
[autoit]
Schaut derzeitig so aus:$datei = FileOpen("test.txt",10)
[/autoit][autoit][/autoit][autoit]
For $i = 1 to 100
$var = RegEnumVal("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", $i)
$b = RegRead ( "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main", $var)
If @EXTENDED = 0 Then
$c = "REG_NONE"
EndIfIf @EXTENDED = 1 Then
[/autoit][autoit][/autoit][autoit]
$c = "REG_SZ"
EndIfIf @EXTENDED = 2 Then
[/autoit][autoit][/autoit][autoit]
$c = "REG_EXPAND_SZ"
EndIfIf @EXTENDED = 3 Then
[/autoit][autoit][/autoit][autoit]
$c = "REG_BINARY"
EndIf
If @EXTENDED = 4 Then
$c = "REG_DWORD"
EndIfIf @EXTENDED = 5 Then
[/autoit][autoit][/autoit][autoit]
$c = "REG_DWORD_BIG_ENDIAN"
EndIfIf @EXTENDED = 6 Then
[/autoit][autoit][/autoit][autoit]
$c = "REG_LINK"
EndIfIf @EXTENDED = 7 Then
[/autoit][autoit][/autoit][autoit]
$c = "REG_MULTI_SZ"
EndIf
If @EXTENDED = 8 Then
$c = "REG_RESOURCE_LIST"
EndIfIf @EXTENDED = 9 Then
[/autoit]
$c = "REG_FULL_RESOURCE_DESCRIPTOR"
EndIf
If @EXTENDED = 10 Then
$c = "REG_RESOURCE_REQUIREMENTS_LIST"
EndIf
FileWrite($datei,"[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]" & @CRLF & "Name = " & $var & ";" & " Type = " & $c & "; " & "Wert = " & $b & @CRLF)
If @error <> 0 Then ExitLoop
Next
FileClose($datei)mfg
oh-ha -
Hmmm das mit den zurückschreiben geht auch nicht so wie ich es mir vorstelle.
geht nicht da mir der type fehlt
[autoit]#include <Array.au3>
[/autoit]
$zurueck = IniReadSection("C:\Temp\test.ini", "VB and VBA Program_frmvideospy")
For $i = 1 to $zurueck[0][0]-1
RegWrite("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmvideospy", $zurueck[$i][0], $zurueck[$i][1])
;MsgBox(0,"",$zurueck[$i][0] & " " & "Wert = " & $zurueck[$i][1])
If @error <> 0 Then ExitLoop
Next
[autoit]
.
Das geht wiederum nur habe ich nicht den Type als Variable, der wird ja auch nicht von " RegRead " ausgelesen.#include <Array.au3>
[/autoit]
$zurueck = IniReadSection("C:\Temp\test.ini", "VB and VBA Program_frmvideospy")
For $i = 1 to $zurueck[0][0]-1
RegWrite("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmvideospy", $zurueck[$i][0], "REG_SZ", $zurueck[$i][1])
;MsgBox(0,"",$zurueck[$i][0] & " " & "Wert = " & $zurueck[$i][1])
If @error <> 0 Then ExitLoop
NextLasse ich, wie in der Hilfe angegeben den Type leer geht es auch nicht, bekomme ich eine Fehlermeldung
[autoit]#include <Array.au3>
[/autoit]
$zurueck = IniReadSection("C:\Temp\test.ini", "VB and VBA Program_frmvideospy")
For $i = 1 to $zurueck[0][0]-1
RegWrite("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmvideospy", $zurueck[$i][0], "", $zurueck[$i][1])
;MsgBox(0,"",$zurueck[$i][0] & " " & "Wert = " & $zurueck[$i][1])
If @error <> 0 Then ExitLoop
Next
ERROR: RegWrite() called with illegal argument 3: ""Hat einer eine Idee wie man das machen könnte ?
mfg
oh-ha -
Lol das war es, danke dir.
Was das andere angeht mit zurückschreiben, da bin ich noch am basteln.
Versuche das mal in ein Array einzulesen und dann wieder in die Reg.mfg
oh-ha -
Moin Greenhorn,
habe mal die Fehlerabfrage drunter gesetzt nur erstellt der mir dann gar keine test. ini mehr.
[autoit]If Not FileExists ("C:\Temp\test.ini") Then
[/autoit]
For $i = 0 to 100
$var = RegEnumVal("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\Einstellungen", $i)
If @error <> 0 Then ExitLoop
$b = RegRead ( "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\Einstellungen", $var)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_Einstellungen", $var, $b)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_User_Einstellungen", $var, $b)
Next
For $i = 0 to 100
$var = RegEnumVal("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmvideospy", $i)
If @error <> 0 Then ExitLoop
$b = RegRead ( "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmvideospy", $var)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_frmvideospy", $var, $b)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_User_frmvideospy", $var, $b)
Next
For $i = 0 to 100
$var = RegEnumVal("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmwebcam", $i)
If @error <> 0 Then ExitLoop
$b = RegRead ( "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmwebcam", $var)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_frmwebcam", $var, $b)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_User_frmwebcam", $var, $b)
Next
EndIfmfg
oh-ha -
Hallo,
auslesen aus der Registratur geht ja schon nur wie bekomme ich die Werte auch wieder eingelesen ?
Ändere die Werte in der Registratur über die " VB and VBA Program_User_*** ".
Wenn ich fertig bin möchte ich aber wieder die originalen Werte in die Registratur zurückschreiben
die ich vorher unter " VB and VBA Program_*** " in der ini gesichert habe.Des weiteren würde ich gerne die lästigen " = " in der ini wegbekommen die wohl dadurch entstehen
das ich von 0 to 100 die Schleife laufen lasse. Habe aber auch noch keine Funktion gefunden die mir die Zeilen
in der Registratur angibt. So etwas in der Richtung wie _FileCountLines.Spoiler anzeigen
[autoit]If Not FileExists ("C:\Temp\test.ini") Then
[/autoit]
For $i = 0 to 100
$var = RegEnumVal("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\Einstellungen", $i)
$b = RegRead ( "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\Einstellungen", $var)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_Einstellungen", $var, $b)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_User_Einstellungen", $var, $b)
If @error <> 0 Then ExitLoop
Next
For $i = 0 to 100
$var = RegEnumVal("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmvideospy", $i)
$b = RegRead ( "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmvideospy", $var)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_frmvideospy", $var, $b)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_User_frmvideospy", $var, $b)
If @error <> 0 Then ExitLoop
Next
For $i = 0 to 100
$var = RegEnumVal("HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmwebcam", $i)
$b = RegRead ( "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\camspy\frmwebcam", $var)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_frmwebcam", $var, $b)
IniWrite("C:\Temp\test.ini", "VB and VBA Program_User_frmwebcam", $var, $b)
If @error <> 0 Then ExitLoop
Next
EndIfmfg
oh-ha -
Das mit den selben Namen für die Variablen " Form2 " ist nur beim Testskript so.
Da ist mir beim erstellen mit Koda wohl ein Fehler unterlaufen.
In meinen normalen Skript haben die alle einen unterschiedlichen Namen.mfg
oh-ha -
Ahhhhhhhh jetzt ja
Danke dir autoBert das mit den speichern vom Modus war es.
mfg
oh-ha -
moin BadBunny
ist genau das was ich nicht verstehe.
Hatte ja als Kommentar " Zeile 40 " ja geschrieben das es ohne dem gar nicht geht.
Ist nur ein Test Skript das dem meinigen sehr nahe kommt zumindest was den Fehler betrifft.
Arbeite halt gerne über Funktionen. Bin mir bis jetzt auch nicht ins Gehege gekommen was die Übersicht betrifft.mfg
oh-ha -
Moin moin,
habe da irgenwie einen Knoten in der Birne.
Bekomme es nicht hin das beim Beenden von "test2 " die " main " wieder ihre funktionen macht.Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global $Radio1, $Radio2, $Form2
main()
Func main()
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Test", 117, 150, 302, 218)
$Label1 = GUICtrlCreateLabel("Testmain", 32, 8, 47, 17)
$Group1 = GUICtrlCreateGroup("Funktion", 10, 32, 97, 41)
$Radio1 = GUICtrlCreateRadio("An", 18, 48, 41, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Radio2 = GUICtrlCreateRadio("Aus", 59, 48, 41, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("OK", 18, 80, 75, 25)
$Button2 = GUICtrlCreateButton("Beenden", 18, 112, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetOnEvent($Button1, "test1")
GUICtrlSetOnEvent($Button2, "endmain")
GUISetOnEvent($GUI_EVENT_CLOSE, "endmain")
While 1
Sleep(50)
WEnd
EndFunc;==>mainFunc test1(); ich weiss das man das auch als If...else hätte machen können ist nur zur veranschaulichung
[/autoit] [autoit][/autoit] [autoit]
If $Radio1 And BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) = $GUI_CHECKED Then
MsgBox(0,"Test", "Nur zu Testzwecken")
EndifIf $Radio2 And BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) = $GUI_CHECKED Then
[/autoit] [autoit][/autoit] [autoit]
test2()
Endif
EndFunc;==>testFunc test2()
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 0); ohne dem geht gar nichts mehr
#Region ### START Koda GUI section ### Form=
$Form2 = GUICreate("Testform2", 125, 206, 302, 218)
$Label1 = GUICtrlCreateLabel("Testform2", 8, 8, 51, 17)
$Button1 = GUICtrlCreateButton("Beenden", 24, 168, 75, 25)
$Button2 = GUICtrlCreateButton("OK", 24, 136, 75, 25)
$Label2 = GUICtrlCreateLabel("", 32, 80, 51, 20, $SS_SUNKEN)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
$Input1 = GUICtrlCreateInput("", 24, 32, 73, 21)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###GUICtrlSetOnEvent($Button1, "endtest2")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($Button2, "endtest2")
GUISetOnEvent($GUI_EVENT_CLOSE, "endmain")While 1 * sleep(10)
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
endtest2()
Case $Label2
$neu = GUICtrlRead($Input1)
GUICtrlSetData($Label2, $neu)
EndSwitch
WEnd
EndFunc;==>test2Func endtest2()
[/autoit] [autoit][/autoit] [autoit]
GUIDelete($Form2)
EndFunc;==>endtest2Func endmain()
[/autoit]
Exit
EndFunc;==>endmain
Ist nur ein Testskript was aufzeigen soll wie ich das meine da es genau den Fehler wiedergibt.
Hoffe mal das ich mich dieses mal wenigstens verständlich machen konnte.
mfg
oh-ha -
Sorry das ich mich erst jetzt wieder melde.
War bis eben noch daran das mit den dll´s zu verstehen>>>>>>>>>habe es immer noch nicht hinbekommen.
Was nicht ist kann ja noch werden, nur eine Frage der Zeit.BLinz,
genau das habe ich gesucht und dann wird die Schrift auch noch so angezeigt
Greenhorn,
Sitze da jetzt schon einen ganzen Tag und die halbe Nacht dran nur mit dem Verstehen haperts noch ein wenig.
Kann dein Skript aber jetzt gut als Vergleich gebrauchen bei dem was ich da schon raus gefunden hatte.mfg
oh-ha -
Danke dir,
werde mir das mal anschauen und versuchen das hinzubekommen, hatte bisher noch keine dll angesprochen.
Dachte ich komme an einer extra Gui vorbei und hätte in der Hilfe nur die Parameter nicht gefunden.mfg
oh-ha -
Hallo BugFix,
habe ich mich wohl etwas unverständlich Ausgedrückt (mal wieder)
[autoit]If $Radioschrift And BitAND(GUICtrlRead($Radioschrift), $GUI_CHECKED) = $GUI_CHECKED Then;Schriftart einstellen
[/autoit]
$c = RegRead ( "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\Scripts","Default_Script")
If $c = 0 Then
RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\Scripts\" ,"Default_Script", "REG_BINARY", 03)
EndIf
$a = RegRead ( "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\Scripts","Default_Script")
$schriftordner = Number($a) ; Wird die null vor der zahl weggemacht
$a_font = _ChooseFont()
If (@error) Then
MsgBox(0, "", "Error _ChooseFont: " & @error)
Else
RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\Scripts\" ,"Default_Script", "REG_BINARY", 03)
RegWrite ("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\Scripts\" & $schriftordner ,"IEPropFontName", "REG_SZ", $a_font[2])
EndIf
EndIfDas ist ein Auschnitt aus meinen Skript.
Da wird die Auswahl der Schriften mit " $a_font = _ChooseFont() " aufgerufen und in gerade dieser Auswahl habe ich auch die Größe, schriftgrad usw.
sieht dann so aus:
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.
Möchte aber nur die Schriftenauswahl haben. In etwa so nur halt mit ok und abbrechen dabei:
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. mfg
oh-ha