3 Antworten Neueste Antwort am Jun 17, 2017 12:53 AM von Farmer

    ASCI-Zeichensatz?

    Farmer

      Ich habe seit kurzem mit einer vor vier Jahren erstellten FM Datei Probleme.

       

      Die Datei dient der Aufnahme von Nummern über einen Scanner in die Datei.

      In der Datei werden noch andere Informationen den einzelnen Datensätzen zugeordnet.

      Diese gesammelten Informationen werden in ein Textfeld in strukturierter Form geschrieben.

      Siehe unten.

       

      DH990001000000000800090000208000900003080009000040600090000624000900009080

      VH990001DD:     1996    20170601132933Westfalia DP5           AGRO2008

      CN Definitionen ADR <--> DP eingelesen

      CN 880001 Betriebsdaten (Kurzfassung für Kartenarten)

      CN ***************************************************************************

      CNBetrb_HerdcdTyp__Herdcode___Pstr(AE)__Nachname____Ort________

      CNBetrb_THerdcode_______AENachname______________________Ort_______________________________________________

      DN8800010080000101000800004150008000430200080060330000800612500

      VN8800015276130530481001 0Musterbetrieb    Ort                                      

      CN  Produced 1 Records 

      TN

      CN

      CN Entity 880005 Zugänge und Stammdaten 

      CN ***************************************************************************

      CNStammdHerdcdtyp__HrcdtypvorbBetrnr_____StatusCode_Rasse______AE_________Nutzungsart_ZugangscodeVorbesitzerNameZusatz_Geschlecht_EinstelldatMeldedat___VVVO-Bnr___Aktionscod_Vorbesitz__Datenherk__Ohrmarke___CNZugangTVBetrnr_________AEHVEinstellMeldedatVVVO-Bnr_______Gruppe_____GeburtdatumDheOhrmarke_______

      DN88000500800001010008000020100080000415000002107050008000300200080004201000800043020008000980100000211315000002205150008001110100090003408000820050080008200541500082005502000822037150009000330200090005308000900080150

      VN88000555276130530481001KALB 01?04?2761305801610015 Bruesewitz   22017060120170601276130530481001I 2761305801610011120170313276001305588950

      VN88000555276130530481001KALB 01?04?2761305801610015 Bruesewitz   22017060120170601276130530481001I 2761305801610011120170314276001305588952

      VN88000555276130530481001KALB 01?04?2761305801610015 Bruesewitz   22017060120170601276130530481001I 2761305801610011120170312276001305588948

      VN88000555276130530481001KALB 01?04?2761305801610015 Bruesewitz   22017060120170601276130530481001I 2761305801610011120170311276001305588946

       

       

      Danach wird das Textfeld mit Hilfe einer Funktion(BE_WriteTextToFile) aus einem PlugIn in eine Datei formatiert und kann dann von einem externen Programm eingelesen werden.

      Hier das Script.

       

      LKV_Meldung: Austauschdatei

       

      Gehe zu Layout [ “Zwischentabelle” (Scanner) ]

       

      Eigenes Dialogfeld anzeigen [ Titel: "Austauschdatei erzeugen"; Mitteilung: "Sollen die Daten für den Import in DP aufbereitet werden?"; Standardtaste: “OK”, Schreiben: “Ja”; Taste 2: “Abbrechen”, Schreiben: “Nein” ]

      Wenn [ Hole(LetzteMeldungswahl)=1 ]

       

      Variable setzen [ $DP_Austauschdatei; Wert:"\\\amsdc01\daten\dairypln\telemate\DP_ZUGANG.ADS" ]

      Variable setzen [ $DP_Inhalt; Wert:Austauschen(Scanner::DP_Schnittstelle_Inhalt;"¶";Char(10)) ]

      Variable setzen [ $DP_KA_Export; Wert:BE_WriteTextToFile($DP_austauschdatei;$DP_Inhalt)]

       

      Script ausführen [ “Filter Verschickt Scanner” ]

       

      Ende (wenn)

      Wenn [ Hole(LetzteMeldungswahl)=2 ]

       

      Script ausführen [ “Gehe Scanner_Formular und Sortiere nach Reversiv Zugang” ]

       

      Ende (wenn)

       

       

      Ich glaube, dass es mit der Scriptzeile  "Variable setzen [ $DP_Inhalt; Wert:Austauschen(Scanner::DP_Schnittstelle_Inhalt;"¶";Char(10)) ]" zusammenhängt.

      Die Scriptzeile hat den Zweck den Wagenrücklauf "¶" gegen "Line feed" auszutauschen und da gibt es seit kurzem das Problem.

      Das Zeichen für den Wagenrücklauf "¶" . Wenn ich es über Alt + 13 erzeuge,erscheint bei mir auf dem Rechner "♪" und für Alt +10 "◙".

      Das ist auf einem anderen Rechner genau das Gleiche.

       

      Leider habe ich keine Idee, wie ich das Problem behoben bekomme.

       

      Gruß

       

      Hans-Günter

        • 1. Re: ASCI-Zeichensatz?
          erolst

          Wagenrücklauf (Carriage Return) ist ASCII 13 und kann somit als Char(13) angeben werden:

           

          Austauschen ( Tabelle::feld ; Char(13) ; Char(10) )

           

          Allerdings ist das Pilcrow-Symbol (das sich auch aus der Operatoren-List einfügen lässt) identisch mit Char(13), d. h. der angestrebte Austausch sollte "eigentlich" auch damit funktionieren.

          • 2. Re: ASCI-Zeichensatz?
            Farmer

            Den Austausch des Pilcrow-Symbol durch Chair(13)  habe ich vorgenommen, leider keine Verbesserung.

            Meiner Meinung nach muss die Interpretation von "LF" (Alt + 10) im Scriptschritt

            Variable setzen [ $DP_KA_Export; Wert:BE_WriteTextToFile($DP_austauschdatei;$DP_Inhalt) nicht mehr funktionieren.

            • 3. Re: ASCI-Zeichensatz?
              Farmer

              Problem gelöst, ich habe den entscheidenden Tipp in einem Filemakerforum gefunden statt

              Austauschen(Scanner::DP_Schnittstelle_Inhalt;Char(13) ; Char(10)) jetzt

              Austauschen(Scanner::DP_Schnittstelle_Inhalt;Char(13) ;Char(13) & Char(10))