Tratsch rund um Autoit / Autoit Talk | kleinere Fragen

03/20/2013 21:51 Achat#991
Quote:
Originally Posted by Kiinasu View Post
Ok, ich bin gerade extrem am scheitern. ich möchte ein programm, das überprüft, ob eine .txt datei leer ist, wenn ja, soll sie aus einer anderen .txt datei die erste zeile nehmen und die dort reinschreiben. das ganze sieht bissher so aus:


er nimmt zwar schon aus einer text datei die inetwa so aussieht:

die erste zeile und fügt die in die andere datei ein(wenn diese leer ist), aber lässt dann eine leere zeile in beiden .txt dateien über. die möchte ich aber nicht. hab schon einiges probiert, nichts hat so funktioniert, wie ich es wollte. jemand vll ne lösung, die mir helfen kann?
Einzeiler ForTheWin!
Code:
If Not StringLen(FileRead(@ScriptDir & '\1.txt.')) Then FileWrite(@ScriptDir & '\1.txt.', FileReadLine(@ScriptDir & '\2.txt', 1))
MfG
03/20/2013 22:01 Kiinasu#992
damit löscht er leider nicht die eben kopierte zeile auf 2.txt.
03/20/2013 22:12 Achat#993
Code:
If Not StringLen(FileRead(@ScriptDir & '\1.txt.')) Then
	FileWrite(@ScriptDir & '\1.txt.', FileReadLine(@ScriptDir & '\2.txt', 1))
	FileWrite(@ScriptDir & '\2_.txt', StringTrimLeft(FileRead(@ScriptDir & '\2.txt'), StringLen(FileReadLine(@ScriptDir & '\2.txt', 1)) + 2))
	FileMove(@ScriptDir & '\2_.txt', @ScriptDir & '\2.txt', 1)
EndIf
Jetzt aber ;)

MfG
03/22/2013 03:15 butter123#994
ich brauche einen unix timestamp. hab weder eine funktion noch eine dll gefunden...
03/22/2013 08:41 lolkop#995
Quote:
Originally Posted by butter123 View Post
ich brauche einen unix timestamp. hab weder eine funktion noch eine dll gefunden...
in der autoit hilfe gibt es zur _DateDiff funktion einen schönen beispielcode:
Quote:
Code:
#include <Date.au3>

; Calculated the number of seconds since EPOCH (1970/01/01 00:00:00)
Local $iDateCalc = _DateDiff('s', "1970/01/01 00:00:00", _NowCalc())
MsgBox(4096, "", "Number of seconds since EPOCH: " & $iDateCalc)
03/22/2013 23:12 playerXD97#996
Ich schon wieder ^^
Code:
HotKeySet("{F4}", "temp")

$Form1_ID = GUICreate("User-ID", 216, 152, -1, -1, BitOR($WS_SYSMENU,$WS_POPUP))
GUISetIcon("C:\Windows\System32\shell32.dll", -78)
GUISetBkColor(0x74A402)
Global $ID_In = GUICtrlCreateInput("", 47, 55, 121, 23, BitOR($GUI_SS_DEFAULT_INPUT,$ES_NUMBER))
GUICtrlSetLimit(-1, 8)
GUICtrlSetFont(-1, 8, 400, 0, "Gill Sans Ultra Bold Condensed")
$Label1 = GUICtrlCreateLabel("Bitte trage hier deine User-ID ein:", 9, 23, 197, 23, $SS_CENTER)
GUICtrlSetFont(-1, 10, 400, 0, "Gill Sans Ultra Bold Condensed")
$Button_OK = GUICtrlCreateButton("OK", 24, 103, 75, 25)
GUICtrlSetFont(-1, 10, 400, 0, "Gill Sans Ultra Bold Condensed")
$Button_Abbrechen = GUICtrlCreateButton("Abbrechen", 112, 103, 75, 25)
GUICtrlSetFont(-1, 10, 400, 0, "Gill Sans Ultra Bold Condensed")
GUISetState(@SW_SHOW)

While 1
   WinSetTrans("Fenster1", "", -1)
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $Button_OK
			If GuiCtrlRead($ID_In) < 10000 Then
				MsgBox(0,"Fehler","Bitte gültige User-ID eingeben")
			 ElseIf GUICtrlRead($ID_In) > 10000 Then
				IniWrite("temp.ini", "ID", "ID",GUICtrlRead($ID_In))
				GUIDelete ()
				WinSetTrans("Fenster1","", 0)
				ExitLoop				
				
			EndIf
		Case $Button_Abbrechen
			Exit
	EndSwitch
WEnd


