|
CCS Modul P_ZERLEGE_STR |
$Id: p_zerlege_str.C,v 1.28 2005/12/09 12:20:24 krf3rt Exp $
---------------------------------------------------------------------
Kurzbeschreibung: Strings von der PSS fÏr die Auswertung aufbereiten.
---------------------------------------------------------------------
Projekt: CCS
Sourcefile: p_zerlege_str.C
Autor: RtW/TEF72-Keppler (29.04.96)
Zielsystem: HP9000/V743 (HP-RT 2.0x), /Sxxx (HP-UX 9.0x)
Sprache: C++
---------------------------------------------------------------------
Prototyp:
MPI Schnittstelle
void p_init(shm_stringpointer *zeilen_info
,shm_stringpointer *zeilen_wert
,long index1
,long anzahl)
---------------------------------------------------------------------
Aufruf: im Vectorinterpreter
(*funktionen[modulnummer])
(Ssp_expand_zeile
,Ssp_expand_wert
,p_verwaltung->begin_modulblock
,p_verwaltung->anzahl_modulparameter);
---------------------------------------------------------------------
Funktionsbeschreibung:
Mit Hilfe dieses Moduls kÎnnen die Strings, die von der PSS, SKM kommen
oder als Parameter INPUT_STRING uebergeben werden,so zerlegt werden,
daÞ das Ergebnis vom Modul "m_auswertung" ausgewertet werden kann. Hierbei
sind die Restriktionen von m_auswertung befÏcksichtigt, d.h. die Strings
kÎnnen nicht beliebig lang sein. Die zulÌssige lÌnge ist vom gewÌhlten
Modus abhÌngig.
Beschreibung der ModulÏbergabeparameter:1 PRUEFSCHRITTGAUDI PrÏfschritt ------------------------------2 POSITION
PAV- Position ------------------------------ Eingabeparameter:3 MODUS
Art der Verarbeitung
ASCII_STR: Bei diesem Mode wird eine Integer-Ascii Wandlung
durchgefÏhrt. D. h. der Eingabestring ist eine Folge
von hexadezimal Zifferpaaren, die einen ASCII-String
codieren:
Beispiel:
Eingabestring: 65666768696A6B6C (65=e, 66=f, ..)
Zeigeranfang: 4
Zeigerende: 7
Ausgabestring: hijk
CHR_STR (STR): Die eingegebenen Zeichen werden als Characters
interpretiert. Dieser Modus dient zur Zeichenver-
arbeitung im herkoemmlichen Sinne.
Beispiel:
Eingabestring: Donaudampfschiff
Zeigeranfang: 4
Zeigerende: 7
Ausgabestring: auda (DIM: (CHR_)STR, STRCMP
audampfs (DIM: HEX_32, sonst)
Achtung: doppelte Ergebnisstringlaenge fuer HEX_32,
sonst
default: Falls keiner der obigen Modi ausgewaehlt
wurde,(evtl veraltete Notationen etc.)
tritt dieser Modus in Kraft.
Beispiel:
Eingabestring: Donaudampfschiff
Zeigeranfang: 4
Zeigerende: 7
Ausgabestring: ampf (DIM: (CHR_)STR, STRCMP)
ampfschi (DIM: HEX_32, sonst)
Achtung:
Doppelte Ergebnisstringlaenge fuer HEX_32, sonst
In beiden wird die Startposition verdoppelt!4 INPUT_STRINGString der zerlegt werden soll
STRING1: Der String der von der PSS/SKM als letztes empfangen
wurde und im Shared Memory abgelegt ist.
sonst:
String der hier eingetragen wird kann zerlegt werden.
Z.B. Messwertestrings aus beliebigen Modulen.5 ZEIGER_ANFAnfangsstelle der auszuwertenden Werte im String6 ZEIGER_END
Endstelle der auszuwertenden Werte im String
RÏckgabeparamter:7 ERGEBNISStringteil von ZEIGER_ANF - ZEIGER_END (STRING)8 FEHLERFLAG
Fehlerblocktitel vom SG9 DIM
Dimension des Ergebnisstrings
STR Verarbeitung von Strings.
maximale Ergebnisstringlaenge: 16
STRCMP Wie STR
HEX_32 Fuer Hex-Werte von 00000000...FFFFFFFF
maximale Ergebnisstringlaenge: 8
sonst maximale Ergebnisstringlaenge: 540
Zusammenfassung (tabellarische Uebersicht)
Modus DIM Eingabestring ANF ENDE Ergebnisstring
_______________________________________________________________
ASCII_STR alle 65666768696A6B6C 4 7 hijk (h=68)
CHR_STR (CHR_)STR Donaudampfschiff 4 7 auda
STRCMP
HEX_32 4 7 audampfs
sonst
sonst (CHR_)STR Donaudampfschiff 4 7 ampf
STRCMP
HEX_32 4 7 ampfschi
sonst