Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 5 von 5 ErsteErste ... 345
Ergebnis 41 bis 48 von 48

Thema: protool string archivieren?

  1. #41
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Pascal,
    wenn ich das richtig verstanden habe, dann suchst du einen Eintrag (einer Zeile). Die nächste Zeile stimmt doch dann wieder nicht mehr überein ...
    Bau doch mal die Anweisung Exit Loop ein, wenn du die gewünschte Zeile gefunden hast ...

  2. #42
    pascal ist offline Benutzer
    Themenstarter
    Registriert seit
    27.12.2007
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja richtig, jede Zeile wird (sollte) eingelesen werden, dann hol ich mir die position an der, in diesem Fall die 10stellige Materialnummer anfängt, wander 11 Stellen nach vorne (Materialnummer + Semikolon) und lass mir die darauf folgende Rezeptnummer wiedergeben.

    Verstehe jetzt aber nicht ganz was du genau meinst..
    Ich habe mich schon gefragt wo diese Rückgabe des Strings aufhört, aber da es ohne murren funktioniert hat habe ich mich nicht weiter damit beschäftigt.. Vielleicht kannst du nochmal kurz anschneiden wie du das meinst

    edit:
    ich beziehe mich doch immer nur auf eine Zeile, eben die Zeile die ich gerade eingelesen hab, also sollte es doch eigentlich laufen, in dem Fall würde ich von Anfang de Rezeptnummer lesen bis zum Ende des Strings

    edit edit:
    ich guck mir derweil mal die Geschichte mit der ExitLoop funktion an!

    edit edit edit:
    Bist nen Schatz
    Ein exit unter die "normale" Rückgabe und die Kiste läuft!
    Kann aber trotzdem nicht nachvollziehen warum, vielleicht könnteste noch ein zwei Worte darüber verlieren!

    Gruß

    Pascal
    Geändert von pascal (11.02.2008 um 16:14 Uhr)

  3. #43
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    "Exit Loop" solltest du in dem IF .. THEN -Abschnitt mit einbauen ...

    Das heißt :
    Wenn gefunden was gesucht wurde, dann Abbruch ... sonst weitersuchen und wenn am Ende nicht gefunden dann "999" ausgeben ...

  4. #44
    pascal ist offline Benutzer
    Themenstarter
    Registriert seit
    27.12.2007
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    habs jetzt so:

    If .... then
    position = instr(1,Stringzeile,Mat_nr)
    position = position+11

    Auftragsnr_verarbeiten = Mid(Stringzeile, position)
    Exit Do

    Else
    Auftragsnr_verarbeiten = 999

    End If

    Optimal ist das natürlich auch nicht (wenn auch ohne Folgen), jetzt würde ja bei jedem mal wo es nicht gefunden würde ne 999 in die Variable geschrieben und beim letzten Durchgang dann die Tatsächliche Rezeptnummer bzw. die 999 bleibt stehen wenn nichts gefunden wird

  5. #45
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    soll denn nicht 999 drin stehen wenn nix gefunden wird?

    aber wie LF schon schreibt muss da natürlich der exit rein (da hatte ich gar nicht drauf geachtet ), denn die else anweisung wird ja immer ausgeführt wenn die mat_nr nicht gefunden wurde.
    also klappt das ohne das exit nur, wenn die richtige mat_nr in der letzten zeile steht.

    edit:
    jetzt würde ja bei jedem mal wo es nicht gefunden würde ne 999 in die Variable geschrieben
    lass den else-teil weg und weise der var vor der loop-schleife 999 zu
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  6. #46
    pascal ist offline Benutzer
    Themenstarter
    Registriert seit
    27.12.2007
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Oh man ich hatte die ganze Zeit nen Brett vorm Kopf, wollte gerade eigentlich meine Frage zum Abbruch schreiben, da ist mir klar geworden wieso es nur in der letzten Zeile funktionieren konnte...

    edit:

    halbe stunde zu spät, danke Volker
    Geändert von pascal (11.02.2008 um 17:36 Uhr)

  7. #47
    pascal ist offline Benutzer
    Themenstarter
    Registriert seit
    27.12.2007
    Beiträge
    35
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Eine Frage hätte ich aber noch:

    Mal angenommen die Übereinstimmung wird in Zeile 5 gefunden, das würde doch dann heissen das 4mal die 999 zurückgegeben wird und am Schluss erst die richtige Rezeptnummer oder?

    Das Script ist jetzt so gekoppelt das wenn eine 999 in die Rezeptvariable geschrieben wird, eine Fehlermeldung generiert wird.
    Folgerichtig müssten ja dann eigentlich 4 Fehlermeldungen auftauchen, tun sie aber nicht..

    Ist zwar schön das es Funktioniert, aber könnte es da nicht eventuell zu unvorhergesehenen Fehlern kommen?

  8. #48
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... wenn du gemäß Volker's Beispiel weitergemacht hast, dann wird zwar deine Variable zunächst mit 999 initialisiert, dein Script ist aber erst abgearbeitet, wenn die Schleife zu Ende ist (entweder wirklich Ende oder über Exit). Hast du im Script keine Übereinstimmung gefunden, dann bleibt der Init-Wert erhalten, ansonsten der gefundene Eintrag.
    Du must dir da also m.E. keine Sorgen machen ...

    Gruß
    LL

Ähnliche Themen

  1. Konstante String in Variable String schreiben
    Von sailor im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 07.12.2009, 18:01
  2. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54
  3. Ein String kopieren in einen anderen String
    Von CanYouHelpMe im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.09.2008, 17:21
  4. Antworten: 4
    Letzter Beitrag: 19.09.2007, 16:48
  5. ProTool-Fehlermeldungen in String ?
    Von Larry Laffer im Forum HMI
    Antworten: 4
    Letzter Beitrag: 28.04.2007, 09:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •