String in scl auslesen

Bensen83

Level-1
Beiträge
777
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, ich möchte einen string aus einem string[] array auslesen udn ein eine andere variable schreiben, hjedoch macht das Programm einfach garnichts, zeigt aber auch keinen fehler an. leider funktioniert die onlineansicht von scl auch nicht, jedoch weis ich durch meine variablenzustände, dass die anwendungen bearbeitet werden: Hier mal die zeile um die es sich dreht:

Code:
"string db".lesestring[2] := "string db".lesestring[1];

kann mir jemand weiterhelfen? Also er überschreibt [2] nicht
 
Hallo Benson,
dein Code hat für mich erstmal keinen Fehler. Steht in Lesestring[1] überhaupt etwas drin ?
Um deinen SCL-Bastein beobachten zu können mußt du in SCL unter Extras-Einstellungen-Compiler das Feld "Debug-Info erstellen" aktivieren.
String-Inhalte werden unter SCL allerdings genausowenig wie in AWL angezeigt. Das kannst du generell nur über die Variablen-Tabelle und dort dann auch nur Doppelwort-weise ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok

Also es stand im string nichts drinn, dachte er würde dass dann auch in den entsprechenden string übernehmen, also ablöschen geht dann nicht, oder wie? müsste ich dann per Hand machen?
 
Verstehe ich jetzt nicht ...

Den String löschen würdest du mit
Code:
"string db".lesestring[2] := '' ;
das würde allerdings nur den Header des Strings löschen - das Byte-Array des Strings würde sehr wahrscheinlich den ursprünglichen Inhalt behalten ...

Gruß
Larry
 
Ok

Ja genau so ist es, allerdings wäre das nicht so tragisch, wenn er dann trotzdem richtig mit dem wert umgeht.

Habe jetzt alles soweit am laufen, nur folgendes nicht:

string_to_REAl(lesetring);

dort kommen ganz komische werte heraus:

also ich gebe 2.345 in den string ein und er spuckt mir als realwert dann -1.504e-36 aus.
 
Nein ... das liegt an der Funktion "String_2_Real" - da haben sich die Herren bei Siemens so richtig einen ausgekaspert. Dort kannst du nur eine REAL-Zahl in einem ganz bestimmten Format übergeben (steht irgendwo in der Step7-Hilfe) - jedenfalls muss der genau so wie vorgegeben aufgebaut sein (aus der Erinnerung : +1.234567E+000). Etwas, dass sich nicht haargenau daran hält wird unsinnig oder gar nicht übersetzt. Du kannst hier also nicht z.B. 123,567 übergeben - dafür müßtest du dir einen eigenen Baustein erstellen.

Gruß
Larry
 
Zurück
Oben