____Hier kommt das nächste GUI und noch eine While die durch läuft. Hab ich jetzt mal weggelassen____
Func temp()
   Global $var = IniRead("temp.ini", "ID", "ID=", "")
   MsgBox(4096, "Ergebnis", $var)
   
   EndFunc
$var ist leer -.-
warum geht das nicht? Er ließt eine Variable außerhalb des Func nicht aus..
Bitte keine fragen zum Sinn^^
03/23/2013 01:37 butter123#997
$var = IniRead("temp.ini", "ID", "ID", "Value not found")
probier das mal. und arbeite lieber mit return anstatt einer globalen variable.
03/23/2013 09:31 Croco™#998
Quote:
Global $var = IniRead("temp.ini", "ID", "ID=", "")
Das "=" bei "ID=" wird automatisch von der Ini erstellt und dient nur der trennung zwischen dem Key (ID) und dem Wert (Alles hinter dem "=").
Du suchst also mit "ID=" nach einem Key der so aussieht: "ID==".
Lass das "=" einfach weg.
03/24/2013 12:36 Achat#999
[Only registered and activated users can see links. Click Here To Register...]

Für einen eigenen Thread in der AutoIt Sec ist es mir zu klein :|, deshalb poste ich es nochmal hier, Sourcecode ist enthalten.

MfG

MfG
03/24/2013 12:42 Croco™#1000
;) Hattest du mal wieder langeweile ?
Nette Idee aber ich bleibe lieber bei der alt bekannten Eieruhr :)
03/24/2013 22:41 Achat#1001
Für alle, die die WinHttp.au3 benutzen:

Code:
[noparse]
Func _HtmlUnicodeDecodeAll($sString)
	Local Static $sHTML = BinaryToString(InetRead('http://de.selfhtml.org/html/referenz/zeichen.htm'))
	Local $aRegExp = StringRegExp($sHTML, '<td class="doctop"><span class="unicode">&.+;</span></td>\r\n' & _
			'<td class="tabxpl">.+</td>\r\n' & _
			'<td class="code"><code>&(\w+);</code></td>\r\n' & _
			'<td class="code"><code>&#(\d+);</code></td>', 3)
	If UBound($aRegExp) < 2 Or Mod(UBound($aRegExp), 2) <> 0 Then Return SetError(1, 0, 0)
	For $i = 0 To UBound($aRegExp) - 2 Step 2
		$sString = StringReplace($sString, '&' & $aRegExp[$i] & ';', ChrW($aRegExp[$i + 1]), 0, 1)
		$sString = StringReplace($sString, '&#' & $aRegExp[$i + 1] & ';', ChrW($aRegExp[$i + 1]), 0, 1)
	Next
	Return $sString
EndFunc   ;==>_HtmlUnicodeDecodeAll
[/noparse]
Ersetzt alle Sonderzeichen-Tags wie z.B. ÄÖaéèÈ durch das eigentliche Zeichen

Mehr dazu hier: [Only registered and activated users can see links. Click Here To Register...]

Download: [Only registered and activated users can see links. Click Here To Register...]

MfG
03/25/2013 01:33 Croco™#1002
Coole Idee dass mit der Zeichentabelle von SelfHtml zu verknüpfen ;)
03/25/2013 14:37 Achat#1003
Quote:
Originally Posted by Croco™ View Post
Coole Idee dass mit der Zeichentabelle von SelfHtml zu verknüpfen ;)
Danke.
Alternativ dazu hätte ich einen 486 Elemente großen Array im Script speichern können.

Durch das Static muss die SelfHtml Seite nur beim ersten Funktionsaufruf geladen werden, zudem ist die Funktion damit auch immer aktuell.

MfG
03/25/2013 15:59 Requi#1004
Code:
Func decode($string)
	$decoded = ""
	$temp = StringToBinary($string,4)
	$temp = StringTrimLeft($temp,2)
	for $i = 1 to StringLen($temp) Step 2
		$decoded = $decoded & "%" & StringMid($temp,$i,2)
	Next
	Return $decoded
EndFunc
So hat es TheAldi gemacht :D
Funzt eigentlich auch
03/25/2013 16:02 Achat#1005
Quote:
Originally Posted by »AppleJack™ View Post
Code:
Func decode($string)
	$decoded = ""
	$temp = StringToBinary($string,4)
	$temp = StringTrimLeft($temp,2)
	for $i = 1 to StringLen($temp) Step 2
		$decoded = $decoded & "%" & StringMid($temp,$i,2)
	Next
	Return $decoded
EndFunc
So hat es TheAldi gemacht :D
Funzt eigentlich auch
Und wie willst du damit
z.B.

&nbsp;
*
&iexcl;
&cent;
&pound;
&curren;
&yen;

umbenennen?

MfG