abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Befehl INPUT

Anonymous
Nicht anwendbar
Ich versuche daten aus eineer Textdatei im gdl auszulesen.

!MASTER-SCRIPT

DIM bitmap[]

Ordner= OPEN ("FileMan", verz, "FILES, DIALOG")
linecont=1
n = INPUT (Ordner, 0, 0, datName)
WHILE n=1 DO
bitmap[linecont]=datName
linecont=linecont+1
n = INPUT (Ordner, 0, 0, datName)
ENDWHILE
CLOSE Ordner

!PARAMETER-SCRIPT
VALUES "dateiname" bitmap


Diesen code habe von selfgdl.de

ich würde annehmen daß der Parameter schlußendlich die Werteauswahl bekommt welche in der Datei Stehen.

bei mir geschieht allerdings garnichts.

Auch mit:

Ordner= OPEN ("FileMan", verz, "FILES, DIALOG")

n = INPUT (Ordner, 0, 0, datName)

TEXT2= datName

CLOSE Ordner

geschieht nichts.

Umgekehrt habe ich ohne probleme Text mit Output in eine txt-Datei exportieren können.

Was mache ich falsch? THX
16 ANTWORTEN 16
Anonymous
Nicht anwendbar
Da stimmt die Doku nicht. Probiere es mal mit:

n = INPUT (Ordner, linecont, 1, datName)


Und ersetze mal überall Ordner durch kanal.
Anonymous
Nicht anwendbar
ändert leider nichts. der code sieht jetz mal so aus:

datName= "datname"

DIM bitmap[]

Ordner=OPEN("DATA","C:\U[...]\tet-dataIAC.txt", "MODE=RO, SEPARATOR=':', FULLPATH")
linecont=1
n = INPUT (Ordner, linecont, 1, datName)
WHILE n=1 DO
PARAMETERS bitmap[linecont]=datName
linecont=linecont+1
n = INPUT (Ordner, linecont, 1, datName)
ENDWHILE



CLOSE Ordner

TEXT2 0,1, Ordner ! Ergebniss = 1
TEXT2 0,0, datName !Ergemniss = datname
TEXT2 0,-1, bitmap[1] ! Ergebniss = 0 wobei Fehlermeldnug, daß der Index zu groß ist.
Anonymous
Nicht anwendbar
So geht es:

DIM data[][]

CH1=OPEN("TEXT","C:\[...]\tet-dataIAC.txt", "MODE=RO, SEPARATOR=':', FULLPATH")

FOR ny=1 TO 7

FOR nx=1 TO 5
nk = INPUT (CH1, ny, nx, data[ny][nx])
PARAMETERS dataLI[ny][nx]= data[ny][nx]
NEXT nx

NEXT ny

CLOSE CH1

nd=1

FOR ny=1 TO 7
nd=nd-1 : TEXT2 0,nd, data[ny][1]+ data[ny][2]+ data[ny][3]+ data[ny][4]+ data[ny][5]
NEXT ny

Allerdings kann er mit "TEXT" scheinbar Zahlenwerte nicht lesen. Er zeigt in der Zeile entweder garnicht oder eine "0" an.
Ich habe es mit "DATA" versucht, da bekomme ich für TEXT2 pro zeile immer nur eine 0
Anonymous
Nicht anwendbar
Bei "Output" erhöffnet sich das Problem die Daten in mehrere Zeilen zu schreiben

ch1 = open ("DATA", "C:\[...]\APLi-dataOAC1.txt", "SEPARATOR=':', mode = WO")

var1="a"
var2="b"
var3="c"
var4="d"
var5="e"


output ch1, "i", 1, var1, var2, var3, var4, var5
output ch1, "go", 1, var1, var2, var3, var4, var5
output ch1, "out", 1, var1, var2, var3, var4, var5

close ch1

Die Daten werden in eine Zeile geschrieben wobe zwischen der letzten Variable und der feldID kein Trennzeichen ist:

go:a:b:c:d:ei:a:b:c:d:eout:a:b:c:d:e
Anonymous
Nicht anwendbar
Warum nimmst Du nicht das Text-Addon zum Schreiben?
ch1 = OPEN("TEXT", path + "/" + name_2d + file_ending, "MODE=WO, FULLPATH")

Schreib das mal in folgender Form; dann bekomst Du Zeilenumbrüche;
Wenn Du "" als Wert nimmst, auch Leerzeilen:
OUTPUT ch1, 1, 0, _end1
OUTPUT ch1, 1, 0, _end1
OUTPUT ch1, 1, 0, ""
OUTPUT ch1, 1, 0, _end2
OUTPUT ch1, 1, 0, ""
OUTPUT ch1, 1, 0, _end1
OUTPUT ch1, 1, 0, _end1

In Deinem Fall:
output ch1, 1, 0, var1, var2, var3, var4, var5

Wie das mit dem DATA-Addon geht, weiss ich momentan nicht.
Anonymous
Nicht anwendbar
Also folgendes:

OUTPUT ch2,"Material",1,txt1,txt2,txt3
OUTPUT ch2,"Oberfläche",1,txt1,txt2,txt3

gibt bei mir folgendes Ergebnis (mit Umbruch) mit dem Data-Addon:

Material:Holz:Glas:Eisen
Oberfläche:Holz:Glas:Eisen

Auch bei Deinem Script kommt bei mir folgendes raus:
i:a:b:c:d:e
go:a:b:c:d:e
out:a:b:c:d:e
Anonymous
Nicht anwendbar
Aha: Auf Windows mit AC 20 ist es so, wie Du beschreibst.
Eindeutig ein Bug: Bitte an Graphisoft melden.
Auf dem Mac, wo ich es vorhin probiert hatte, ist alles in Ordnung.
Frank Beister
Mentor
Lest mal die Ergebnisdatei mit einem vernünftigen Editor. Z.B. Sublime/Notepad++ und stellt da mal die Zeilenende-Codierung von Win/Mac/Linux um.

Das ist nämlich nicht einheitlich. Das kann:

Carriage Return
Line feed
Carriage Return + Line feed

aAlso:
CHAR(9)
CHAR(10)
CHAR(9) + CHAR(10)

sein. Siehe ASCII oder hier.
Vielleicht leigt es daran.

@Jochen
Das hatten wir gerade mit dem UTF-8 Export von Sonderzeichen. 😉
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
Frank Beister
Mentor
Der Korrektheit halber, es muss heißen:
CHAR(13)
CHAR(10)
CHAR(13) + CHAR(10)
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm