|
You last visited: Today at 14:48
Advertisement
iniwrite & for-schleifen Problem
Discussion on iniwrite & for-schleifen Problem within the AutoIt forum part of the Coders Den category.
06/27/2011, 18:15
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
iniwrite & for-schleifen Problem
Hallo epvpers,
Ich ab mal ne frage; wie mach ich das wenn zwei Sachen, einmal aus einer Inputbox und einmal aus einer ini-datei nicht übereinstimmen dann eine neue Zeile in der ini angelegt wird(mit einem anderen Namen?)
Ich habs mal so aber da passiert nichts:
PHP Code:
if not guictrlread($input5where)=IniRead(@WindowsDir&"\Teamspeak.ini", "Join", "Installpath", "") Then for $i=0 to 1 IniWrite(@WindowsDir&"\Teamspeak.ini", "Join", "Installpath"&+1, GUICtrlRead($Input5where)) next Else IniWrite(@WindowsDir&"\Teamspeak.ini", "Join", "Installpath", GUICtrlRead($Input5where)) endif
Mein Code sollte eigentlich machen: 1. Wenn ein neuer Pfad existiert, der noch nicht gespeichert wurde(in der ini), dann einen anlegen. 2. Wenn mehrere dazukommen und schon einer existiert und der nicht mit dem in $input5where übereinstimmt eine neue zeile machen("installpath2" z.B)
|
|
|
06/27/2011, 18:42
|
#2
|
elite*gold: 0
Join Date: Dec 2008
Posts: 1,304
Received Thanks: 485
|
Code:
IniWrite(@WindowsDir&"\Teamspeak.ini", "Join", "Installpath"&+1, GUICtrlRead($Input5where))
zu
Code:
IniWrite(@WindowsDir&"\Teamspeak.ini", "Join", "Installpath"&$i,GUICtrlRead($input5where))
schätze ich zumindest
|
|
|
06/27/2011, 19:03
|
#3
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Quote:
Originally Posted by Reeek
Code:
IniWrite(@WindowsDir&"\Teamspeak.ini", "Join", "Installpath"&+1, GUICtrlRead($Input5where))
zu
Code:
IniWrite(@WindowsDir&"\Teamspeak.ini", "Join", "Installpath"&$i,GUICtrlRead($input5where))
schätze ich zumindest
|
Hab ich schon versucht
|
|
|
06/27/2011, 20:34
|
#4
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
du müsstest dir wenn schon eine eigene sektion anlegen für den install path.
diese kannst du dann komplett per IniReadSection einlesen. dann in einer for-schleife jedes element mit dem input vergleichen. im falle keines treffers dann ubound vom eingelesenen array bestimmen und ein neues element hinzufügen.
Edit
kleines beispiel:
Code:
GUICreate('blah', 200, 70)
GUISetState()
$input = GUICtrlCreateInput('',10, 10, 180, 20)
$check = GUICtrlCreateButton('check', 10, 40, 180, 20)
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $check
$found = False
$ini = IniReadSection('blah.ini', 'blubb')
If IsArray($ini) Then
For $i=1 To $ini[0][0]
If $ini[$i][1] = GUICtrlRead($input) Then $found = True
Next
If Not $found Then
IniWrite('blah.ini', 'blubb', 'key'&$ini[0][0]+1, GUICtrlRead($input))
MsgBox(0, 'info', GUICtrlRead($input)&' was added to the ini')
Else
MsgBox(0, 'info', GUICtrlRead($input)&' was found in the ini')
EndIf
Else
IniWrite('blah.ini', 'blubb', 'key1', GUICtrlRead($input))
MsgBox(0, 'info', GUICtrlRead($input)&' was added to the ini')
EndIf
EndSwitch
WEnd
|
|
|
06/27/2011, 21:59
|
#5
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Quote:
Originally Posted by lolkop
du müsstest dir wenn schon eine eigene sektion anlegen für den install path.
diese kannst du dann komplett per IniReadSection einlesen. dann in einer for-schleife jedes element mit dem input vergleichen. im falle keines treffers dann ubound vom eingelesenen array bestimmen und ein neues element hinzufügen.
Edit
kleines beispiel:
Code:
GUICreate('blah', 200, 70)
GUISetState()
$input = GUICtrlCreateInput('',10, 10, 180, 20)
$check = GUICtrlCreateButton('check', 10, 40, 180, 20)
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $check
$found = False
$ini = IniReadSection('blah.ini', 'blubb')
If IsArray($ini) Then
For $i=1 To $ini[0][0]
If $ini[$i][1] = GUICtrlRead($input) Then $found = True
Next
If Not $found Then
IniWrite('blah.ini', 'blubb', 'key'&$ini[0][0]+1, GUICtrlRead($input))
MsgBox(0, 'info', GUICtrlRead($input)&' was added to the ini')
Else
MsgBox(0, 'info', GUICtrlRead($input)&' was found in the ini')
EndIf
Else
IniWrite('blah.ini', 'blubb', 'key1', GUICtrlRead($input))
MsgBox(0, 'info', GUICtrlRead($input)&' was added to the ini')
EndIf
EndSwitch
WEnd
|
und wie kann ich das gespeicherte wieder aufrufen so das es in einem dropdown menü erscheint? weil es ist dann ja mit 1,2,3,4,5 undso vershen und ich kann das nicht auslesen, auchm it ner for-schleife aber wie?
PHP Code:
GUICtrlSetData($Input5where,IniRead(@WindowsDir&"\Teamspeak.ini", "Install", "Installpath", ""))
so kann ich ja nur eins auslesen, also immer nur das erste...
|
|
|
06/27/2011, 22:11
|
#6
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
per inireadsection liest du doch automatisch alle daten in ein array
|
|
|
 |
Similar Threads
|
While Schleifen Problem
12/31/2010 - AutoIt - 24 Replies
Hi Com.,
ich habe einen Fritzbox ip changer geschrieben.
Alles klappt wunderbar, nur macht mir die while schleife zu schaffen.
Hier mein Script.
#include <INet.au3>
|
Auto-Schleifen [Problem]
06/23/2010 - Off Topic - 10 Replies
Hallo,
und zwar brauche ich Informationen über das Schleifen.
Am besten wäre folgendes:
Woher kommt das Schleifen?
Wie schleift man richtig?
|
Iniwrite Problem
05/02/2010 - AutoIt - 9 Replies
Hey Leute,
haenge grad am Problem fest,das nachdem ich auf den Save Button gedrueckt habe,er nicht die Ini erstellt.
Er erstellt es aber,wenn ich es per Hand eintippe,dann funktioniert alles normal.
Wenn ich aber per Fileopendialog das reinfuege passiert nix
Wer Ahnung warum?
|
AutoIt - Frage/Problem bei den Schleifen!!
04/05/2010 - AutoIt - 6 Replies
Nabend,
ich hätte da mal eine kleine Frage zum unterbrechen von Endlosschleifen.
Und nein, damit meine ich nicht einfach den Befehl "Exitloop"!
Also, ich werde mal anhand eines kleinen Test-Scripts versuchen, meine Frage zu erklären:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
|
Exitloop Problem mit mehreren Schleifen
10/21/2009 - AutoIt - 5 Replies
Abend !
und zwar sieht mein Problem wie folgt aus:
While 1=1
(das script)
If...Then
-hier ist das problem: ich möchte das das programm die while schleife sozusagen pausiert
-dann das was gemacht werden soll
|
All times are GMT +1. The time now is 14:48.
|
|