<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Datei schreiben]]></title><description><![CDATA[<p>hi,<br />
hab ein kleines programm geschrieben mit dem man ID3 Tag version 1 lesen \ schreiben kann ... nur leider bekomme ich immer nach dem ersten öffnen einer datei und darauffolgendes schreiben einen EAccess Violation ..... klicke ich ein 2tes mal auf &quot;schreiben&quot; wird der Tad ohne Probs geschreiben ..... kann mir jemand sagen woran's liegt ?? ....<br />
kann das prog auch senden ... email an <a href="mailto:ch-k@gmx.ch" rel="nofollow">ch-k@gmx.ch</a><br />
wäre toll wenn sich das mal jemand anschauen könnte ... komm seit tagen net drauf ....<br />
chris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/94960/datei-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 15:53:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/94960.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Dec 2004 18:19:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei schreiben on Tue, 14 Dec 2004 18:19:03 GMT]]></title><description><![CDATA[<p>hi,<br />
hab ein kleines programm geschrieben mit dem man ID3 Tag version 1 lesen \ schreiben kann ... nur leider bekomme ich immer nach dem ersten öffnen einer datei und darauffolgendes schreiben einen EAccess Violation ..... klicke ich ein 2tes mal auf &quot;schreiben&quot; wird der Tad ohne Probs geschreiben ..... kann mir jemand sagen woran's liegt ?? ....<br />
kann das prog auch senden ... email an <a href="mailto:ch-k@gmx.ch" rel="nofollow">ch-k@gmx.ch</a><br />
wäre toll wenn sich das mal jemand anschauen könnte ... komm seit tagen net drauf ....<br />
chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673206</guid><dc:creator><![CDATA[chri5]]></dc:creator><pubDate>Tue, 14 Dec 2004 18:19:03 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Tue, 14 Dec 2004 18:59:22 GMT]]></title><description><![CDATA[<p>Zeig mal twas Code von dem Bereich wo geschrieben wird.</p>
<p>(Öffnen, schreiben, schliessen der Datei)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673235</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Tue, 14 Dec 2004 18:59:22 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Tue, 14 Dec 2004 19:14:00 GMT]]></title><description><![CDATA[<p>hier wird gelesen :</p>
<pre><code class="language-cpp">datei = OpenDialog1-&gt;FileName;
//------------------------------------------------------------
     // datei - name ausgeben
     Edit1-&gt;Text = ExtractFileName(OpenDialog1-&gt;FileName);
     //   schreibschutz ??
     if ((FileGetAttr(datei) &amp;&amp; faReadOnly) &gt; 0)
        {
          geschuetzt = 1;    // File ist geschützt
          CheckBox2-&gt;Checked=true ;
        }
       else
        {
          geschuetzt = 0 ;   // nicht schreibgeschützt
          CheckBox2-&gt;Checked = false ;
        }
     // lesen
     tag_lesen();
     // char-feld in AnsiString wandlen
     v1_test = ChTOAn(gelesen.tag,3);
     // testen ob vorhanden wenn vorhanden dann ausgeben
     if (v1_test.AnsiCompare(&quot;TAG&quot;)==0)
.................
....................
..................
</code></pre>
<p>hier wird geschrieben:</p>
<pre><code class="language-cpp">void __fastcall TForm1::Button4Click(TObject *Sender)
{
    FILE *dat;
    int Atr,schreib;

     tag_neu_lesen();    // schreiben wird gefüllt
     if (CheckBox3-&gt;Checked ==  false &amp;&amp; CheckBox4-&gt;Checked == false)
        {
          ShowMessage(&quot;Bitte Version die geschrieben werden soll wählen&quot;);
        }
     if (CheckBox3-&gt;Checked == true )
      {
       if ( v1 == true )        // überschreiben
         {
          if (geschuetzt == 1) schreibschutz();
          // alten id3 V1 überschreiben ;
          dat = fopen(datei.c_str(),&quot;ab&quot; );
          fseek(dat,-128,SEEK_CUR);
          fseek(dat,0,SEEK_CUR);
          fwrite(&amp;schreiben,sizeof(id3),1,dat);
          fclose(dat);
          if (CheckBox5-&gt;Checked == true)
             sch_zurueck();
          Label8-&gt;Caption = &quot;ID3-Tag Version 1 geschrieben&quot; ;
         }
       else                // hinten anhängen
       {
        if (geschuetzt == 1)schreibschutz();
        // hinten anhängen
        dat = fopen(datei.c_str(),&quot;ab&quot; );
        //fseek(dat,-128,SEEK_CUR);
        //fseek(dat,0,SEEK_CUR);
        fwrite(&amp;schreiben,sizeof(id3),1,dat);
        fclose(dat);
        if (CheckBox5-&gt;Checked == true)
             sch_zurueck();
        Label8-&gt;Caption = &quot;ID3-Tag Version 1 geschrieben&quot; ;
       }

      tag_lesen();
      auto_umbenennen();
   }
}
</code></pre>
<p>die aufgerufenen funktionen:<br />
schreibschutz entfernen</p>
<pre><code class="language-cpp">void TForm1::schreibschutz(void)
{
     if (geschuetzt == 1 )

       FileSetAttr(datei, FileGetAttr(datei) ^ faReadOnly); //  schreibschutz aufheben
       //aufgehoben = 1;
       return;

      else
       return;
}
</code></pre>
<p>hoffe es is net zu kompliziert programmier und man kanns verstehen ? ...<br />
wenn net einfach fragen ....<br />
chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673250</guid><dc:creator><![CDATA[chri5]]></dc:creator><pubDate>Tue, 14 Dec 2004 19:14:00 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Tue, 14 Dec 2004 21:18:44 GMT]]></title><description><![CDATA[<p>Ja, wo kommt denn die AccessViolation? -&gt;Debugger...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673344</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673344</guid><dc:creator><![CDATA[HEZ]]></dc:creator><pubDate>Tue, 14 Dec 2004 21:18:44 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Wed, 15 Dec 2004 05:36:32 GMT]]></title><description><![CDATA[<p>[cpp]void TForm1::schreibschutz(void)<br />
{<br />
if (geschuetzt == 1 )<br />
<strong>{</strong><br />
FileSetAttr(datei, FileGetAttr(datei) ^ faReadOnly); // schreibschutz aufheben<br />
//aufgehoben = 1;<br />
return;<br />
<strong>}</strong><br />
else<br />
return;<br />
}<br />
[/cpp]</p>
<p>weil du in der if ja 2 .. äh 2 vorgänge hast !<br />
aber das hätt ja der compiler merken müssen..</p>
<p>sonst wo passierts denn? (@HEZ)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673421</guid><dc:creator><![CDATA[Blackhawk]]></dc:creator><pubDate>Wed, 15 Dec 2004 05:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Wed, 15 Dec 2004 05:58:19 GMT]]></title><description><![CDATA[<p>Blackhawk schrieb:</p>
<blockquote>
<p>sonst wo passierts denn? (@HEZ)</p>
</blockquote>
<p>Weiß ich doch nicht! :p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> (Spaß!)</p>
<p>Nun, die Korrektur der If-Abfrage macht eigentlich gar keinen Unterschied,</p>
<pre><code class="language-cpp">else
  return
</code></pre>
<p>wird ja eh ignoriert, wenns nach return kommt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/673427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673427</guid><dc:creator><![CDATA[HEZ]]></dc:creator><pubDate>Wed, 15 Dec 2004 05:58:19 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Wed, 15 Dec 2004 12:52:12 GMT]]></title><description><![CDATA[<p>hi,<br />
irgendwie kommt der Fehler nicht wenn ich mitm debugger durchgeh ....<br />
wie meinst das ??</p>
<blockquote>
<p>weil du in der if ja 2 .. äh 2 vorgänge hast !<br />
aber das hätt ja der compiler merken müssen..<br />
sonst wo passierts denn? (@HEZ)</p>
</blockquote>
<p>versteh nicht warum die 2 anweisungen in meinem if ein problem sein sollen is doch ein ganz normale</p>
<pre><code class="language-cpp">if (x==y) { machwas } else ....
</code></pre>
<p>chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673643</guid><dc:creator><![CDATA[chri5]]></dc:creator><pubDate>Wed, 15 Dec 2004 12:52:12 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Wed, 15 Dec 2004 12:55:51 GMT]]></title><description><![CDATA[<p>chri5 schrieb:</p>
<blockquote>
<p>hi,<br />
irgendwie kommt der Fehler nicht wenn ich mitm debugger durchgeh ....</p>
</blockquote>
<p>Aha. Dann gibts keinen Fehler und alle sind glücklich?</p>
<blockquote>
<p>versteh nicht warum die 2 anweisungen in meinem if ein problem sein sollen is doch ein ganz normale</p>
<pre><code class="language-cpp">if (x==y) { machwas } else ....
</code></pre>
<p>chris</p>
</blockquote>
<p>Diese lustigen Dinger um &quot;machwas&quot;...hmm... was bedeuten die wohl? Wo muss man die hinsetzen? <strong>Und wo fehlen sie?</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/673645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673645</guid><dc:creator><![CDATA[HEZ]]></dc:creator><pubDate>Wed, 15 Dec 2004 12:55:51 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Wed, 15 Dec 2004 13:12:34 GMT]]></title><description><![CDATA[<p>danke,<br />
ja ... hab die korrigierte version angeschaut .... jetzt hab ichs auch verstanden ....<br />
aber wie schon selber gesagt hast .... wenn dann wird eben nur der erste befehl beachtet ... reutrn kommt immer .....also daran dürfts doch net liegen ...<br />
hab gefunden wo er ihn macht .... aber gestern war das noch net so <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":-)"
      alt="🙂"
    /> ....<br />
aber der macht den wirklich nicht immer ... hab jetzt das programm öfter debuggt und immer in die gleiche datei schreiben wollen .. manchmal kam er manchmal nicht ... ....</p>
<pre><code class="language-cpp">if (CheckBox3-&gt;Checked == true )
      {
       if ( v1 == true )        // überschreiben
         {
          //if (geschuetzt == 1) schreibschutz();
          // alten id3 V1 überschreiben ;
          dat = fopen(datei.c_str(),&quot;ab&quot; );
          fseek(dat,-128,SEEK_CUR);    &lt;&lt;&lt;&lt;&lt;--- hier macht er ihn !! 
          fseek(dat,0,SEEK_CUR);  
          fwrite(&amp;schreiben,sizeof(id3),1,dat);
          fclose(dat);
          if (CheckBox5-&gt;Checked == true)
             sch_zurueck();
          Label8-&gt;Caption = &quot;ID3-Tag Version 1 geschrieben&quot; ;
         }
</code></pre>
<p>hab die zeile jetzt so geschrieben</p>
<pre><code class="language-cpp">fseek(dat,-128L*sizeof(char),SEEK_CUR);
</code></pre>
<p>ach verdammt ... das erste mal gings ... dan net ..dann doch ...dann net ....<br />
.. chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673661</guid><dc:creator><![CDATA[chri5]]></dc:creator><pubDate>Wed, 15 Dec 2004 13:12:34 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Wed, 15 Dec 2004 13:27:19 GMT]]></title><description><![CDATA[<p>der komplette code :</p>
<pre><code class="language-cpp">/---------------------------------------------------------------------------
#include &lt;vcl.h&gt;
#include &lt;stdio.h&gt;
#pragma hdrstop

#include &quot;id3.h&quot;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource &quot;*.dfm&quot;
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
  CheckBox4-&gt;Enabled= false;
  CheckBox3-&gt;Checked=true;
  geschuetzt = 0;
}
//---------------------------------------------------------------------------

AnsiString TForm1::ChTOAn(char *feld, int i)       // Char to AnsiString
{
     int a;
     AnsiString erg;
     for(a=0;a&lt;i;a++)
        {
         if(feld[a]==NULL) return erg;
          else
          erg += feld[a];
        }
     return erg;
}
//------------------
void TForm1::tag_lesen(void)
{
     FILE *dat;
     // tag - lesen
     dat = fopen(OpenDialog1-&gt;FileName.c_str(),&quot;rb&quot;);
     fseek(dat,-128,SEEK_END);
     fread(&amp;gelesen,sizeof(gelesen),1,dat);
     fclose(dat);
     return;
}
//------------------
void wandel(char *eins ,char *zwei ,int i)
{
    int x;
    for(x=0;x&lt;i;x++)
     {
      eins[x] = zwei[x];
     }
}
//----------------------
void TForm1::tag_neu_lesen(void)
{
     AnsiString gen;
     char x;
     char tg[3] = &quot;TAG&quot;;
     wandel(&amp;schreiben.tag[0],&amp;tg[0],3);
     wandel(&amp;schreiben.title[0],Edit2-&gt;Text.c_str(),30);
     wandel(&amp;schreiben.artist[0],Edit3-&gt;Text.c_str(),30);
     wandel(&amp;schreiben.album[0],Edit4-&gt;Text.c_str(),30);
     wandel(&amp;schreiben.year[0],Edit5-&gt;Text.c_str(),4);
     wandel(&amp;schreiben.comment[0],Edit6-&gt;Text.c_str(),30);
     schreiben.genre[0] = 0;
     //gen = ComboBox1-&gt;Text;
     //x = gen_schr(gen);
     //wandel(&amp;schreiben.genre[0],&amp;x,1);
     return;
}
//---------------
void TForm1::auto_umbenennen(void)
{
      AnsiString name;
      AnsiString art,tit;
      tit = ChTOAn(gelesen.title,30);
      art = ChTOAn(gelesen.artist,30);
       name = art ;
       name +=&quot;-&quot;;
       name +=tit;
       name += &quot;.mp3&quot;;
       Label7-&gt;Caption=name;
}
//-----------------
void TForm1::schreibschutz(void)
{
     if (geschuetzt == 1 )
      {
       FileSetAttr(datei, FileGetAttr(datei) ^ faReadOnly); //  schreibschutz aufheben
       //aufgehoben = 1;
       return;
      }
      else
      return;
}
//----
void TForm1::sch_zurueck(void)
{

      if (CheckBox5-&gt;Checked  ==  true )
        {
         FileSetAttr(datei, FileGetAttr(datei) || faReadOnly);
       //  aufgehoben = 0;
         return;
        }
      else
      return ;
}

//----------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
     int i;
     AnsiString name;
     AnsiString a,b,c,d,e;
     AnsiString gen_ver;
     AnsiString v1_test;
     OpenDialog1-&gt;Execute();
     datei = OpenDialog1-&gt;FileName;
//------------------------------------------------------------
     // datei - name ausgeben
     Edit1-&gt;Text = ExtractFileName(OpenDialog1-&gt;FileName);
     //   schreibschutz ??
     FileSetAttr(datei, FileGetAttr(datei) ^ faReadOnly); //  schreibschutz aufheben
     /*
     if ((FileGetAttr(datei) &amp;&amp; faReadOnly) &gt; 0)
        {
          geschuetzt = 1;    // File ist geschützt
          CheckBox2-&gt;Checked=true ;
        }
       else
        {
          geschuetzt = 0 ;   // nicht schreibgeschützt
          CheckBox2-&gt;Checked = false ;
        }*/
     // lesen
     tag_lesen();
     // char-feld in AnsiString wandlen
     v1_test = ChTOAn(gelesen.tag,3);
     // testen ob vorhanden wenn vorhanden dann ausgeben
     if (v1_test.AnsiCompare(&quot;TAG&quot;)==0)
     {
       // auto umbenennen
       auto_umbenennen();
       // ID3 - Ausgabe
       a=ChTOAn(gelesen.title,30);
       b=ChTOAn(gelesen.artist,30);
       c=ChTOAn(gelesen.album,30);
       d=ChTOAn(gelesen.year,4);
       e=ChTOAn(gelesen.comment,30);
       Edit2-&gt;Text = a;//gelesen.title  ; // eins;
       Edit3-&gt;Text = b;//gelesen.artist;
       Edit4-&gt;Text = c;//gelesen.album;
       Edit5-&gt;Text = d;
       Edit6-&gt;Text = e;
       //gen_ver = gen(gelesen.genre[0]);
       i = *gelesen.genre;
       if (i&gt;79 ) i =-1;
       ComboBox1-&gt;ItemIndex = i;  //gen_ver;
       //ComboBox1-&gt;Text = ComboBox1-&gt;Items-&gt;Strings[i];    //gen_ver;
       CheckBox1-&gt;Checked = true ;
       //CheckBox2-&gt;Checked = false ;
       v1= true;
      }
    else
    {
      v1=false;
      ShowMessage(&quot;Kein ID3v1 Tag gefunden !!&quot;);
      //CheckBox2-&gt;Checked = true ;
      CheckBox1-&gt;Checked = false ;
      Label7-&gt;Caption = &quot;&quot;;
      Edit2-&gt;Text = &quot;&quot;;
      Edit3-&gt;Text = &quot;&quot;;
      Edit4-&gt;Text = &quot;&quot;;
      Edit5-&gt;Text = &quot;&quot;;
      Edit6-&gt;Text = &quot;&quot;;
      ComboBox1-&gt;ItemIndex = -1;
    }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
   // manuelle eingabe Dateiname
    AnsiString anhang,name;
    name = Edit1-&gt;Text;
    anhang = ExtractFileExt(name);
    if (anhang.AnsiCompare(&quot;.mp3&quot;))
     name +=&quot;.mp3&quot;;
    RenameFile(OpenDialog1-&gt;FileName,name);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
    // Automatische eingabe Dateiname Title-Artist.mp3
   RenameFile(datei,Label7-&gt;Caption);
   datei;
   //RenameFile(OpenDialog1-&gt;FileName,Label7-&gt;Caption);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)
{
    FILE *dat;
    int Atr,schreib;

     tag_neu_lesen();    // schreiben wird gefüllt
     if (CheckBox3-&gt;Checked ==  false &amp;&amp; CheckBox4-&gt;Checked == false)
        {
          ShowMessage(&quot;Bitte Version die geschrieben werden soll wählen&quot;);
        }
     if (CheckBox3-&gt;Checked == true )
      {
       if ( v1 == true )        // überschreiben
         {
          //if (geschuetzt == 1) schreibschutz();
          // alten id3 V1 überschreiben ;
          dat = fopen(datei.c_str(),&quot;ab&quot; );
         fseek(dat,-128L*sizeof(char),SEEK_CUR);
          fseek(dat,0,SEEK_CUR);
          fwrite(&amp;schreiben,sizeof(id3),1,dat);
          fclose(dat);
          if (CheckBox5-&gt;Checked == true)
             sch_zurueck();
          Label8-&gt;Caption = &quot;ID3-Tag Version 1 geschrieben&quot; ;
         }
       else                // hinten anhängen
       {
        //if (geschuetzt == 1)schreibschutz();
        // hinten anhängen
        dat = fopen(datei.c_str(),&quot;ab&quot; );
        //fseek(dat,-128,SEEK_CUR);
        //fseek(dat,0,SEEK_CUR);
        fwrite(&amp;schreiben,sizeof(id3),1,dat);
        fclose(dat);
        if (CheckBox5-&gt;Checked == true)
             sch_zurueck();
        Label8-&gt;Caption = &quot;ID3-Tag Version 1 geschrieben&quot; ;
       }

      tag_lesen();
      auto_umbenennen();
   }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)
{
     int erg;
   erg =MessageDlg(&quot;Wirklich Schließen ?&quot;,mtConfirmation,TMsgDlgButtons() &lt;&lt; mbYes &lt;&lt; mbNo,0);
    if (erg == mrYes)
     {
       Close();
     }
}
//---------------------------------------------------------------------------
</code></pre>
<p>HEADER ::</p>
<pre><code class="language-cpp">//---------------------------------------------------------------------------
#ifndef id3H
#define id3H
//---------------------------------------------------------------------------
#include &lt;Classes.hpp&gt;
#include &lt;Controls.hpp&gt;
#include &lt;StdCtrls.hpp&gt;
#include &lt;Forms.hpp&gt;
#include &lt;Dialogs.hpp&gt;
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// Komponenten, die von der IDE verwaltet werden
    TButton *Button1;
    TButton *Button2;
    TButton *Button3;
    TButton *Button4;
    TButton *Button5;
    TEdit *Edit1;
    TEdit *Edit2;
    TEdit *Edit3;
    TEdit *Edit4;
    TEdit *Edit5;
    TEdit *Edit6;
    TComboBox *ComboBox1;
    TCheckBox *CheckBox1;
    TCheckBox *CheckBox3;
    TCheckBox *CheckBox4;
    TLabel *Label1;
    TLabel *Label2;
    TLabel *Label3;
    TLabel *Label4;
    TLabel *Label5;
    TLabel *Label6;
    TLabel *Label7;
    TOpenDialog *OpenDialog1;
    TLabel *Label8;
    TCheckBox *CheckBox2;
    TCheckBox *CheckBox5;
    void __fastcall Button1Click(TObject *Sender);
    void __fastcall Button2Click(TObject *Sender);
    void __fastcall Button3Click(TObject *Sender);
    void __fastcall Button4Click(TObject *Sender);
    void __fastcall Button5Click(TObject *Sender);

private:	// Benutzerdeklarationen
      AnsiString datei;
      bool v1;
      struct id3
      {
       char tag[3];
       char title[30];
       char artist[30];
       char album[30];
       char year[4];
       char comment[30];
       char genre[1];
      };
      struct id3 gelesen;
      struct id3 schreiben;
      int geschuetzt;
      //int aufgehoben;
public:		// Benutzerdeklarationen
    __fastcall TForm1(TComponent* Owner);
    AnsiString TForm1::ChTOAn(char *feld, int i);
    void TForm1::tag_lesen(void);
    void TForm1::tag_neu_lesen(void);
    void TForm1::auto_umbenennen(void);
    void TForm1::sch_zurueck(void);
    void TForm1::schreibschutz(void);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/673670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673670</guid><dc:creator><![CDATA[chri5]]></dc:creator><pubDate>Wed, 15 Dec 2004 13:27:19 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Wed, 15 Dec 2004 15:14:27 GMT]]></title><description><![CDATA[<p>Ich würde zuerst einmal die beiden Funktionen ChTOAn() und wandel() weglassen. Die brauchst du nämlich nicht.<br />
Bei ersterer kannst du einem AnsiString ein char* einfach zuweisen.<br />
char test1[] = &quot;Ein Test&quot;;<br />
AnsiString astr = test1;<br />
Für zweitere gibt es die Funktion strcpy bzw. strncpy (die ist besser).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/673786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/673786</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 15 Dec 2004 15:14:27 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Sat, 18 Dec 2004 15:57:24 GMT]]></title><description><![CDATA[<p>hi,<br />
leider weis ich immer nich net worans liegt .. ?<br />
chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/675985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/675985</guid><dc:creator><![CDATA[chri5]]></dc:creator><pubDate>Sat, 18 Dec 2004 15:57:24 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Sat, 18 Dec 2004 19:42:21 GMT]]></title><description><![CDATA[<p>chri5,</p>
<p>chri5 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">...
          dat = fopen(datei.c_str(),&quot;ab&quot; );
          fseek(dat,-128,SEEK_CUR);    &lt;&lt;&lt;&lt;&lt;--- hier macht er ihn !!
          ...
</code></pre>
</blockquote>
<p>da es sporadisch aufzutreten scheint: Prüfe zur Sicherheit die Gültigkeit des File-Pointers. Vielleich lungern ja noch irgend welche offenen streams in Deinem Code herum ... ist nur so 'ne Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676165</guid><dc:creator><![CDATA[dschensky]]></dc:creator><pubDate>Sat, 18 Dec 2004 19:42:21 GMT</pubDate></item><item><title><![CDATA[Reply to Datei schreiben on Sun, 19 Dec 2004 00:02:02 GMT]]></title><description><![CDATA[<p>hi,<br />
hab jetzt einfach alles was ab dem Fehler dazu kam nochmal geschrieben ....<br />
jetzt klappts ...<br />
irgendwie hab ich mir mit dem schreibschutz selber ein bein gestellt glaub ich ... egal ..jetzt gehts ....<br />
danke<br />
chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676365</guid><dc:creator><![CDATA[chri5]]></dc:creator><pubDate>Sun, 19 Dec 2004 00:02:02 GMT</pubDate></item></channel></rss>