<?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[Problem mit Verschiebe-Programm]]></title><description><![CDATA[<p>Hi ich habe heute Nachmittag ein kleines Programm geschrieben.<br />
Es soll einen Ordner der Dateien in der Form xyz-v.irgendwas.irgendwas<br />
in Ordner mit den Namen xyz-v aufteilen. Ich hab es soweit geschafft aber leider kopiert er immer nur die erste datei im Verzeichnis<br />
Der Quellcode:</p>
<pre><code class="language-cpp">WIN32_FIND_DATA filedata;
    HANDLE filehandle;
    String newdirname;
   // int i;
    bool ok=true;

    if(dir==&quot;&quot;){
       Application-&gt;MessageBoxA(&quot;Sie müssen einen Pfad wählen&quot;,&quot;Hinweis&quot;,64);
       return;
    }
    Memo1-&gt;Lines-&gt;Add(&quot;Bearbeite das Verzeichnis: &quot;+dir);
    Memo1-&gt;Lines-&gt;Add(&quot;----------------------------------------Starte Vorgang----------------------------------------&quot;);
    filehandle = FindFirstFile((dir+&quot;\\*.*&quot;).c_str(), &amp;filedata);
    bool found = (filehandle != INVALID_HANDLE_VALUE);
    while (found == true)
    {
        if((filedata.dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY)==0){
           String subDirName=String(filedata.cFileName);
               int i=1;
               while(i&lt;subDirName.Length() &amp;&amp; ok){
                   if(String(subDirName[i]) ==&quot;.&quot;){
                      ok=false;
                   }else{
                      i++;
                   }
               }
               newdirname=String(filedata.cFileName);
               newdirname.Delete(i,newdirname.Length()-i+1);
               if(!DirectoryExists((dir+&quot;\\&quot;+newdirname).c_str())){
                  MkDir(dir+&quot;\\&quot;+newdirname);
                     if(!DirectoryExists(dir+&quot;\\&quot;+newdirname)){
                        Application-&gt;MessageBoxA((&quot;Fehler beim erstellen des Verzeichnis: &quot;+dir+&quot;\\&quot;+newdirname).c_str(),&quot;Fehler&quot;,16);
                        Memo1-&gt;Lines-&gt;Add(&quot;Fehler beim erstellen des Verzeichnis: &quot;+dir+&quot;\\&quot;+newdirname);
                        Memo1-&gt;Lines-&gt;Add(&quot;Es wird abgebrochen!&quot;);
                        return;
                     }

               }
               if(!MoveFile((dir+&quot;\\&quot;+subDirName).c_str(),(dir+&quot;\\&quot;+newdirname+&quot;\\&quot;+subDirName).c_str())){
                  Application-&gt;MessageBoxA(&quot;Fehler beim verschieben einer Datei&quot;,&quot;Fehler&quot;,16);
                  Memo1-&gt;Lines-&gt;Add(&quot;Fehler beim verschieben der Datei: &quot;+subDirName);
                  Memo1-&gt;Lines-&gt;Add(&quot;Es wird abgebrochen!&quot;);
                  return;
               }
               Memo1-&gt;Lines-&gt;Add(&quot;Die Datei: &quot;+subDirName+&quot; wurde erfolgreich in das Verzeichnis &quot;+dir+&quot;\\&quot;+newdirname+&quot; verschoben&quot;);

        }
        found = FindNextFile(filehandle, &amp;filedata);
    }
    FindClose(filehandle);
    Memo1-&gt;Lines-&gt;Add(&quot;----------------------------------------Erfolgreich beendet!----------------------------------------&quot;);
</code></pre>
<p>Ich hoffe es kann mir jemand helfen<br />
LG XBert</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/198053/problem-mit-verschiebe-programm</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 16:40:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198053.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Nov 2007 17:52:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Verschiebe-Programm on Sat, 17 Nov 2007 17:52:22 GMT]]></title><description><![CDATA[<p>Hi ich habe heute Nachmittag ein kleines Programm geschrieben.<br />
Es soll einen Ordner der Dateien in der Form xyz-v.irgendwas.irgendwas<br />
in Ordner mit den Namen xyz-v aufteilen. Ich hab es soweit geschafft aber leider kopiert er immer nur die erste datei im Verzeichnis<br />
Der Quellcode:</p>
<pre><code class="language-cpp">WIN32_FIND_DATA filedata;
    HANDLE filehandle;
    String newdirname;
   // int i;
    bool ok=true;

    if(dir==&quot;&quot;){
       Application-&gt;MessageBoxA(&quot;Sie müssen einen Pfad wählen&quot;,&quot;Hinweis&quot;,64);
       return;
    }
    Memo1-&gt;Lines-&gt;Add(&quot;Bearbeite das Verzeichnis: &quot;+dir);
    Memo1-&gt;Lines-&gt;Add(&quot;----------------------------------------Starte Vorgang----------------------------------------&quot;);
    filehandle = FindFirstFile((dir+&quot;\\*.*&quot;).c_str(), &amp;filedata);
    bool found = (filehandle != INVALID_HANDLE_VALUE);
    while (found == true)
    {
        if((filedata.dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY)==0){
           String subDirName=String(filedata.cFileName);
               int i=1;
               while(i&lt;subDirName.Length() &amp;&amp; ok){
                   if(String(subDirName[i]) ==&quot;.&quot;){
                      ok=false;
                   }else{
                      i++;
                   }
               }
               newdirname=String(filedata.cFileName);
               newdirname.Delete(i,newdirname.Length()-i+1);
               if(!DirectoryExists((dir+&quot;\\&quot;+newdirname).c_str())){
                  MkDir(dir+&quot;\\&quot;+newdirname);
                     if(!DirectoryExists(dir+&quot;\\&quot;+newdirname)){
                        Application-&gt;MessageBoxA((&quot;Fehler beim erstellen des Verzeichnis: &quot;+dir+&quot;\\&quot;+newdirname).c_str(),&quot;Fehler&quot;,16);
                        Memo1-&gt;Lines-&gt;Add(&quot;Fehler beim erstellen des Verzeichnis: &quot;+dir+&quot;\\&quot;+newdirname);
                        Memo1-&gt;Lines-&gt;Add(&quot;Es wird abgebrochen!&quot;);
                        return;
                     }

               }
               if(!MoveFile((dir+&quot;\\&quot;+subDirName).c_str(),(dir+&quot;\\&quot;+newdirname+&quot;\\&quot;+subDirName).c_str())){
                  Application-&gt;MessageBoxA(&quot;Fehler beim verschieben einer Datei&quot;,&quot;Fehler&quot;,16);
                  Memo1-&gt;Lines-&gt;Add(&quot;Fehler beim verschieben der Datei: &quot;+subDirName);
                  Memo1-&gt;Lines-&gt;Add(&quot;Es wird abgebrochen!&quot;);
                  return;
               }
               Memo1-&gt;Lines-&gt;Add(&quot;Die Datei: &quot;+subDirName+&quot; wurde erfolgreich in das Verzeichnis &quot;+dir+&quot;\\&quot;+newdirname+&quot; verschoben&quot;);

        }
        found = FindNextFile(filehandle, &amp;filedata);
    }
    FindClose(filehandle);
    Memo1-&gt;Lines-&gt;Add(&quot;----------------------------------------Erfolgreich beendet!----------------------------------------&quot;);
</code></pre>
<p>Ich hoffe es kann mir jemand helfen<br />
LG XBert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405009</guid><dc:creator><![CDATA[XBert]]></dc:creator><pubDate>Sat, 17 Nov 2007 17:52:22 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Verschiebe-Programm on Sun, 18 Nov 2007 08:23:09 GMT]]></title><description><![CDATA[<p>der Fehler befindet sich in Zeile 20 (while-Schleife): du hast den Wert von &quot;ok&quot; nicht wieder zurück gesetzt</p>
<p>noch ein paar Tipps:<br />
- falls du nur die Dateiendung entfernen willst schau dir mal die Funktion <em>ChangeFileExt</em> an<br />
- um den Punkt zu finden kannst du auch die AnsiString-Methode <em>Pos</em> verwenden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405166</guid><dc:creator><![CDATA[Linnea]]></dc:creator><pubDate>Sun, 18 Nov 2007 08:23:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Verschiebe-Programm on Sun, 18 Nov 2007 11:27:46 GMT]]></title><description><![CDATA[<p>Linnea schrieb:</p>
<blockquote>
<p>- um den Punkt zu finden kannst du auch die AnsiString-Methode <em>Pos</em> verwenden</p>
</blockquote>
<p>Oder <em>LastDelimiter</em>, schliesslich kann ein Dateiname ja mehrere Punkte enthalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405235</guid><dc:creator><![CDATA[Jansen]]></dc:creator><pubDate>Sun, 18 Nov 2007 11:27:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Verschiebe-Programm on Sun, 18 Nov 2007 16:32:11 GMT]]></title><description><![CDATA[<p>danke ich hab das problem dann am abend auch noch gefunden.<br />
aber das mit den mehreren punkten stimmt so wie ich es hab weil ich nur<br />
den teil vorm 1sten Punkt brauch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1405422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1405422</guid><dc:creator><![CDATA[XBert]]></dc:creator><pubDate>Sun, 18 Nov 2007 16:32:11 GMT</pubDate></item></channel></rss>