String im Programm eingeben

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Paule,

ich verstehe dein Problem gerade nicht so richtig.
Du könntest aber auf jeden fall einmal das machen :
Code:
Adresse := '' ;
bevor du das machst :
Code:
   Adresse := CONCAT(in1:='Strasse ',In2:=DELETE(IN:=INT_TO_STRING(Hausnummer),l:=1,P:=1));

Gruß
Larry
 
Hi Paule,

Strings können nicht direkt IN/OUT o. OUT zugewiesen werden, hier muss man den Umweg über Temporäre oder Stat im Instanz-DB gehen oder einen DB Temporär für die Stringbearbeitung anlegen.

Danach kann man mit IN/OUT o. OUT := Temp; den String an IN/OUT o. OUT übergeben.

Gruss Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ähh ... Daniel ... wir sprechen hier von SCL ... oder ? Da geht das schon - jedenfalls habe ich hier gerade zufällig einen baustein vor der Nase, bei dem ich das gemacht habe ...
 
Du könntest aber auf jeden fall einmal das machen :
Code:
Adresse := '' ;
bevor du das machst :
Code:
   Adresse := CONCAT(in1:='Strasse ',In2:=DELETE(IN:=INT_TO_STRING(Hausnummer),l:=1,P:=1));

Gruß
Larry
Hi Larry, das geht leider nicht: Ebenfalls Fehler: "Parameterzuweisung nicht korrekt"

Danach kann man mit IN/OUT o. OUT := Temp; den String an IN/OUT o. UT übergeben.
Gruss Daniel
Hi Dalbi, es kommt zwar kein Fehler aber es funktioniert leider auch nicht.

Ja, ist ein FC
 
Hi Paule,

FB nehmen oder FC und da die Temps oder einen DB Temporär nutzen.

Code:
[COLOR=#ff0000]Adresse[/COLOR] := CONCAT(in1:='Strasse ',In2:=[COLOR=#ff0000]DELETE[/COLOR](IN:=[COLOR=#ff0000]INT_TO_STRING(Hausnummer)[/COLOR],l:=1,P:=1));

Die rot markierten müssten die Fehlerquelle sein einfach mal bei Hausnummer anfangen u. probieren.

Gruss Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
FUNCTION FC1 : VOID

VAR_INPUT
  Hausnummer : INT;
END_VAR

VAR_OUTPUT
  Adresse : STRING;
END_VAR

VAR_TEMP
  tAdresse : STRING;
END_VAR

BEGIN

   tAdresse := CONCAT(in1:='Strasse',In2:=DELETE(IN:=INT_TO_STRING(Hausnummer),l:=1,P:=1));
   Adresse := tAdresse;
   
END_FUNCTION

So gehts.

Gruss Daniel
 
Code:
[COLOR=#ff0000]Adresse[/COLOR] := CONCAT(in1:='Strasse ',In2:=[COLOR=#ff0000]DELETE[/COLOR](IN:=[COLOR=#ff0000]INT_TO_STRING(Hausnummer)[/COLOR],l:=1,P:=1));

Die rot markierten müssten die Fehlerquelle sein einfach mal bei Hausnummer anfangen u. probieren.

Gruss Daniel
@Dalbi wenn ich direkt in einen DB (DB2.Adresse) schreibe funktioniert es.
Es muss wirklich daran liegen dass es in einem FC nicht geht (wie Du gesagt hast), auch nicht mit den Umweg über Temp.
Ich werde es morgen mal mit einem FB probieren. ;)
 
Strings können nicht direkt IN/OUT o. OUT zugewiesen werden, hier muss man den Umweg über Temporäre oder Stat im Instanz-DB gehen oder einen DB Temporär für die Stringbearbeitung anlegen.

Danach kann man mit IN/OUT o. OUT := Temp; den String an IN/OUT o. OUT übergeben.

In FCs können Strings nicht direkt über Funktionen z.B. "CONCAT" IN/OUT o. OUT zugewiesen werden, hier muss man den Umweg über Temporäre oder einen DB mit Strings zur Temporären Nutzung für die Stringbearbeitung gehen.

Danach kann man mit IN/OUT o. OUT := Temp; den String an IN/OUT o. OUT übergeben.

Die Finger waren schneller als das Hirn.

Gruss Daniel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
FUNCTION FC1 : VOID

VAR_INPUT
  Hausnummer : INT;
END_VAR

VAR_OUTPUT
  Adresse : STRING;
END_VAR

VAR_TEMP
  tAdresse : STRING;
END_VAR

BEGIN

   tAdresse := CONCAT(in1:='Strasse',In2:=DELETE(IN:=INT_TO_STRING(Hausnummer),l:=1,P:=1));
   Adresse := tAdresse;
   
END_FUNCTION

So gehts.

Gruss Daniel
Genau so habe ich es geschrieben, bei mir kommt da nichts bei raus. :confused:
 
@Dalbi wenn ich direkt in einen DB (DB2.Adresse) schreibe funktioniert es.
Es muss wirklich daran liegen dass es in einem FC nicht geht (wie Du gesagt hast), auch nicht mit den Umweg über Temp.
Ich werde es morgen mal mit einem FB probieren. ;)

Mach mal so wie in Beitrag 29 geschrieben.

Gruss Daniel
 
Code:
FUNCTION FC1 : VOID

VAR_INPUT
  Hausnummer : INT;
END_VAR

VAR_OUTPUT
  Adresse : STRING;
END_VAR

VAR_TEMP
  tAdresse : STRING;
  tHaus : STRING;
END_VAR

BEGIN

   tAdresse := '';
   tHaus := '';
   tHaus := DELETE(IN:=INT_TO_STRING(Hausnummer),l:=1,P:=1);
   tAdresse := CONCAT(in1:='Strasse',In2:=tHaus);
   Adresse := tAdresse;
   
END_FUNCTION
 
Hallo Dalbi,

da kann ich nur sagen:
Vielen Dank, es funktioniert. :ROFLMAO: :s1:

Ich denke zwar das P:=1 sollte in die Zeile zu CONCAT, aber das werde ich morgen probieren.

Beim nächsten Treffen gebe ich Dir einen aus. ;) :D
 
Zurück
Oben