Announcement

Collapse
No announcement yet.

Datei kopieren / Datenbank-Datei als Vorlage verwenden

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

  • Datei kopieren / Datenbank-Datei als Vorlage verwenden

    Ich habe eine Datenbank zur Erfassung von Ereignissen einer Montageanlage erstellt, die für mehrere Kunden modifiziert werden soll. Ich habe mir die Sache folgendermaßen gedacht:
    Ich lasse eine "leere Datenbank" auf meinem Server und erstelle für jeden Kunden eine Kopie, die ich anschließend modifiziere und auf dem entsprechenden Montageleitrechner installiere. Mein Problem besteht darin die Datenbankdatei zu kopieren.

    Wie kann ich eine Datei kopieren?

    Ist es Sinnvoll die Aktion so zu lösen? Hat jemand eine bessere Idee?

    Ciao Martin

  • #2
    Hi Martin! <br>

    Die Idee ist nicht schlecht, so mache ich es auch.<br>
    Kopieren kannst Du doch mit ifstream ofstream(ios::binary).<br>

    Gruß Fre

    Comment


    • #3
      Hallo Fred.

      Danke für deine schnelle Antwort.

      Kannst du mir ein Beispiel zu der Sache bringen? Ich arbeite erst seit 4 oder 5 Wochen mit BCB. Hab vorher zwar Delphi programmiert, jedoch habe ich da auf Befehle wie BlockRead und BlockWrite zurückgegriffen.

      Ciao!

      mfg Marti

      Comment


      • #4
        Hi Martin!<br>

        ifstream if("Input",ios::binary );<br>
        ofstream of("Output,ios::binary );<br>
        char c;
        // hier müßte noch die Abfrage rein ob das öffnen geklappt hat<br>
        while( !if.eof() )<br>
        {<br>
        if.getc(c);<br>
        of.putc(c);<br>
        }<br>
        // man kann auch Blockweise einlesen und schreiben<br>
        // mit readBytes & writeBytes<br>
        // oder du arbeitest mit FILE<br>

        // FILE *in,out;<br>
        // char buffer[MAX_INT];<br>
        // in = fopen( "Input", "rb");<br>
        // out = fopen( "Output", "wb+");<br>
        // jetzt dateilänge abfragen usw.<br>
        // while(...)<br>
        // fwrite( &buffer, fread( &buffer, sizof(buffer), in ), out );<br>
        // fclose(in); fclose(out);<br>
        if.close();<br>
        of.close();<br>

        Gruß Fre

        Comment


        • #5
          Ich hab die Sache mal ausprobiert. Es klappt nicht. Der Compiler meldet mir andauernd : E2285 Keine Übereinstimmung für 'ifstream::basic_ifstream(AnsiString, ios_base:pen_mod)' gefunden.

          Hier mein Listing :

          <code>
          ifstream inf(OpenDialog1->FileName, ios::binary ); // <-Hier ist der Fehler.<br>
          ofstream of(SaveDialog1->FileName, ios::binary );<br>
          char c;<br>
          while( !inf.eof() )<br>
          {<br>
          inf.get(c);<br>
          of.put(c);<br>
          }<br>
          inf.close();<br>
          of.close();<br>
          </code>

          Ciao! Marti

          Comment


          • #6
            Hi Martin!<br>

            Sorry, ich vergaß das beim Builder AnsiString verwendet wird.<br>
            ifstream und ofstream verwenden char *;<br>
            ifstream( OpenDialog1->FileName.c_str(),ios::binary );<br>
            Ansonsten kannst Du fstream in( ..., ios::in(ios:ut)|ios::binary )
            benutzen.<br>

            Gruß Fre

            Comment


            • #7
              Die Sache mit dem *char ist mir auch schon aufgefallen.

              Hat jetzt doch geklappt. Danke für deine Hilfe. Bis kürzlich.

              Gruß Marti

              Comment

              Working...
              X