Announcement

Collapse
No announcement yet.

Textdatei in Memo laden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Textdatei in Memo laden

    Hallo Leute<br>
    Ich will eine ?????.txt in ein Memo laden und anschließend in eine Datenbank schreiben. Das funktioniert ja ganz gut soweit außer die div. Sonderzeichen und Zeilenumbruchzeichen.<br><br>
    Hier mein Script<br>
    Memo4->SelectAll();<br>

    Memo4->CopyToClipboard();<br>

    DBMemo1->PasteFromClipboard();<br>

    Artikel->Post();<br>
    <br>
    Und so schaut der Text dann aus<br>
    00ÇModulares Patchkabel##<br>
    00mit 2xRJ45-Stecker geschirmt, CAT5-<br>
    00Kabel mit Aluschirm und Erddraht<br>
    08L#nge 5m úgrau ú
    <br><br>die ganzen 00etc müssen weg ## Wird jetzt im Memo als Zeilenumbruch dargestellt und halt die Sonderzeichen.
    <br>Was kann ich tun?<br><br>Danke für Eure Hilfe<br>Stefan

  • #2
    Die Zeichen suchen und durch Leerzeichen ersetzen?
    Christian

    Comment


    • #3
      Das ist eine Möglichkeit. Aber meiner Meinung nach müsste ich die formatierung Ändern, da ja die Umlaute auch nicht stimmen.<br>Grüße Stefa

      Comment


      • #4
        wieso den so kompliziert wieso schreibst du nicht einfach
        <PRE>
        DBMemo1-&gtText = Memo4-&gtText;
        </PRE>
        und schon hast du dein text so ind deinem DBMemo wie du ihn haben willst oder habe ich dich falsch verstanden

        Comment


        • #5
          Hi MisterX
          <br>Das geht auch, zum kopieren. Stimmt ist einfacher<br>
          Aber das Problem liegt nicht kopieren sondern beim einlesen der Textdatei. Ich muss diese formaterierungen wegbekommen evtl. ASCII-Ansi für Umlaute. Ich hab schon seit Tagen nach Lösungsansätzen gesucht aber nichts gefunden.<br><br>Grüße Stefa

          Comment


          • #6
            Hi !!

            achso !!

            hast du es schon so probiert um einen TXT file einzulesen ??
            <PRE>
            Memo4->Lines->LoadFromFile("C:\\test.txt"); // deine txt datei anstatt test.txt eingeben
            </PRE>

            dann müßte es klappen !!
            probiers mal

            Comment


            • #7
              Ja selbstverständlich. Hat blos beim kopieren gefehlt. ICh hab mir die Datein in verschiedenen Programmen mal angesehen.<br>
              1. muß ich die Datei als MSDOS (ASCii) einleisen wegen öäüß. Weiß aber nicht genau wie ich das anstellen soll.<br>
              2. Sonderzeichen muß ich suchen und ändern, dass sollte aber kein Problem mit replace sein.<br>
              3. Die ersten 2 Zeichen je Zeile muß ich löschen, da muß noch ausprobieren ob das geht was ich mir gerade ausgedacht habe.<br>Grüße Stefa

              Comment


              • #8
                Mhh also ich hab des unter Win eingelesen und txt datei mit dem win editor erstellt also bei mir ging des dann ...aber kann es sein das du dein TXT file als Unicode gespeichert hast ?? unter Wordpad z.b ??

                gruß !

                Comment


                • #9
                  Unter was die *.txt dateien abgespeichert sind weiß ich nicht. Ich weiß nr das ca. 15000 Stück sind und diese sich alle 6 Monate ändern. Das heist zu Fuß hab ich keinen Bock drauf diese zu ändern. Momentan bin ich Zeichen für Zeichen ändern zu lassen. Funktioniert aber noch nicht ganz.

                  Grüße Stefa

                  Comment


                  • #10
                    ok kannst du ganz einfach raus finden ...Öffne einfach mal eine der txt-datei mit dem win standard editor ...wenn alles richtig dargestellt ist müßte es normal ASCII sein wenn nicht dann ist es UNICODE...kannst es in dem fall ganz einfach umändern .einfach mit wordpad öffnen und unter speichern unter "txt-datei (MS-Dos)" auswählen und speichern ...mußt mal schauen

                    also bis dann !

                    Comment


                    • #11
                      Danke MisterX <br>
                      Text ist Unicode da auch im Editer die Sonderzeichen verkehrt sind und die Formatierung drin steht. Problem wie schon gesagt, ich habe ca. 15000 Datein und das alle 6 Monate. Gibt es eine Möglichkeit das gleich richtig rein zu laden in das Memo?<br>
                      Grüße Stefa

                      Comment


                      • #12
                        ja es ist schon möglich muß dann den text beim einlesen umwandeln
                        z.b mit StringToWideChar aber weiter kann ich dir momentan auch nicht helfen habe mich noch nicht damit beschäftigt ....aber wenn ich was weiß dann schreib ich es dir !

                        Comment


                        • #13
                          Hallo,

                          warum setzt du nicht Stringreplace ein ?

                          var
                          sCrLV : string;
                          begin
                          sCrLV := #13#10; // CR und LF
                          if Length(sSchadenDSN) <> 0 then
                          begin
                          sZeile := sZeile + tblSchadenSchadentag.AsString+';'+
                          tblSchadenUhrzeit.AsString+';'+
                          StringReplace tblSchadenSchadenort.AsString,sCrLV,' ',[rfReplaceAll])+';'+
                          StringReplace(tblSchadenSchadenumfang.AsString,sCr LV,' ',[rfReplaceAll])+';'+
                          StringReplace(tblSchadenHergang.AsString,sCrLV,' ',[rfReplaceAll])+';'+
                          tblSchadenGeschHoehe.AsString+';'+
                          tblSchadenSchadennr.AsString+';';

                          Es werden all CR und LF aus dem Memo entfernt.

                          Gruß Jör

                          Comment

                          Working...
                          X