Hat jmd vll ne idee wie man sein Programm multilingual machen kann ohne ne ini?
Programm multilingual machen
-
- [ offen ]
-
JuraX -
28. April 2010 um 17:46 -
Geschlossen -
Erledigt
-
-
-
Die Sprachdateien sollte man schon auslagern (.ini, .txt, sqlite oder so.).
Alle Sprachdateien dauerhaft im Speicher zu parken ist unsinnig und schlecht erweiterbar.Einfaches Konzept:
-> \Sprache Ordner im Skriptverzeichnis
-> dort wird jede Sprache als .txt abgelegt
-> in der Konfig. ini steht welche beim Startup geladen werden soll
-> beim Startup wird die .txt eingelesen und die Variablen bekommen ihren Wert zugewiesen. -
und das geht wie?
-
Tipp: So:
Spoiler anzeigen
Einfaches Konzept:
-> \Sprache Ordner im Skriptverzeichnis
-> dort wird jede Sprache als .txt abgelegt
-> in der Konfig. ini steht welche beim Startup geladen werden soll
-> beim Startup wird die .txt eingelesen und die Variablen bekommen ihren Wert zugewiesen.
Einfach jeden Text deines Programmes in eine Variable tun und dann schaust du in der txt einfach jedesmal deine Variable nach, und änderst sie ggf. -
wenn ich das richtig verstanden habe mein ihr so:
[autoit]For $i = 1 To Anzahahlderbefehle
[/autoit]
$line = FileReadLine($lang,$i)
$langpacks[$i]=$line
Next -
also mit txt dateien würd ich da nich rumhantieren.
die einfachste lösung is ne ini. so z.B.
[deutsch]
button1=Hier klicken
label1=gescriptet von Jurax
[english]
button1=click here
label1=scripted by Juraxusw.
dann nimmste einfach für die sprache die jeweilige sektion und fertig.
einfach und effektiv. -
Das wird von der Größe her bei mehreren Sprachen und vielen Einträgen ganz schnell sehr eng.
Würde ich nicht empfehlen, auch weil jeder in der Hauptini rummurksen muss um eine Sprache selbst hinzuzufügen. -
Nicht, wenn Du für jede Sprache eine separate ini erstellst.
Bei Programmstart schaut das Prog lediglich in der Haupt-ini nach, welche Sprach-ini geladen werden soll.
So mache ich es zumindest bei ein paar Programmen von mir und das klappt eigentlich wunderbar. -
jup kommt natürlich immer drauf an welchen umfang das projekt hat.
ich selbst arbeite da auch lieber mit datenbanken -
Zitat
Hat jmd vll ne idee wie man sein Programm multilingual machen kann ohne ne ini?
Spoiler anzeigen
[autoit]If @OSLang <> 0405 Then
[/autoit] [autoit][/autoit] [autoit]
$Sprache = _Sprache()
Else
$Sprache = "cs"
EndIf#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("...........@OSLang cs .... .........@OSLang " & $Sprache, 390, 208, -1, -1)
$Button1 = GUICtrlCreateButton("Tiskarna", 69, 24, 97, 41, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Zapnout", 69, 78, 97, 41, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Vypnout", 69, 133, 97, 41, $WS_GROUP)
$Button4 = GUICtrlCreateButton(_GoogleTranslate("Tiskarna", "cs", $Sprache), 224, 24, 97, 41, $WS_GROUP)
$Button5 = GUICtrlCreateButton(_GoogleTranslate("Zapnout", "cs", $Sprache), 224, 78, 97, 41, $WS_GROUP)
$Button6 = GUICtrlCreateButton(_GoogleTranslate("Vypnout", "cs", $Sprache), 224, 133, 97, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _GoogleTranslate($sText, $sFrom = "en", $sTo = "ja")
[/autoit] [autoit][/autoit] [autoit]
Local Const $FileName = "Translation.jsn"
Local Const $Pattern = '"translatedText":"([^"]+)"'
Local $GoogleURL = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=%s&langpair=%s%%7C%s"
Local $File$GoogleURL = StringFormat($GoogleURL, $sText, $sFrom, $sTo)
[/autoit] [autoit][/autoit] [autoit]If Not InetGet($GoogleURL, $FileName, 1) Then Return SetError(1, 0, 0)
[/autoit] [autoit][/autoit] [autoit]$File = FileOpen($FileName, 4)
[/autoit] [autoit][/autoit] [autoit]
FileGetSize($FileName)
$Translation = FileRead($File, FileGetSize($FileName))
FileClose($File)
FileDelete($FileName)$Translation = BinaryToString($Translation, 4)
[/autoit] [autoit][/autoit] [autoit]If StringRegExp($Translation, $Pattern) Then
[/autoit] [autoit][/autoit] [autoit]
$Translation = StringRegExp($Translation, $Pattern, 1)
$Translation = $Translation[0]Return $Translation
[/autoit] [autoit][/autoit] [autoit]
EndIf
EndFunc ;==>_GoogleTranslateFunc _Sprache()
[/autoit] [autoit][/autoit] [autoit]
Select
Case StringInStr("0413 0813", @OSLang)
Return "nl"Case StringInStr("0409 0809 0c09 1009 1409 1809 1c09 2009 2409 2809 2c09 3009 3409", @OSLang)
[/autoit] [autoit][/autoit] [autoit]
Return "en"Case StringInStr("040c 080c 0c0c 100c 140c 180c", @OSLang)
[/autoit] [autoit][/autoit] [autoit]
Return "fr"Case StringInStr("0407 0807 0c07 1007 1407", @OSLang)
[/autoit] [autoit][/autoit] [autoit]
Return "de"Case StringInStr("0410 0810", @OSLang)
[/autoit] [autoit][/autoit] [autoit]
Return "it"Case StringInStr("0414 0814", @OSLang)
[/autoit] [autoit][/autoit] [autoit]
Return "no"Case StringInStr("0415", @OSLang)
[/autoit] [autoit][/autoit] [autoit]
Return "pl"Case StringInStr("408", @OSLang)
[/autoit] [autoit][/autoit] [autoit]
Return "el"Case Else
[/autoit] [autoit][/autoit] [autoit]
Return "en"EndSelect
[/autoit]
EndFunc ;==>_SpracheIst eher als Scherz gedacht, , nur Schade das Googel nicht besser übersetzt .
-
Löst es doch so
[autoit]
[/autoit][autoit][/autoit][autoit]
Const $ConfigPath=@ScriptDir & "\ini\config.ini"If Not FileExists($ConfigPath) Then
[/autoit][autoit][/autoit][autoit]
IniWrite($ConfigPath, "Language", "Lang", "German")
EndIf$Language=IniRead($ConfigPath, "Language", "Lang", "")
[/autoit]
$Langpath=@ScriptDir & "\lang\"&$language&"\lang_"&$language&".ini"In der Config.ini steht dann ja dann in der Language German drinne, dann einfach auslesen lassen
z.B. so
[autoit]$start = GUICtrlCreateButton(IniRead($LangPath, $Language, "start", "start"), 248, 0, 75, 25, $WS_GROUP)
[/autoit]Dann steht in der datei \lang\German\lang_german.ini in etwa dies
Code[German] start=Starten ; falls Variable nicht gesetzt fügt er an die Stelle einfach nur start hin
habe ich bei meinem String Starter so gemacht gehabt
Hier mal der Code
Spoiler anzeigen
[autoit];~ GUI und Windows Daten
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>
#include <GuiListView.au3>
#Include <Array.au3>
#Include <File.au3>;~ Internet
[/autoit] [autoit][/autoit] [autoit]
#include <INet.au3>
#include <IE.au3>;~ Modern Menü
[/autoit] [autoit][/autoit] [autoit]
#include <ModernMenu.au3>;~ Tab Items
[/autoit] [autoit][/autoit] [autoit]
#include <StaticConstants.au3>
#include <TabConstants.au3>;~ $_MD5Opcode wird für die Funktion _MD5() benötigt
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $_MD5Opcode = "0xC85800005356576A006A006A008D45A850E8280000006A00FF750CFF75088D45A850E8440000006A006A008D45A850FF7510E8710700005F5E5BC9C210005589E58B4D0831C0894114894110C70101234567C7410489ABCDEFC74108FEDCBA98C7410C765432105DC21000C80C0000538B5D088B4310C1E80383E03F8945F88B4510C1E0030143103943107303FF43148B4510C1E81D0143146A40582B45F88945F4394510724550FF750C8B45F88D44031850E8A00700008D43185053E84E0000008B45F48945FC8B45FC83C03F39451076138B450C0345FC5053E8300000008345FC40EBE28365F800EB048365FC008B45102B45FC508B450C0345FC508B45F88D44031850E84D0700005BC9C21000C84000005356576A40FF750C8D45C050E8330700008B45088B088B50048B70088B780C89D021F089D3F7D321FB09D801C1034DC081C178A46AD7C1C10701D189C821D089CBF7D321F309D801C7037DC481C756B7C7E8C1C70C01CF89F821C889FBF7D321D309D801C60375C881C6DB702024C1C61101FE89F021F889F3F7D321CB09D801C20355CC81C2EECEBDC1C1C21601F289D021F089D3F7D321FB09D801C1034DD081C1AF0F7CF5C1C10701D189C821D089CBF7D321F309D801C7037DD481C72AC68747C1C70C01CF89F821C889FBF7D321D309D801C60375D881C6134630A8C1C61101FE89F021F889F3F7D321CB09D801C20355DC81C2019546FDC1C21601F289D021F089D3F7D321FB09D801C1034DE081C1D8988069C1C10701D189C821D089CBF7D321F309D801C7037DE481C7AFF7448BC1C70C01CF89F821C889FBF7D321D309D801C60375E881C6B15BFFFFC1C61101FE89F021F889F3F7D321CB09D801C20355EC81C2BED75C89C1C21601F289D021F089D3F7D321FB09D801C1034DF081C12211906BC1C10701D189C821D089CBF7D321F309D801C7037DF481C7937198FDC1C70C01CF89F821C889FBF7D321D309D801C60375F881C68E4379A6C1C61101FE89F021F889F3F7D321CB09D801C20355FC81C22108B449C1C21601F289D021F889FBF7D321F309D801C1034DC481C162251EF6C1C10501D189C821F089F3F7D321D309D801C7037DD881C740B340C0C1C70901CF89F821D089D3F7D321CB09D801C60375EC81C6515A5E26C1C60E01FE89F021C889CBF7D321FB09D801C20355C081C2AAC7B6E9C1C21401F289D021F889FBF7D321F309D801C1034DD481C15D102FD6C1C10501D189C821F089F3F7D321D309D801C7037DE881C753144402C1C70901CF89F821D089D3F7D321CB09D801C60375FC81C681E6A1D8C1C60E01FE89F021C889CBF7D321FB09D801C20355D081C2C8FBD3E7C1C21401F289D021F889FBF7D321F309D801C1034DE481C1E6CDE121C1C10501D189C821F089F3F7D321D309D801C7037D"
$_MD5Opcode &= "F881C7D60737C3C1C70901CF89F821D089D3F7D321CB09D801C60375CC81C6870DD5F4C1C60E01FE89F021C889CBF7D321FB09D801C20355E081C2ED145A45C1C21401F289D021F889FBF7D321F309D801C1034DF481C105E9E3A9C1C10501D189C821F089F3F7D321D309D801C7037DC881C7F8A3EFFCC1C70901CF89F821D089D3F7D321CB09D801C60375DC81C6D9026F67C1C60E01FE89F021C889CBF7D321FB09D801C20355F081C28A4C2A8DC1C21401F289D031F031F801C1034DD481C14239FAFFC1C10401D189C831D031F001C7037DE081C781F67187C1C70B01CF89F831C831D001C60375EC81C622619D6DC1C61001FE89F031F831C801C20355F881C20C38E5FDC1C21701F289D031F031F801C1034DC481C144EABEA4C1C10401D189C831D031F001C7037DD081C7A9CFDE4BC1C70B01CF89F831C831D001C60375DC81C6604BBBF6C1C61001FE89F031F831C801C20355E881C270BCBFBEC1C21701F289D031F031F801C1034DF481C1C67E9B28C1C10401D189C831D031F001C7037DC081C7FA27A1EAC1C70B01CF89F831C831D001C60375CC81C68530EFD4C1C61001FE89F031F831C801C20355D881C2051D8804C1C21701F289D031F031F801C1034DE481C139D0D4D9C1C10401D189C831D031F001C7037DF081C7E599DBE6C1C70B01CF89F831C831D001C60375FC81C6F87CA21FC1C61001FE89F031F831C801C20355C881C26556ACC4C1C21701F289F8F7D009D031F001C1034DC081C1442229F4C1C10601D189F0F7D009C831D001C7037DDC81C797FF2A43C1C70A01CF89D0F7D009F831C801C60375F881C6A72394ABC1C60F01FE89C8F7D009F031F801C20355D481C239A093FCC1C21501F289F8F7D009D031F001C1034DF081C1C3595B65C1C10601D189F0F7D009C831D001C7037DCC81C792CC0C8FC1C70A01CF89D0F7D009F831C801C60375E881C67DF4EFFFC1C60F01FE89C8F7D009F031F801C20355C481C2D15D8485C1C21501F289F8F7D009D031F001C1034DE081C14F7EA86FC1C10601D189F0F7D009C831D001C7037DFC81C7E0E62CFEC1C70A01CF89D0F7D009F831C801C60375D881C6144301A3C1C60F01FE89C8F7D009F031F801C20355F481C2A111084EC1C21501F289F8F7D009D031F001C1034DD081C1827E53F7C1C10601D189F0F7D009C831D001C7037DEC81C735F23ABDC1C70A01CF89D0F7D009F831C801C60375C881C6BBD2D72AC1C60F01FE89C8F7D009F031F801C20355E481C291D386EBC1C21501F28B4508010801500401700801780C5F5E5BC9C20800C814000053E840000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008F45EC8B5D0C6A088D4310508D"
$_MD5Opcode &= "45F850E8510000008B4310C1E80383E03F8945F483F838730B6A38582B45F48945F0EB096A78582B45F48945F0FF75F0FF75ECFF750CE831F8FFFF6A088D45F850FF750CE823F8FFFF6A1053FF7508E8050000005BC9C210005589E55156578B7D088B750C8B4D10FCF3A45F5E595DC20C00"HotKeySet("^q", "_end")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("^n", "_new_p")
HotKeySet("^a", "_stringlist")#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]Global $AnzItems, $item[999999][5], $items[9999999]
[/autoit] [autoit][/autoit] [autoit]
Global $BrowserConst $ConfigPath=@ScriptDir & "\ini\config.ini"
[/autoit] [autoit][/autoit] [autoit]
Const $StringPath=@ScriptDir & "\ini\string.trf"
Const $VersionPath=@ScriptDir & "\ini\version.ini"
Const $ChangelogPath=@ScriptDir & "\changelog.txt"
Const $PassPath=@ScriptDir & "\ini\pass.ini"FileDelete("Updates\*.*")
[/autoit] [autoit][/autoit] [autoit]If Not FileExists("\ini") Then DirCreate(@ScriptDir & "\ini")
[/autoit] [autoit][/autoit] [autoit];~ If Not FileExists("\Updates") Then DirCreate(@ScriptDir & "\Updates")
[/autoit] [autoit][/autoit] [autoit]If Not FileExists($StringPath) Then
[/autoit] [autoit][/autoit] [autoit]
FileWrite($StringPath, "String, Pfad zum Ordner, EXE Datei, Name*")
FileWriteLine($StringPath, "")
EndIfIf Not FileExists($ConfigPath) Then
[/autoit] [autoit][/autoit] [autoit]
IniWrite($ConfigPath, "Transparenz", "Tranz", 100)
IniWrite($ConfigPath, "Anzahl", "Anzahl", 0)
IniWrite($ConfigPath, "Language", "Lang", "German")
IniWrite($ConfigPath, "Checks", "Update", "1")
IniWrite($ConfigPath, "Checks", "Passwort", "1")
IniWrite($ConfigPath, "Checks", "Transmeldung", "1")
IniWrite($ConfigPath, "Checks", "WinMove", "1")
EndIf$Language=IniRead($ConfigPath, "Language", "Lang", "")
[/autoit] [autoit][/autoit] [autoit]
$Langpath=@ScriptDir & "\lang\"&$language&"\lang_"&$language&".ini"If Not FileExists($Langpath) Then
[/autoit] [autoit][/autoit] [autoit]
If $Language="German" Then
MsgBox(16, "Fehler Language Datei nicht gefunden!", "Die Language File '"&$Language&"' wurde nicht gefunden. Das Programm wird daher geschlossen!")
EMail()
ElseIf $Language="English" Then
MsgBox(16, "Error Language File not found!", "The Language File '"&$Language&"' was not found. Programm was closed!")
EndIf
Exit
EndIfIf Not FileExists($PassPath) Then
[/autoit] [autoit][/autoit] [autoit]
$pass=InputBox(IniRead($LangPath, $Language, "password", "password"), IniRead($LangPath, $Language, "pls_password", "pls_password"), "", "*")
IniWrite($PassPath, "Passwort", "Passwort", _MD5($pass))
Else
If IniRead($ConfigPath, "Checks", "Passwort", "")=1 Then
; Prüfe ob Angabe richtig
$res = InputBox(IniRead($LangPath, $Language, "password", "password"),IniRead($LangPath, $Language, "pls_password", "pls_password"),'','*')
If IniRead($PassPath, "Passwort", "Passwort", "nix") <> _MD5($res) then
MsgBox(16, IniRead($LangPath, $Language, "bad_password", "bad_password"), IniRead($LangPath, $Language, "bad_password1", "bad_password"))
Exit
EndIf
EndIf
EndIfdataload()
[/autoit] [autoit][/autoit] [autoit]
#Region ### START Koda GUI section ### Form=Language wird hier meistens benutzt
$MainWindow = GUICreate("", @DesktopWidth, 5, 0, 0, BitOR($WS_SYSMENU,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS, $WS_EX_TOOLWINDOW), BitOr($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
WinSetTrans($MainWindow, "", IniRead($ConfigPath, "Transparenz", "Tranz", 0) * 2.55);~ String eingabe um Programm zu starten
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Stringl = GUICtrlCreateLabel(IniRead($LangPath, $Language, "string_label", "string_label"), 0, 0, 120, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor($Stringl, $GUI_BKCOLOR_TRANSPARENT)
$eingabe = GUICtrlCreateInput(IniRead($LangPath, $Language, "string_input", "string_input"), 120, 0, 121, 21);~ Menü aufbauen
[/autoit] [autoit][/autoit] [autoit]
;~~ Menü "Optionen"
$options = GUICtrlCreateMenu(IniRead($LangPath, $Language, "mainmenu", "mainmenu"))
$new_programm = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "new_programm", "new_programm"), $options)
_GUICtrlODMenuItemSetIcon($new_programm, @ScriptDir & "\gfx\add_programm.ico") ;~ Icon zuweissen
_SetMenuIconBkColor(0xFFFFFF)
_SetMenuBkColor(0xFFFFFF)$programmlistshow = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "specified", "specified"), $options)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlODMenuItemSetIcon($programmlistshow, @ScriptDir & "\gfx\stringlist.ico") ;~ Icon zuweissenGUICtrlCreateMenuItem("", $options)
[/autoit] [autoit][/autoit] [autoit]
$closed = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "closed", "closed"), $options)
_GUICtrlODMenuItemSetIcon($closed, @ScriptDir & "\gfx\closed.ico") ;~ Icon zuweissen;~~ Menü "Einstellungen"
[/autoit] [autoit][/autoit] [autoit]
$options = GUICtrlCreateMenu(IniRead($LangPath, $Language, "options", "options"))
$optionsedit= _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "options", "options"), $options)
_GUICtrlODMenuItemSetIcon($optionsedit, @ScriptDir & "\gfx\options.ico") ;~ Icon zuweissen
;GUICtrlSetState(-1, $GUI_DISABLE);~~ Menü "Help"
[/autoit] [autoit][/autoit] [autoit]
$help = GUICtrlCreateMenu(IniRead($LangPath, $Language, "help", "help"))
$link1 = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "homepage", "homepage"), $help)
_GUICtrlODMenuItemSetIcon($link1, @ScriptDir & "\gfx\homepage.ico") ;~ Icon zuweissen$link2 = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "board", "board"), $help)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlODMenuItemSetIcon($link2, @ScriptDir & "\gfx\board.ico") ;~ Icon zuweissen$changelog = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "changelog_read", "changelog_read"), $help)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlODMenuItemSetIcon($changelog, @ScriptDir & "\gfx\changelog.ico") ;~ Icon zuweissen$updatecheck = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "update_check", "update_check"), $help)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlODMenuItemSetIcon($updatecheck, @ScriptDir & "\gfx\ucheck.ico") ;~ Icon zuweissen
GUICtrlSetState(-1, $GUI_DISABLE)GUICtrlCreateMenuItem("", $help)
[/autoit] [autoit][/autoit] [autoit]
$email = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "email-send", "email_send"), $help)
_GUICtrlODMenuItemSetIcon($email, @ScriptDir & "\gfx\email.ico") ;~ Icon zuweissen$other = _GUICtrlCreateODMenuItem(IniRead($LangPath, $Language, "other", "other"), $help)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_GUICtrlODMenuItemSetIcon($other, @ScriptDir & "\gfx\other.ico") ;~ Icon zuweissen;~ Slider erstellen und Label mit Slider umstellen
[/autoit] [autoit][/autoit] [autoit]
$Slider = GUICtrlCreateSlider(608, 0, 118, 21)
GUICtrlSetLimit(-1, 100, 15)
GUICtrlSetData($slider, 100);~ Tranzparenz aus Ini laden und $Slider einstellen
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($Slider, IniRead($ConfigPath, "Transparenz", "Tranz", 0))
$trans = GUICtrlCreateLabel(IniRead($LangPath, $Language, "transparency", "transpareny"), 512, 0, 94, 22)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetBkColor($trans, $GUI_BKCOLOR_TRANSPARENT)
$transprozent = GUICtrlCreateLabel("0%", 728, 0, 38, 19)
GUICtrlSetFont(-1, 9, 400, 0, "Arial")
GUICtrlSetBkColor($transprozent, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetData($transprozent, "100%");~ Tranzparenz aus Ini laden und $tranzprozent einstellen
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetData($transprozent, IniRead($ConfigPath, "Transparenz", "Tranz", 0)&"%");~ Start Button um Programm mit dem eingegebenen String zu starten
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$start = GUICtrlCreateButton(IniRead($LangPath, $Language, "start", "start"), 248, 0, 75, 25, $WS_GROUP)GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]
#EndRegion ### END Koda GUI section ###;********************************************************************************************
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; Programmliste zeigen mit String zugehörigkeit
;********************************************************************************************$programmlist = GUICreate("", 281, 460, 0, 45, BitOR($WS_SYSMENU,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS, $WS_EX_TOOLWINDOW), BitOr($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
$listviewbk = GUICtrlCreateLabel("", 0, 0, 276, 428)
GUICtrlSetState(-1, $GUI_DISABLE)
$listview = GUICtrlCreateListView(IniRead($LangPath, $Language, "string", "string")&"|"&IniRead($LangPath, $Language, "name", "name"), 0, 0, 273, 425)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 100)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 150)$programmlistclose = GUICtrlCreateButton(IniRead($LangPath, $Language, "window_close", "window_close"), 176, 432, 99, 25, $WS_GROUP)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$programmlistaktu = GUICtrlCreateButton(IniRead($LangPath, $Language, "update", "update"), 0, 432, 75, 25, $WS_GROUP)
$auswahl_delete = GUICtrlCreateButton(IniRead($LangPath, $Language, "string_delete", "string_delete"), 80, 432, 91, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DISABLE);********************************************************************************************
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; "Neues Programm einfügen" Fenster öffnen
;********************************************************************************************$programme = GUICreate("", 286, 187, 0, 45, BitOR($WS_SYSMENU,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS, $WS_EX_TOOLWINDOW), BitOr($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
[/autoit] [autoit][/autoit] [autoit]
$Label1 = GUICtrlCreateLabel(IniRead($LangPath, $Language, "name_programm", "name_programm"), 8, 8, 143, 17)
$Label2 = GUICtrlCreateLabel(IniRead($LangPath, $Language, "path_to_folder", "path_to_folder"), 64, 40, 86, 17)
$Label3 = GUICtrlCreateLabel(IniRead($LangPath, $Language, "enter_string_one", "enter_string_one"), 72, 112, 81, 17)
$Label4 = GUICtrlCreateLabel(IniRead($LangPath, $Language, "path_to_folder", "path_to_folder"), 48, 72, 98, 17)
$Label5 = GUICtrlCreateLabel(IniRead($LangPath, $Language, "sample", "sample"), 72, 88, 79, 17)$gamename = GUICtrlCreateInput(IniRead($LangPath, $Language, "insert_name", "insert_name"), 160, 8, 121, 21)
[/autoit] [autoit][/autoit] [autoit]
$programm1 = GUICtrlCreateInput(IniRead($LangPath, $Language, "specifying_path", "specifying_path"), 160, 40, 121, 21)
$exedata = GUICtrlCreateInput(IniRead($LangPath, $Language, "sample_exe", "sample_exe"), 160, 80, 121, 21, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL))
$Wort1 = GUICtrlCreateInput(IniRead($LangPath, $Language, "current_string", "current_string"), 160, 112, 121, 21)
$stringgen = GUICtrlCreateButton(IniRead($LangPath, $Language, "generate_string", "generate_string"), 0, 136, 99, 25, $WS_GROUP)
$tutorial = GUICtrlCreateButton(IniRead($LangPath, $Language, "tutorial", "tutorial"), 104, 136, 75, 25, $WS_GROUP)
$programmesave = GUICtrlCreateButton(IniRead($LangPath, $Language, "save", "save"), 104, 160, 75, 25, $WS_GROUP)
$programmeclose = GUICtrlCreateButton(IniRead($LangPath, $Language, "window_close", "window_close"), 184, 136, 99, 25, $WS_GROUP);********************************************************************************************
[/autoit] [autoit][/autoit] [autoit]
; "Changelog" Fenster öffnen
;********************************************************************************************$changelogwindow = GUICreate("Changelog", 405, 445, 302, 218)
[/autoit] [autoit][/autoit] [autoit]
$changlogedit = GUICtrlCreateEdit("", 0, 0, 401, 441, BitOR($ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_VSCROLL));********************************************************************************************
[/autoit] [autoit][/autoit] [autoit]
; Other Menü Aufbauen und GUI Erzeugen
;********************************************************************************************$othermenu = GUICreate(IniRead($LangPath, $Language, "other_string_starter", "other_string_starter"), 400, 90, 302, 220)
[/autoit] [autoit][/autoit] [autoit]
$PageControl = GUICtrlCreateTab(0, 0, 396, 88)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
$otherss = GUICtrlCreateTabItem(IniRead($LangPath, $Language, "other_string_starter", "other_string_starter"))
GUICtrlSetState(-1,$GUI_SHOW)
$createdlabel = GUICtrlCreateLabel(IniRead($LangPath, $Language, "created", "created") & " AutoIt", 8, 32, 195, 24)
GUICtrlSetFont(-1, 15, 400, 0, "Aharoni")
GUICtrlSetBkColor(-1, 0xFFFFFF)
$writtenlabel = GUICtrlCreateLabel(IniRead($LangPath, $Language, "written", "written") & " Tak", 8, 56, 149, 24)
GUICtrlSetFont(-1, 15, 400, 0, "Aharoni")
GUICtrlSetBkColor(-1, 0xFFFFFF)
$idea = GUICtrlCreateTabItem(IniRead($LangPath, $Language, "idea", "idea"))
$idealable = GUICtrlCreateLabel(IniRead($LangPath, $Language, "idea_by", "idea_by") & " Strom666", 48, 32, 274, 42)
GUICtrlSetFont(-1, 20, 400, 0, "Arial Black")
GUICtrlCreateTabItem("");*******************************************************************************************
[/autoit] [autoit][/autoit] [autoit]
; Options Fenster aufbauen
;*******************************************************************************************$optionswindow = GUICreate("", 286, 187, 0, 45, BitOR($WS_SYSMENU,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS, $WS_EX_TOOLWINDOW), BitOr($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
[/autoit] [autoit][/autoit] [autoit]
$optionsl = GUICtrlCreateLabel(IniRead($LangPath, $Language, "options", "options"), 8, 8, 273, 26)
GUICtrlSetFont(-1, 14, 400, 4, "Arial")
$winmove = GUICtrlCreateCheckbox(IniRead($LangPath, $Language, "checkboxes", "checkboxes"), 192, 40, 97, 17)
$updatecheckc = GUICtrlCreateCheckbox(IniRead($LangPath, $Language, "checkboxes", "checkboxes"), 192, 64, 97, 17)
GUICtrlSetState(-1, $GUI_DISABLE)
$passcheckc = GUICtrlCreateCheckbox(IniRead($LangPath, $Language, "checkboxes", "checkboxes"), 192, 88, 97, 17)
$tranzcheckc = GUICtrlCreateCheckbox(IniRead($LangPath, $Language, "checkboxes", "checkboxes"), 192, 112, 97, 17)
checks()
$speak = GUICtrlCreateCombo($Language , 192, 136, 97, 25)
Local $file_A = _fileList(@ScriptDir & "\lang\", "*", 0)
Local $a_A = _ArrayToString($file_A, "|")
GUICtrlSetData($speak, $a_A)
$winmovel = GUICtrlCreateLabel(IniRead($LangPath, $Language, "winmove_lable", "winmove_lable"), 8, 40, 150, 17)
$updatecheckl = GUICtrlCreateLabel(IniRead($LangPath, $Language, "update_lable", "update_lable"), 8, 64, 150, 17)
$passcheckl = GUICtrlCreateLabel(IniRead($LangPath, $Language, "password_lable", "passwort_lable"), 8, 88, 168, 17)
$tranzparentl = GUICtrlCreateLabel(IniRead($LangPath, $Language, "transpareny_lable", "transpareny_lable"), 8, 112, 165, 17)
$speakl = GUICtrlCreateLabel(IniRead($LangPath, $Language, "speak_lable", "speak_lable"), 8, 136, 47, 17)
$savedoptions = GUICtrlCreateButton(IniRead($LangPath, $Language, "save", "save"), 8, 160, 75, 25, $WS_GROUP)
$optionsclosed = GUICtrlCreateButton(IniRead($LangPath, $Language, "window_close", "window_close"), 96, 160, 107, 25, $WS_GROUP);~ GUI Transparenz aus Ini laden und einstellen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WinSetTrans($programmlist, "", IniRead($ConfigPath, "Transparenz", "Tranz", 0) * 2.55)
WinSetTrans($optionswindow, "", IniRead($ConfigPath, "Transparenz", "Tranz", 0) * 2.55)
WinSetTrans($programme, "", IniRead($ConfigPath, "Transparenz", "Tranz", 0) * 2.55);********************************************************************************************
[/autoit] [autoit][/autoit] [autoit]
; Eigendlicher Code beginnt hier!
;********************************************************************************************While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
;~ GUI wie Taskleiste einklappen
If IniRead($ConfigPath, "Checks", "WinMove", "1")=1 Then
$WPos = WinGetPos($MainWindow)
$MPos = MouseGetPos()
If ($MPos[0] >= $WPos[0]) And ($MPos[0] <= ($WPos[0] + $WPos[2])) And ($MPos[1] >= $WPos[1]) And ($MPos[1] <= ($WPos[1] + $WPos[3])) Then
WinSetOnTop($MainWindow, "", 1)
WinMove($MainWindow, "", 0, 0, @DesktopWidth, 45, 3)
Else
WinSetOnTop($MainWindow, "", 1)
WinMove($MainWindow, "", 0, 0, @DesktopWidth, 5, 3)
EndIf
Else
WinSetOnTop($MainWindow, "", 1)
WinMove($MainWindow, "", 0, 0, @DesktopWidth, 45, 3)
EndIf
[/autoit] [autoit][/autoit] [autoit]
;~ Eingegebenen String mit Ini Einträgen abgleichen und Programm starten
If $msg=$start Then
dataload()
For $i=1 to $AnzItems
If GUICtrlRead($eingabe)==$item[$i][0] Then
ShellExecute($item[$i][1] & $item[$i][2], "", $item[$i][1])
EndIf
Next
EndIf
;~ Stringangaben Zeigen
If $msg=$programmlistshow Then
dataload()
GUISetState(@SW_SHOW, $programmlist)
$Read=GUICtrlRead($Slider)
For $i=1 to $Read Step 1
WinSetTrans($programmlist, "", $i * 2.55)
Sleep(10)
Next
Sleep(100)
For $i=1 to $AnzItems
GUICtrlDelete($items[$i])
$items[$i]=GUICtrlCreateListViewItem($item[$i][0]&"|"&$item[$i][3], $listview)
Next
EndIf
;~ Programmliste aktualisieren
If $msg=$programmlistaktu Then
dataload()
For $i=1 to $AnzItems
GUICtrlDelete($items[$i])
$items[$i]=GUICtrlCreateListViewItem($item[$i][0]&"|"&$item[$i][3], $listview)
Next
EndIf
If $msg=$auswahl_delete Then
EndIf
If $msg=$programmlistclose Then
$Read=GUICtrlRead($Slider)
For $i=$Read to 1 Step -1
WinSetTrans($programmlist, "", $i * 2.55)
Sleep(10)
Next
Sleep(10)
GUISetState(@SW_HIDE, $programmlist)
EndIf
;~ Neues Programm Hinzufügen Fenster öffnen
If $msg=$new_programm Then
GUISetState(@SW_SHOW, $programme)
$Read=GUICtrlRead($Slider)
For $i=1 to $Read Step 1
WinSetTrans($programme, "", $i * 2.55)
Sleep(10)
Next
EndIf;~ String Generieren
[/autoit] [autoit][/autoit] [autoit]
If $msg=$stringgen Then
$Zeichen = Random(3, 10)$Wort = ""
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 to $Zeichen
$Buchstabe = Random(65, 90) & Random(65, 90) & Random(65, 90) & Random(65, 90) & Random(65, 90) & Random(65, 90)
If $Buchstabe > 57 AND $Buchstabe < 65 OR $Buchstabe > 90 AND $Buchstabe < 97 Then
$i -= 1
Else
$Wort &= Chr($Buchstabe)
EndIf
Next
GUICtrlSetData($Wort1, $Wort)
EndIf;~ Programm mit String in ini Schreiben
[/autoit] [autoit][/autoit] [autoit]
If $msg=$programmesave Then
save()
EndIfIf $msg=$tutorial Then
[/autoit] [autoit][/autoit] [autoit]
tuthinweis()
EndIf;~ Neues Programm Hinzufügen Fenster schliessen
[/autoit] [autoit][/autoit] [autoit]
If $msg=$programmeclose Then
$Read=GUICtrlRead($Slider)
For $i=$Read to 1 Step -1
WinSetTrans($programme, "", $i * 2.55)
Sleep(10)
Next
Sleep(1000)
GUISetState(@SW_HIDE, $programme)
EndIf
;~ Options Fenster aufbauen
If $msg=$optionsedit Then
GUISetState(@SW_SHOW, $optionswindow)
$Read=GUICtrlRead($Slider)
For $i=1 to $Read
WinSetTrans($optionswindow, "", $i * 2.55)
Sleep(10)
Next
Sleep(1000)
If GUICtrlRead($updatecheckc)=$GUI_UNCHECKED Then
MsgBox(16, IniRead($LangPath, $Language, "update_check", "update_check"), IniRead($LangPath, $Language, "update_check_false", "update_check_false"))
EndIf
EndIfIf $msg=$savedoptions Then
[/autoit] [autoit][/autoit] [autoit]
saveo()
MsgBox(64, "Gespeichert", "Änderungen wurden gespeichert")
EndIf;~ Options Fenster schliessen
[/autoit] [autoit][/autoit] [autoit]
If $msg=$optionsclosed Then
$Read=GUICtrlRead($Slider)
For $i=$Read to 1 Step -1
WinSetTrans($optionswindow, "", $i * 2.55)
Sleep(10)
Next
Sleep(1000)
saveo()
GUISetState(@SW_HIDE, $optionswindow)
EndIfIf $msg=$link1 Then
[/autoit] [autoit][/autoit] [autoit]
GoLink1()
EndIf
If $msg=$link2 Then
GoLink2()
EndIf
If $msg=$email Then
email()
EndIf
;~ Changelog Fenster öffnen
If $msg=$changelog Then
$changelogedit ="=========================================================================="&@CRLF
$changelogedit &=" String Starter - Programm Changelog"&@CRLF
$changelogedit &=" Copyright (c) by Tak"&@CRLF
$changelogedit &=" E-Mail: tak90@gmx.de"&@CRLF
$changelogedit &="==============================================================================="&@CRLF
$changelogedit &=" + Neues Feature oder änderungen"&@CRLF
$changelogedit &=" - Bug fix oder entfernungen"&@CRLF
$changelogedit &=" # Neues Feature geplant"&@CRLF
$changelogedit &=" * Änderung an informationen"&@CRLF
$changelogedit &=" ! Wichtig - Bitte Lesen!"&@CRLF
$changelogedit &="==============================================================================="&@CRLF&@CRLF
GUISetState(@SW_SHOW, $changelogwindow)
$Read=GUICtrlRead($Slider)
For $i=1 to $Read Step 1
WinSetTrans($changelogwindow, "", $i * 2.55)
Sleep(10)
Next
Sleep(10)
If Not FileExists($ChangelogPath) Then
GUICtrlSetData($changelogedit, "No Changelog File Found!!!")
Else
GUICtrlSetData($changlogedit, $changelogedit & FileRead($ChangelogPath))
EndIf
EndIf
;~ Changelog Fenster schliessen
If $msg=$GUI_EVENT_CLOSE Then
$Read=GUICtrlRead($Slider)
For $i=$Read to 1 Step -1
WinSetTrans($changelogwindow, "", $i * 2.55)
Sleep(10)
Next
Sleep(10)
GUISetState(@SW_HIDE, $changelogwindow)
EndIf
;~ Other Fenster öffnen
If $msg=$other Then
GUISetState(@SW_SHOW, $othermenu)
$Read=GUICtrlRead($Slider)
For $i=1 to $Read Step 1
WinSetTrans($othermenu, "", $i * 2.55)
Sleep(10)
Next
Sleep(100)
EndIf
;~ Other Fenster schliessen
If $msg=$GUI_EVENT_CLOSE Then
$Read=GUICtrlRead($Slider)
For $i=$Read to 1 Step -1
WinSetTrans($othermenu, "", $i * 2.55)
Sleep(10)
Next
Sleep(100)
GUISetState(@SW_HIDE, $othermenu)
EndIf;~ Transparent Slider Lesen und Transparenz einstellen
[/autoit] [autoit][/autoit] [autoit]
If $msg=$Slider Then
$Read=GUICtrlRead($Slider)
WinSetTrans($MainWindow, "", $Read * 2.55)
WinSetTrans($programmlist, "", $Read * 2.55)
WinSetTrans($programme, "", $Read * 2.55)
WinSetTrans($optionswindow, "", $Read * 2.55)
GUICtrlSetData($transprozent, 100/100*$Read&"%")
EndIf;~ String Starter schliessen und Werte in ini Speichern
[/autoit] [autoit][/autoit] [autoit]
If $msg=$closed Then
$Read=GUICtrlRead($Slider)
For $i=$Read to 1 Step -1
WinSetTrans($MainWindow, "", $i * 2.55)
WinSetTrans($programmlist, "", $i * 2.55)
WinSetTrans($programme, "", $i * 2.55)
WinSetTrans($othermenu, "", $i * 2.55)
WinSetTrans($optionswindow, "", $i * 2.55)
Sleep(10)
Next
Sleep(100)
IniWrite($ConfigPath, "Transparenz", "Tranz", GUICtrlRead($Slider))
ConsoleWrite("Transparenz wurde auf "&GUICtrlRead($Slider)&"% gespeichert"&@CRLF)
If IniRead($ConfigPath, "Checks", "Transmeldung", "")=1 Then
MsgBox(64, IniRead($LangPath, $Language, "trans_check", "trans_check"), IniRead($LangPath, $Language, "trans_message_one", "trans_message")&" "&GUICtrlRead($Slider)&"% "&IniRead($LangPath, $Language, "trans_message_two", "trans_message"))
EndIf
Exit
EndIf
WEnd;~ tutorial hinweis
[/autoit] [autoit][/autoit] [autoit]
Func tuthinweis()
$tut=FileRead(@ScriptDir & "\lang\"&$language&"\tut_"&$language&".txt")
If Not FileExists(@ScriptDir & "\lang\"&$language&"\tut_"&$language&".txt") Then
MsgBox(64,IniRead($LangPath, $Language, "tutorial_h", "tutorial_h"), "tut file not found!")
Else
MsgBox(64,IniRead($LangPath, $Language, "tutorial_h", "tutorial_h"), $tut)
EndIf
EndFunc;~ Checks für Optionen
[/autoit] [autoit][/autoit] [autoit]
Func checks()
If IniRead($ConfigPath, "Checks", "WinMove", "1")=1 Then
GUICtrlSetState($winmove, $GUI_CHECKED)
Else
GUICtrlSetState($winmove, $GUI_UNCHECKED)
EndIf
If IniRead($ConfigPath, "Checks", "Update", "1")=1 Then
GUICtrlSetState($updatecheckc, $GUI_CHECKED)
Else
GUICtrlSetState($updatecheckc, $GUI_UNCHECKED)
EndIf
If IniRead($ConfigPath, "Checks", "Passwort", "1")=1 Then
GUICtrlSetState($passcheckc, $GUI_CHECKED)
Else
GUICtrlSetState($passcheckc, $GUI_UNCHECKED)
EndIf
If IniRead($ConfigPath, "Checks", "Transmeldung", "1")=1 Then
GUICtrlSetState($tranzcheckc, $GUI_CHECKED)
Else
GUICtrlSetState($tranzcheckc, $GUI_UNCHECKED)
EndIf
EndFunc;~ Speichern von den Optionen
[/autoit] [autoit][/autoit] [autoit]
Func saveo()
If GUICtrlRead($winmove)=$GUI_CHECKED Then
IniWrite($ConfigPath, "Checks", "WinMove", "1")
Else
IniWrite($ConfigPath, "Checks", "WinMove", "0")
EndIf
If GUICtrlRead($updatecheckc)=$GUI_CHECKED Then
IniWrite($ConfigPath, "Checks", "Update", "1")
Else
IniWrite($ConfigPath, "Checks", "Update", "0")
EndIf
If GUICtrlRead($passcheckc)=$GUI_CHECKED Then
IniWrite($ConfigPath, "Checks", "Passwort", "1")
Else
IniWrite($ConfigPath, "Checks", "Passwort", "0")
EndIf
If GUICtrlRead($tranzcheckc)=$GUI_CHECKED Then
IniWrite($ConfigPath, "Checks", "Transmeldung", "1")
Else
IniWrite($ConfigPath, "Checks", "Transmeldung", "0")
EndIf
IniWrite($ConfigPath, "Language", "Lang", GUICtrlRead($speak))
EndFunc;~ daten aus der String.tft laden
[/autoit] [autoit][/autoit] [autoit]
Func dataload()
$File=FileOpen($StringPath, 0)
$AnzItems=IniRead($ConfigPath, "Anzahl", "Anzahl", "")
FileReadLine($file)
For $i=1 to $AnzItems
For $z=0 to 4
$item[$i][$z]=FileReadLine($file)
Next
Next
FileClose($file)
EndFunc;~ Neues Programm einfügen Fenster in den Vordergrund holen
[/autoit] [autoit][/autoit] [autoit]
Func _new_p()
GUISetState(@SW_SHOW, $programme)
$Read=GUICtrlRead($Slider)
For $i=1 to $Read Step 1
WinSetTrans($programme, "", $i * 2.55)
Sleep(10)
Next
EndFunc;~ String Angaben Fenster in den Vordergrund holen wenn STRG+A gedrückt wurde
[/autoit] [autoit][/autoit] [autoit]
Func _stringlist()
dataload()
GUISetState(@SW_SHOW, $programmlist)
$Read=GUICtrlRead($Slider)
For $i=1 to $Read Step 1
WinSetTrans($programmlist, "", $i * 2.55)
Sleep(10)
Next
Sleep(100)
For $i=1 to $AnzItems
GUICtrlDelete($items[$i])
$items[$i]=GUICtrlCreateListViewItem($item[$i][0]&"|"&$item[$i][3], $listview)
Next
EndFunc;~ _end ausführen wenn STRG+Q gedrückt wird
[/autoit] [autoit][/autoit] [autoit]
Func _end()
IniWrite($ConfigPath, "Transparenz", "Tranz", GUICtrlRead($Slider))
$Read=GUICtrlRead($Slider)
For $i=$Read to 1 Step -1
WinSetTrans($MainWindow, "", $i * 2.55)
WinSetTrans($programmlist, "", $i * 2.55)
WinSetTrans($programme, "", $i * 2.55)
WinSetTrans($othermenu, "", $i * 2.55)
WinSetTrans($optionswindow, "", $i * 2.55)
Sleep(10)
Next
Sleep(100)
ConsoleWrite("Transparenz wurde auf "&GUICtrlRead($Slider)&"% gespeichert"&@CRLF)
If IniRead($ConfigPath, "Checks", "Transmeldung", "")=1 Then
$yesno=MsgBox(68, IniRead($LangPath, $Language, "trans_check", "trans_check"), IniRead($LangPath, $Language, "trans_message_one", "trans_message")&" "&GUICtrlRead($Slider)&"% "&IniRead($LangPath, $Language, "trans_message_two", "trans_message")&@CRLF&IniRead($LangPath, $Language, "trans_message_three", "trans_message"))
If $yesno=7 Then
IniWrite($ConfigPath, "Checks", "Transmeldung", "0")
EndIf
EndIf
Exit
EndFunc;*******************************************
[/autoit] [autoit][/autoit] [autoit]
; Speicher Funktion für neues Programm
;*******************************************Func save()
[/autoit] [autoit][/autoit] [autoit]
$dateiinhalt=FileRead($StringPath)
$array1=stringsplit($dateiinhalt,@crlf,3)
$reg=IniRead($ConfigPath, "Anzahl", "Anzahl",0)
$array=number($reg)+1
IniWrite($ConfigPath, "Anzahl", "Anzahl", $array)
$dateiinhalt=_ArrayToString($array1,@crlf)
filedelete($StringPath)
FileWrite($StringPath, $dateiinhalt)
FileWriteLine($StringPath, GUICtrlRead($Wort1))
FileWriteLine($StringPath, GUICtrlRead($programm1))
FileWriteLine($StringPath, GUICtrlRead($exedata))
FileWriteLine($StringPath, GUICtrlRead($gamename))
FileWriteLine($StringPath, "*")
$s=GUICtrlRead($gamename)
$u=GUICtrlRead($Wort1)
MsgBox(0, IniRead($LangPath, $Language, "new_string_h", "new_string_header"), IniRead($LangPath, $Language, "new_string_message_one", "new_string_message_one")&GUICtrlRead($gamename)&IniRead($LangPath, $Language, "new_string_message_two", "new_string_message_two")&GUICtrlRead($Wort1)&IniRead($LangPath, $Language, "new_string_message_three", "new_string_message_three"))
EndFunc;********************************************
[/autoit] [autoit][/autoit] [autoit]
; Browser erstellen und öffnen!
;********************************************
Func GoLink1()
$Browser="http://autoit.de"
Browsen()
EndFuncFunc GoLink2()
[/autoit] [autoit][/autoit] [autoit]
$Browser="http://autoit.de/index.php?page=Thread&postID=135535&highlight=#post135535"
Browsen()
EndFuncFunc Browsen()
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Browser)
EndFuncFunc EMail()
[/autoit] [autoit][/autoit] [autoit]
_INetMail("tak90@gmx.de", "Fehler/Hinweis melden", "")
EndFunc
;*******************************************************
; MD5 Code
;*******************************************************
; MD5-Funktion um einen String mit MD5 zu verschlüsseln
;*******************************************************Func _MD5($Data)
[/autoit] [autoit][/autoit] [autoit]
Local $CodeBuffer = DllStructCreate("byte[" & BinaryLen($_MD5Opcode) & "]")
DllStructSetData($CodeBuffer, 1, $_MD5Opcode)Local $Input = DllStructCreate("byte[" & BinaryLen($Data) & "]")
[/autoit] [autoit][/autoit] [autoit]
DllStructSetData($Input, 1, $Data)Local $Digest = DllStructCreate("byte[16]")
[/autoit] [autoit][/autoit] [autoit]DllCall("user32.dll", "none", "CallWindowProc", "ptr", DllStructGetPtr($CodeBuffer), _
[/autoit] [autoit][/autoit] [autoit]
"ptr", DllStructGetPtr($Input), _
"int", BinaryLen($Data), _
"ptr", DllStructGetPtr($Digest), _
"int", 0)Local $Ret = DllStructGetData($Digest, 1)
[/autoit] [autoit][/autoit] [autoit]
$Input = 0
$Digest = 0
$CodeBuffer = 0
Return StringLower(StringTrimLeft($Ret, 2))
EndFunc ;==>_MD5Func _fileList($s_path = "C:\", $s_pattern = "*", $i_opt = 0)
[/autoit]
Local $result = _FileListToArray($s_path, $s_pattern, $i_opt)
If (Not IsArray($result)) and (@error = 1) Then
MsgBox(0, "", "No Folders Found.")
Exit
EndIf
Return $result
EndFunc ;==>_fileListUnd das was dann in der "\lang\German\lang_german.ini" steht
Spoiler anzeigen
[german]
; Passwörter :: Password
new_password=Neues Passwort
password=Passwort
pls_password=Bitte gib ein Passwort ein
bad_password=Falsches Passwort
bad_password1=Sie haben ein falsches Passwort eingegeben, Programm wird geschlossen!; String :: String
string_label=String Eingeben:
string_input=Bitte wählen; Hauptmenü :: Main Menu
mainmenu=Hauptmenü
new_programm=Neues Programm (STRG+N)
specified=String Angaben (STRG+A)
closed=Beenden (STRG+Q); Einstellungs Menü :: Options Menu
options=Einstellungen; Hilfe Menü :: Help Menu
help=Hilfe
homepage=AutoIt Website
board=Zum Forum Thema
email-send=E-Mail an den Entwickler
changelog_read=Changelog lesen
update_check=Auf Aktualisierung prüfen
other=Über String Starter; Transparenz :: Transparency
transparency=Sichtbarkeit; Starten :: Start
start=Starten; Fenster Schliessen :: Window Close
window_close=Fenster Schliessen; Transparent Meldung :: Transpareny message
trans_check=Transparenz Meldung!
trans_message_one=Transparenz wurde mit
trans_message_two=in die config.ini gespeichert!;**************************;Fenster Aufbau :: Window Buildings;***************************************;
; Programmlisten Menü :: Programmlist Menu
string=String
name=Name
update=Aktualisieren
string_delete=String löschen; Neues Programm Fenster :: New Programm Window
name_programm=Name des Programms/Spiels:
path_to_folder=Pfad zum Ordner:
enter_string_one=String eingeben:
file_type=EXE Datei Eingeben:
sample=(z.B. firefox.exe)
sample_exe=Datei (z.B. firefox.exe) angeben; Options Fenster :: Options Window
checkboxes=Standart: aktiv
winmove_lable=Fenster einklappen?:
update_lable=Auf Updates Prüfen?:
password_lable=Passwort beim Start Prüfen?:
transpareny_lable=Transparenz Meldung anzeigen?:
speak_lable=Sprache:; Input Felder :: Input fields
insert_name=Name Eintragen
specifying_path=Pfad Angeben
enter_string_two=String Eingeben
current_string=Aktueller String
generate_string=String Generieren
tutorial=Tutorial
tutorial_h=Tutorial Hinweis!
save=Speichern; Über String Starter :: Other String Starter
other_string_starter=Über String Starter
created=Erstellt mit:
written=Code by:
idea=Idee
idea_by=Idea by:; Programme einspeichern :: Programm saved
new_string_h=Neuer String gespeichert
new_string_message_one=Ihr String für das Programm/Spiel "
new_string_message_two=" lautet "
new_string_message_three=". Alle Strings können Sie nochmal über das Hauptmenü abrufen.; Updates :: Updates !!! UPDATE FUNKTION NICHT IMPLEMENTIERT !!!
update_check=Update Check
aktu_version=Sie benutzen die Aktuellste Version:
new_version=Neues Update Verfügbar
new_version_load=Ein neues Update ist Verfügbar! String Starter (Version:
new_version_load_two=) Soll das Programm auf den neusten Stand gebracht werden?
load_finish=Update geladen
install=Das Update wurde geladen und wird nun Installiert. Programm wird dazu geschlossen.
error=Fehler!
error_server=Konnte aktuelle Version nicht vom Aktualisierungsserver abfragen.dann hoffe ich mal das ich dies so etwas erklären konnte
-
Ich werds jetzt so machen
AutoIt
[autoit]$var = IniReadSection(@ScriptDir & "\lang.ini","DE")
[/autoit]
If @error Then
MsgBox(4096, "", "Es ist ein Fehler aufgetreten. Warscheinlich keine INI Datei vorhanden.")
Else
$basserror=$var[1][1]
MsgBox(0,"",$basserror)
EndIfUnd so
INI
[DE]
basserror=Sound konnte nicht Initialisiert werden!
lizenz1=Mit dem ausführen dieses Programms stimmen sie der aktuellen lizenz zu.
lizenz2=Wollen sie dieses Programm starten?
close=Schließen
playpause=Play|Pause
stop=Stop
andere Datei=Andere Datei
neue Bib=Neue Bibliothek
Lautstärke=Lautstärke
listtabs=Dateiname|Pfad
vorwärts=Vorwärts
playlistespeichern=Playliste speichern
playlisteladen=Playliste laden
JSoundöffnen=JSound öffnen
RCVL=Lautsprecher Rechts
LCVL=Lautsprecher Links
statbar1= INR-Multimediacenter gestartet
gespielt=Gerade gespielt:
urlangeben?!=Internetadresse angeben
urlinput=Bitte URL angeben
laden=Laden
senderHinzufügen=Sender Hinzufügen
opt=Optionen
statbar2= Konnte ID3-Tags nicht Lesen!
statbar3= Playliste gestartet
FOD1=MP3-Datei öffnen...
FOD2=Ordner wählen
FSD=Playliste Speichern...
FSD1.2=Playlisten (*.INRP)
FOD3=Playliste laden...
FOD3.2=Playlisten (*.INRP)
radioerror=Sie haben kein Radio ausgewählt!
input1=Bitte Sendernamen angeben
input1.2=Sendername
input2=Bitte Adresse angeben
input2.2=Adresse
senderaddfinisch=Sendername :
senderaddfinisch2="Senderadresse : "
senderaddfinisch3=Ist das Richtig?
senderaddanswer=Hinzugefügt
tagoutputerror=Konnte ID3-Tags nicht Lesen!
[EN]
[FR] -
Also ich erstelle immer INI-Dateien für jede Sprache (deutsch.ini, english.ini, ...) und in der INI-Datei, wo die Einstellungen des Programm gespeichert sind, wird dann beim Start die entsprechende INI-Sprachdatei gelesen.
-
Ich hatte mal ein Skript geschrieben, was AutoIt-Skripte im Nachhinein multilingualisiert, d.h., alle Strings in inis packt, etc.
Bin dabei aber leider kläglich gescheitert... (ist ne Weile her) -
Welchen Vorteil erhofft ihr euch von einer ini mit einer Section? Zumal man sowieso beim Startup alles auf einen Rutsch einlesen sollte.
Imho macht das keinen Sinn.Eine .txt Datei erfüllt die Aufgabe genauso gut und man hat die 32 bzw. 64 kb Beschränkung nicht.
-
Hab mal alles durchflogen und poste das:
mach doch mitGuiCtrlDelete(Control Id)
$Button1 = GuiCtrlCreateButton(....)BSP.:
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("test", 390, 208, -1, -1)
$Button1 = GUICtrlCreateButton("Tiskarna", 69, 24, 97, 41, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Zapnout", 69, 78, 97, 41, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Vypnout", 69, 133, 97, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlDelete($Button1); löscht den Button
$Button1 = GUICtrlCreateButton("text",69,24,97,41,$WS_GROUP); Erstellt einen Button mit deinem gewünschten text!
Case $Button2
GUICtrlDelete($Button2); löscht den Button
$Button2 = GUICtrlCreateButton("text",69,24,97,41,$WS_GROUP); Erstellt einen Button mit deinem gewünschten text!Case $Button3
[/autoit] [autoit][/autoit] [autoit]
GUICtrlDelete($Button3); löscht den Button
$Button3 = GUICtrlCreateButton("text",69,24,97,41,$WS_GROUP); Erstellt einen Button mit deinem gewünschten text!EndSwitch
[/autoit]
WEnd -
- Offizieller Beitrag
@bbm1995. Wieso willst du die Controls löschen und neue anlegen? Für was gibt es GUICtrlSetData ?
-
Also, ich habe mir eine schöne Translate-UDf geschrieben. Die werde ich bei Gelegenheit dokumentieren und veröffentlichen.
-
Raupi : hab gar ned gewusst, das GCSD auch für Buttons funktionieren
@progandy: na da werden wir uns freuen
-