Puh....
vielen Danke..
Das muss ich jetzt erstmal sacken lasen.
Puh....
vielen Danke..
Das muss ich jetzt erstmal sacken lasen.
Hallo,
genau so wie du es gemacht hast möchte ich das haben.
Nur als beispiel:
9 --> Baugruppe
-9.1-->Teil
-9.2-->Baugruppe
--9.2.1-->Teil
--9.2.2-->Baugruppe
---9.2.2.1--Teil
-9.2-->Teil
Aber ich glaube das ist genau so wie due es gemacht hast.
Hallö,
erst mal herzlichen Dank für den Tipp.
Bin mir noch nicht ganz sicher, ob ich das richtig verstanden habe, wie du das meinst.
Besonders die umsetzung ist mir noch nicht ganz klar.
Ich glaube (ohne es zu wissen )das es doch ein wenig Komplizierter ist.
Ich habe mal, die CSV Datei angehängt, dort kann man auch nochmal schön sehen, wie der zusammenhang der PositionsNr und den Baugruppen ist.
Eine Baugruppe hat nämlich nicht immer eine Ganzzahl als PositionsNr. Es kann auch mal sein das eine Baugruppe die Nummer hat -> z.B 9.1.3.2.2
Gruß pat2381
9.1;USG_P-023698.SLDPRT;ET-00109324;;;;;;;;;;
9.2;Kopie_D0229799.sldprt;ET-00066022;;;;;;;;;;
9.3;USG_A-007252.SLDASM;ET-00109239;;;;;;;;;;
9.3.1;USG_P-022234.sldprt;ET-00098129;;;;;;;;;;
9.3.2;USG_P-000420.SLDPRT;ET-00045705;;;;;;;;;;
9.3.3;USG_P-023801.SLDPRT;ET-00110462;;;;;;;;;;
9.3.4;USG_A-007279.SLDASM;ET-00109329;;;;;;;;;;
9.3.4.1;USG_P-023700.SLDPRT;ET-00109328;;;;;;;;;;
9.3.4.2;USG_P-023629.sldprt;ET-00108109;;;;;;;;;;
9.3.5;USG_P-023676.SLDPRT;ET-00109288;;;;;;;;;;
9.3.6;USG_P-023741.SLDPRT;ET-00109388;;;;;;;;;;
9.3.7;USG_P-023644.SLDPRT;ET-00109238;;;;;;;;;;
9.3.8;USG_P-023702.SLDPRT;ET-00109331;;;;;;;;;;
9.3.9;USG_P-023675.SLDPRT;ET-00109287;;;;;;;;;;
9.3.10;SM620D0218513.sldprt;ET-00048228;;;;;;;;;;
9.3.11;USG_P-023643.SLDPRT;ET-00109237;;;;;;;;;;
9.3.12;USG_A-007294.SLDASM;ET-00109387;;;;;;;;;;
9.3.12.1;USG_P-023629.sldprt;ET-00108109;;;;;;;;;;
9.3.12.2;USG_P-023740.SLDPRT;ET-00109386;;;;;;;;;;
9.3.13;USG_P-023678.SLDPRT;ET-00109290;;;;;;;;;;
9.3.14;USG_P-023674.SLDPRT;ET-00109285;;;;;;;;;;
9.4;USG_P-023685.SLDPRT;ET-00109306;;;;;;;;;;
9.5;Kopie_D0248382.sldasm;ET-00066299;;;;;;;;;;
9.5.1;Kopie_D0235178.sldasm;ET-00066066;;;;;;;;;;
9.5.1.1;Kopie_D0228903.sldprt;ET-00066018;;;;;;;;;;
9.5.1.2;Kopie_Sicherungsring DIN 471 FST 20.sldprt;ET-00066801;;;;;;;;;;
9.5.1.3;Kopie_D0235161.sldprt;ET-00066065;;;;;;;;;;
9.5.1.4;Kopie_Sicherungsring DIN 472 FST 47.sldprt;ET-00066805;;;;;;;;;;
9.5.1.5;Kopie_Rillenkugellager 6204-2RSR.sldprt;ET-00066688;;;;;;;;;;
9.6;SM620D00320275_A.sldprt;ET-00047154;;;;;;;;;;
9.7;USG_A-007272.SLDASM;ET-00109309;;;;;;;;;;
Hallo und guten Abend,
ich weis leider nicht weiter. Ich habe eine Stückliste im csv Format die ich gerne in ein TreeView einlesen möchte.
In der CSV sind die Teil mit USG_P-XXXXXX und die Baugruppen mit USG_A-XXXXXX benannt.
Ich habe gedacht, dass man das über die Positions Nr. machen könnte, aber leider weiss ich nicht mehr weiter.
Der aufbau der CSV ist folgender:
PositionNr, ET-Nummer; Bezeichnung
1 USG_A-383482 Baugruppe1
1.2 USG_P-438748 Teil1
2 USG_A-394934 Baugruppe 2
So und hier mein versuch...
[autoit]
Func _StartTest()
$input = GUICtrlRead($lbOpen) ; Lese den Path zur Datei
$aResult = _ParseCSV($input, "", ', 4) ;Die csv wird in ein Array geschrieben ( bsp. $aResult[10][5] )
$count = _FileCountLines($Input) ;Lese wieviel zeihlen es gibt!
;Fülle das TreeView
For $i = 1 to $count -1
$Split = StringSplit($aResult[$i][1],".")
If @error Then
$aLen = StringLen($Split[1])
For $a = 0 to $Split[0]-1
Local $idGeneralitem = GUICtrlCreateTreeViewItem($aResult[$i][1]&"-"&$aResult[$i][2]&" - "& $aLen, $TreeView1)
;For $b = 0
Next
EndIf
;Local $idGeneralitemSub = GUICtrlCreateTreeViewItem($aResult[$i][1]&"-"&$aResult[$i][2]&" - "& $aLen, $idGeneralitem) ; Fühge ein Node hinzu!
[/autoit][autoit][/autoit][autoit]Next
;_ArrayDisplay($aResult)
EndFunc
Wenn mir jemand einen Tipp oder eine Idee hat wäre das Super
Gruß pat2381
Hallo,
wenn du dir mein Beispiel im Beitrag 7 ansiehst dort wird die aut2exe mit Parametern gestartet und ein Script wird kompiliert.
Gibt es vielleicht einen mir noch nicht bekannten Befehl der mir in diesem Fall eine Rückmeldung/Status zur Verfügung stellt.
Zitat$execute = ShellExecute( "Aut2exe.exe", "/in "& '"' & $sInput2 & '"' & " /out " & '"' & $sInput & "\Output\Text.exe" & '"' & " /x86")
Bin für alle Vorschläge offen.
Gruß pat2381
Hallo,
Danke das mit der Statusbar war mein Fehler
Es geht !!!
Aber mit einer Progressbar wäre es schon schöner.
Herzlichen dank für deine Unterstützung CyRoX
Wenn aber noch jemand ne Idee hat wie man das mit einer Progressbar hinbekommt wäre das echt Super.
Gruß pat 2381
Hallo,
ich glaube wir reden aneinadner vorbei.
Da es ja mit der ProgressBar keine Möglichkeit gibt ( oder ich nicht weiß wie das machen könnte )habe ich was anderes probiert.
Ich mein in dem letzten Beitrag eigetlich die Status-Bar. Habe das auch im Script so gekenzeichnet.
Ich habe das Gefühl als wenn er nach dem ShellExecute Befehl nicht weiter macht.
Wenn ich eine Abfrage mache ála
[autoit]If $execute = 1 Then
[/autoit]dann sollte das doch gehen.
[autoit]
func _compile_Srcipt()
$sInput2 = GUICtrlRead($InpScript)
$execute = ShellExecute( "Aut2exe.exe", "/in "& '"' & $sInput2 & '"' & " /out " & '"' & $sInput & "\Output\Text.exe" & '"' & " /x86")
If $execute = 1 Then
GUICtrlSetData($status1," Compile done...") ;-------------------< STATUSBAR>
Else
GUICtrlSetData($Status1,"Compile false...");-------------------< STATUSBAR>
EndIf
EndFunc
[/autoit]gruß pat2381
Editieren
Hallo, das mit dem Zusätzlichem hochzählen stimmt. Das ist doppelt gemoppelt.
Aber wenn ich es so mache, dann sollte es doch eigentlich funktionieren.
Nur leider geht das nicht .
[autoit]
Func _Test()
$execute = ShellExecute( "Mach was")
If $execute = 1 Then
GUICtrlSetData($status1," Fertig") ; --------->Statusbar
Else
GUICtrlSetData($Status1,"Abgebrochen")
EndIf
endfunc
Hallo,
danke CyRoX für deine schnelle Antwort.
Habe so etwas schon vermutet. Dann muss ich mir was anderes einfallen lassen.
Aber es ist doch richtig, dass das Script weiter ausgeführt wird oder ? Nur bei ShellExecuteWait wird das Script angehalten bis das Programm beendet wird.
Dann müsste er doch eigentlich trotzdem in die For-Schleife( oder wie unten den Text in die Statusbar schreiben) gehen oder nicht.?
ShellExecute("Mach was")
GUICtrlSetData($statusbar1," Fertig...") ;---------Das macht er nicht!!!
Hallo,
ich bin noch ein kleiner Anfänger was AutoIt angeht. Ich habe eine kleine Verständnis frage zu dem Befehl "ShellExecute"
In der Hilfe ist beschrieben, dass der Script nach dem start von ShellExecute den Script weiter ausführt. Tut er aber nicht.
Was mach ich falsch ?
Beispiel: Die Idee war eine Progessbar so lange durch laufen zulassen bis ShellExecute fertig ist.
[autoit]
Func _Test()
$execute = ShellExecute ( " Mach was ")
For $i = 1 to 100
If $execute = 0 then
GUICtrlSetData($Progess1, $i)
If $i = 100 then
$i = 0
else
$i += 1
endif
else
MsgBox(0,"Fertig", "Fertig",0)
exitloop
endif
next
endfunc
Wenn mir ein erklären könnte was ich falsch mach wäre das echt super.
gruß pat2381