Hallo
ich versuche Punkte aus einer *.re2-Datei (Koordinaten, kommagetrennt) in ein Smartpart einzulesen.
Mittels OPEN/INPUT funktioniert das sehr gut. Die Übergabe der Werte an den benannten Parameter P funktioniert nicht immer richtig.
Der Parameter P [Anzahl Punkte][X/Y/Z] wird zur Laufzeit gelöscht und neu erstellt. Wird eine neue Datei, mit anderer Anzahl an Punkten, eingelesen, werden nicht alle Werte an P übergeben. Wird die Datei erneut eingelesen, werden alle Werte richtig übergeben.
Gruss und Dank
Hansruedi
!CODE PARAMETER-SCRIPT
IF GLOB_UI_BUTTON_ID = 4111 THEN
! file = "punkte.re2"
PARAMETERS file = file
i1 = 3
fileopen = OPEN ( "TEXT" , file , "SEPARATOR=',',MODE=RO , fullpath , dialog" )
IF ( fileopen > 0 ) THEN
DIM pim [ ][ ]REPEAT
n = INPUT ( fileopen , i1 , 1 , p0 , xh , yh , zh , p1 )
pim [ i1 - 2 ] [ 1 ]= xh
pim [ i1 - 2 ] [ 2 ]= yh
pim [ i1 - 2 ] [ 3 ]= zh
i1 = i1 + 1
UNTIL n <= 0
CLOSE fileopen
PARAMETERS filesaved = file
PARAMETERS cnt_p = VARDIM1 ( pim ) - 1
DELPARAMETER "p"
NEWPARAMETER 6 , "p" , 0 , "Werte" , "" , -1 , cnt_p , 3 , 0 , 1 , 1
FOR i3 = 1 TO cnt_p
PARAMETERS p [ i3 ][ 1 ]= pim [ i3 ][ 1 ]PARAMETERS p [ i3 ][ 2 ]= pim [ i3 ][ 2 ]PARAMETERS p [ i3 ][ 3 ]= pim [ i3 ][ 3 ]NEXT
PARAMETERS dblxstart = pim [ 1 ][ 1 ]PARAMETERS dblystart = pim [ 1 ][ 2 ]PARAMETERS dblzstart = pim [ 1 ][ 3 ]ENDIF
ELSE
PARAMETERS file = filesaved
ENDIF