Announcement

Collapse
No announcement yet.

fprintf und Panel1->Text

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

  • fprintf und Panel1->Text

    Ich habe ein Panel1->Text und Ich will das speichern in ein .txt Datei und
    das für x - einzahl mahl, hinten das Text muss noch mehrere integers angezeigt werden
    z.B.:



    ABCDEFGH 8 5
    KLOPHYUIPYY 9 4
    KUYTRREEEE 7 8
    LDLDL 8 9
    POYTEEE 9 7


    Aber dass StrLen muss für jeden Text in Datei gleich sein, da die zahlen in column format gut aussehn.

    Ich brauche
    fprintf(stream,"%s", Panel1->Text);
    fprintf(stream,"%d", zahl1);
    fprintf(stream,"%d\n", zahl2);

    aber dann kommen die zahlen nicht ganz gut aus.

    Ich habe auch mit StrLCat test gemacht aber dass bringt auch nichts.

  • #2
    Nutze ein Format wie
    ABCDEFGH#8#5

    Speichere das in einer TStringList mit SaveToFile und splitte das mit

    http://www.marquardtnet.info/cecke/q...quicky_01.html

    wieder auf und weise es deinen Variablen zu.
    Christian

    Comment


    • #3
      Dass verstehe Ich nicht ganz 100%


      Ich soll einmal erklären wass Ich genau will:

      Mit NMSMTP sende Ich ein Email mit attachment, z.B. "AFD.FIL"

      AFD.FIL will Ich gern ein einfache layout mitgeben dass mann dieses Datei
      in z.B. Word oder Excell kann laden wie normal text Datei.

      Ich weiss nicht welcher software die empfanger braucht und so haben wir das
      problemm nicht.

      Code:
      AAAAAAAAAA-------------------8------9
      BBBBBB-----------------------9------7
      CCCCCCCCCCC-----------------10------7 
      DDDDDDDDD------------------- 8------2
      EEEEEEE--------------------- 7------1
      die text ist nicht immer gleich in StrLen und dazu muss Ich x " " Karakters
      einfugen, aber die Text is nicht char aber Panel1->Text

      Wass Ich verstehe ist dass mit dass Quickie nür strings gelesen werden mit trenn zeigen.

      Nochmalls danke für Ihnen beitrage.

      Comment


      • #4
        TStringList *mylist=new TStringList();
        mylist->Add("AAAAAAAAAA-------------------8------9");
        mylist->Add("BBBBBB-----------------------9------7");
        .....

        mylist->SaveToFile("data.txt");
        delete mylist;
        Christian

        Comment


        • #5
          Danke aber dass funkioniert nicht.

          Ich denke dass Ich ein Konversion machen muss von

          AnsiString ---> char

          dann kann dass StrLen von char auslesen und kann ich z.B

          30-StrLen(char) - mal eine "-" additieren hinten char und dann
          ist jeden char genau gleich in länge.

          AAAAAAA----------
          BBBBBBBBBB-----

          Comment


          • #6
            Was funktioniert nicht??

            Der Code-> glaube ich nicht....

            Du solltest 2 Dinge unterscheiden:

            1. Erstellung der zu speichernden Daten
            2. das Speichern an sich

            zu 2. siehe oben

            zu 1.

            Es ist nicht notwendig mit char zu arbeiten die Klasse AnsiString bietet alles an. Dazu bsp dann Funktionen wie DupeString

            http://www.marquardtnet.info/cecke/q...quicky_50.html


            Des Weiteren ermittelt man die Länge nicht mit StrLen, sondern

            Strinf test="abc";
            int laenge=test.Length();
            Christian

            Comment


            • #7
              Die code funkioniert güt

              Aber Ich probiere nochmal dass zu erklären:

              Panel1->Text1 = "AAAAAAA"

              dass kommt in datei.txt

              dann kommt ein zahl, z.B. 8

              dass muss auf position 35 kommen, und dass zahl 2 auf z.B. 45

              dann kommt eine neue Panel1->Text1 = "BBBBB" wie nicht so länge ist
              wie "AAAAAAA".
              wann Ich zahl 1 auch am position 35 will muss ich 35-5 = 30 " " oder "-"
              einfügen hinten Panel1->Text;

              und so weiter muss Ich für jeden nachste Panel1->Text x mal "einfüg" karakters hinten Panel1->Text schreiben. so kann zahl 1 und zahl 2 immer
              auf die gleiche position gespeichert werden.

              Comment


              • #8
                String test="abcd";
                String filler=filler.StringOfChar('-',15);
                test+=filler;
                test+="15";
                filler=filler.StringOfChar('.',25);
                test+=filler;
                test+="25";


                Dann in der StringList Add'en und speichern

                Dazu nutze Pos, Length u.a der Stringklasse
                Christian

                Comment


                • #9
                  Danke !!! Alles klär...

                  Comment

                  Working...
                  X