Also mal kurz:
Ich möchte mir einen Rechner machen für Objektive für Kameras.
Nun habe ich 2 Felder (min. und max. Brennweite)
Außerdem habe ich 5 Checkboxen für die bestimmten Marken.
Wenn z.B Checkbox1 aktiviert ist sollen nur die Objektive für diese Marke in die Auswahl kommen.
Nun sollen die Min. und Max. Brennweiten mit Objektiven aus einer txt (o.ä) Datei verglichen werden,und die,die am nächsten an der Min. und Max. Brennweite sind sollen in einem "Ausgabefenster" (mir fällt der richtige Name gerade nicht ein.)
Ist das irgendwie möglich ?
Müsst mir nicht alles Schreiben,bin z.B auch über Links o.ä. erfreut.
LG Spiesi
"Produktfinder" brauche Hilfe wegen Checkboxen und Eingabefelder
-
- [ offen ]
-
Spiesi -
18. November 2010 um 14:21 -
Geschlossen -
Erledigt
-
-
Ja das geht ;).
[autoit]
Es gibt viele nützliche Funktionen die dir da weiterhlefen könnten...StringInStr
[/autoit]
StringReplace
FileRead
FileWrite
_StringBetween
IniRead
IniWrite
Jetzt musst du dir überlegen wie genau du das machen willst, ich würde dir eine Ini empfehlen.
-
Danke !
Wie schaffe ich es das da Script einzelne Angabe, getrennt durch Semikolon (?) nimmt und nicht die ganze Ini ? -
[autoit]
_stringbetween(); einfach den string , anfangs und endstrings angeben
[/autoit]
Ansonsten schreib doch In Lines? Dafür gibts doch Filewriteline und filereadline -
Hallo spiesi,
natürlich ist das möglich ich würde anstatt von 5 CheckBoxen 1 ComboBox nehmen ist leichter erweiterbar. Wenn du dir meinen Mini-URL-Manager (Link siehe Sigantur) anschaust verstehst du die Technik der ComboBox im Zusammhang mit INI-Dateien.
Anstelle von INIs kannst d auch eine Datenbank z.B. SQLite verwenden, musst dich dann halt in die SQL Syntax einlesen,Nachtrag:
ZitatDanke !
Wie schaffe ich es das da Script einzelne Angabe, getrennt durch Semikolon (?) nimmt und nicht die ganze Ini ?poste doch einmal deine sogenannte INI.
mfg autoBert
-
Okay ich hab es mal ini genannt... wird wohl falsch sein... eig. wie eine txt datei mit Bezeichnungen wie z.B 18-55mm 3,5-5,6;50mm 1,8; und es soll halt jeweils nur EINE bezeichnung verwendet werden,nicht gleich alle... darum auch das ; zur Trennung
-
Ein sehr einfaches und auf deinen String bezogenes String gexchriebenes script: (Mit ein wenig umändern kann man auch die anderen aufrufen, würde dann _arraydispose() benutzen)
[autoit]#include <String.au3>
[/autoit][autoit][/autoit][autoit]
$sString ="anfang:3,5-5,6;50mm 1,8;"
$aStringBet=_stringbetween ($sString,"anfang:", ";")
$sStringBetweiter= _StringBetween ($sString, ";",";")Msgbox (0,"",$aStringBet[0] & $sStringBetweiter[0])
[/autoit] -
Hallo spiesi,
hier ein Beispiel mit 2 Comboboxen und einer CSV-Datei
Skript
[autoit]#Include <GuiComboBox.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <array.au3>
#include <File.au3>Const $sCSV = @ScriptDir & "\2cbo.TXT"
[/autoit] [autoit][/autoit] [autoit]
Const $sElect = "bitte auswählen"
Dim $a_sCSV, $aSplit, $scboChr = ""
_FileReadToArray($sCSV,$a_sCSV)
Dim $aCSV[$a_sCSV[0]][2]
for $i = 1 to UBound($a_sCSV) - 1
ConsoleWrite($i & $a_sCSV[$i] & @CRLF)
$aSplit = StringSplit($a_sCSV[$i],";")
if not StringInStr($scboChr,$aSplit[1]) Then $scboChr &= $aSplit[1] & "|"
$aCSV[$i-1][0] = $aSplit[1]
$aCSV[$i-1][1] = $aSplit[2]
Next
ConsoleWrite($scboChr & @CRLF)$hGui = GUICreate("2 Comboboxen aus 1er CSV", 250, 120, 302, 218)
[/autoit] [autoit][/autoit] [autoit]
$hcboChr = GUICtrlCreateCombo($sElect, 8, 8, 200, 25)
GUICtrlSetData(-1,$scboChr)
$hcboChrNr = GUICtrlCreateCombo("",8,35,200,25)
$hbtnExit = GUICtrlCreateButton("Be&enden", 8, 65)GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $hbtnExit
Exit
Case $hcboChr
$sVal = GUICtrlRead($hcboChr)
if $sVal <> $sElect Then
$aSplit = _ArrayFindAll($aCSV,$sVal,0,0,True,True,0)
GUICtrlSetData($hcboChrNr,"")
$scboChr = ""
for $i = 0 to UBound($aSplit) - 1
$scboChr &= $aCSV[$aSplit[$i]][1] & "|"
Next
ConsoleWrite($scboChr & @CRLF)
GUICtrlSetData($hcboChrNr,$scboChr)
_GUICtrlComboBox_SetCurSel($hcboChrNr, 0)
EndIf
EndSwitch
WEndzum Testen benötigst du noch die im Anhang befindliche Datei,
mfg autoBert