Hallo Dirk,
erst mal vielen dank für das Beispiel.
So ganz bin ich nocht nicht durch, aber es hilft zumindest.
Ich hab z.B. gesehen du fragst die String-Länge mit "LEN(string)" ab.
Das funktioniert bei mir nicht, er meckert bei LEN. Kann aber auch daran liegen dass mein String als CHAR*72 deklariert ist.
Das werde ich noch testen.
Aber mein Problem habe ich noch nicht lösen können.
Ich habe gesehen, dass du auch Strings verbindest.
Was ungefähr wie bei mir ist.
let STRING = 'DET ' // chtype(TXT) // IDENT
Nur benötige ich am Anfang noch eine Variable, und keinen festen Sring.
Ich habe noch mal etwas Code bis zu meiner Problemstelle.
Die Eingabe des Prefix habe ich auskommentiert, weil es ja nicht funktioniert.
INTERNAL
*------------------------------------------------------------------
*
INTEGER x FORMAT 4,
% i FORMAT 4,
% mnum init 1,
% ele,
% ier
*
LOGICAL ja INIT true,
% nein INIT false
*
CHAR*72 nname
CHAR*72 string
CHAR*72 string2
*
*------------------------END INTERNAL------------------------------
*
EXTERNAL
PT pt1 INPUT
CHAR*72 pre INPUT
INTEGER index INPUT
*
*------------------------------------------------------------------
*
*
*------------------------END EXTERNAL------------------------------
*
PROC
*------------------------------------------------------------------
LABEL Lstart
*
*LABEL TEXT
* MSG 'Prefix für Punkt-Name angeben' KEY,pre,YES
* if (KODE EQ YES) EXIT
* IF (KODE EQ ' ') TEXT
MSG 'Start-Index angeben / YES = Ende' KEY,string,YES
if (KODE EQ YES) EXIT
LET index = CONV(string)
LET i=index
SELECT 'Punkt selectieren / YES = Ende' pt1,YES
if (KODE EQ YES) EXIT
LET string = CHCONV(i)
LOAD GUMKHN 1,string,70,string2,ele,ier *Leerzeichen vorne löschen
Let nname = 'SPT ' // string2
in der Letzten Zeile würde ich gerne den Prefix setzen.
Let nname = pre // string2
Nur leider nimmt er dann string2 nicht mehr dazu
Vielleicht findest du ja mal ein paar ruhige Minuten und kannst es dir anschauen.
------------------
Gruss Markus
IP