<?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[Funktion in Klasse ändern]]></title><description><![CDATA[<p>Also, ich habe hier die WinApi-Funktion vom Upload auf FTP:</p>
<pre><code class="language-cpp">void upload(char *server, char *account, char *passwort); // Deklaration

void upload(char *server, char *account, char *passwort)
{
    HINTERNET hOpen, hConnection;

    hOpen = InternetOpen(&quot;FTP Upload&quot;, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

    hConnection = InternetConnect(hOpen, server, INTERNET_DEFAULT_FTP_PORT,
                                     account, passwort, INTERNET_SERVICE_FTP, 0, 0);

    FtpPutFile(hConnection, &quot;C:\\data.reg&quot;, &quot;//data.reg&quot;,
                  FTP_TRANSFER_TYPE_BINARY, 0);

    InternetCloseHandle(hConnection);
    InternetCloseHandle(hOpen);
}
</code></pre>
<p>Ich habe versucht, daraus eine Klasse zu machen, bin aber gescheitert.</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;wininet.h&gt;
#include &lt;process.h&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
#include &lt;time.h&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

class Upload

{
public:
	Upload();
    HINTERNET hOpen = InternetOpen(&quot;FTP Upload&quot;, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

    HINTERNET hConnection = InternetConnect(hOpen, server.c_str(), INTERNET_DEFAULT_FTP_PORT,
                                     account.c_str(), passwort.c_str(), INTERNET_SERVICE_FTP, 0, 0);

    BOOL FtpPutFile(hConnection, &quot;C:\\data.reg&quot;, &quot;//data.reg&quot;,
                  FTP_TRANSFER_TYPE_BINARY, 0);

    BOOL InternetCloseHandle(hConnection);
    BOOL InternetCloseHandle(hOpen);

};

Upload::Upload(): string account(&quot;account&quot;), string server(&quot;www.server.net&quot;), string passwort(&quot;passw.&quot;)
{
} 

int main()
{ 
	Upload up;

	return 0;
}
</code></pre>
<p><strong>FEHLER:</strong></p>
<pre><code>error C2864: &quot;Upload::hOpen&quot;: Nur statische konstante integrale Datenmember können innerhalb einer Klasse initialisiert werden.
error C2327: 'Upload::hOpen': Ist kein Typname, nicht statisch und kein Enumerator
error C2065: 'hOpen': nichtdeklarierter Bezeichner
error C2065: 'server': nichtdeklarierter Bezeichner
error C2228: Links von &quot;.c_str&quot; muss sich eine Klasse/Struktur/Union befinden.
1&gt;        Typ ist ''unknown-type''
error C2065: 'account': nichtdeklarierter Bezeichner
error C2228: Links von &quot;.c_str&quot; muss sich eine Klasse/Struktur/Union befinden.
1&gt;        Typ ist ''unknown-type''
error C2065: 'passwort': nichtdeklarierter Bezeichner
error C2228: Links von &quot;.c_str&quot; muss sich eine Klasse/Struktur/Union befinden.
1&gt;        Typ ist ''unknown-type''
error C2864: &quot;Upload::hConnection&quot;: Nur statische konstante integrale Datenmember können innerhalb einer Klasse initialisiert werden.
error C2061: Syntaxfehler: Bezeichner 'hConnection'
error C2061: Syntaxfehler: Bezeichner 'hConnection'
error C2061: Syntaxfehler: Bezeichner 'hOpen'
error C2535: 'BOOL Upload::InternetCloseHandle(void)': Memberfunktion bereits definiert oder deklariert
Siehe Deklaration von 'Upload::InternetCloseHandle'
error C2061: Syntaxfehler: Bezeichner 'account'
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/244706/funktion-in-klasse-ändern</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Apr 2026 22:40:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244706.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Jul 2009 15:04:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion in Klasse ändern on Sat, 04 Jul 2009 15:04:26 GMT]]></title><description><![CDATA[<p>Also, ich habe hier die WinApi-Funktion vom Upload auf FTP:</p>
<pre><code class="language-cpp">void upload(char *server, char *account, char *passwort); // Deklaration

void upload(char *server, char *account, char *passwort)
{
    HINTERNET hOpen, hConnection;

    hOpen = InternetOpen(&quot;FTP Upload&quot;, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

    hConnection = InternetConnect(hOpen, server, INTERNET_DEFAULT_FTP_PORT,
                                     account, passwort, INTERNET_SERVICE_FTP, 0, 0);

    FtpPutFile(hConnection, &quot;C:\\data.reg&quot;, &quot;//data.reg&quot;,
                  FTP_TRANSFER_TYPE_BINARY, 0);

    InternetCloseHandle(hConnection);
    InternetCloseHandle(hOpen);
}
</code></pre>
<p>Ich habe versucht, daraus eine Klasse zu machen, bin aber gescheitert.</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;wininet.h&gt;
#include &lt;process.h&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
#include &lt;time.h&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

class Upload

{
public:
	Upload();
    HINTERNET hOpen = InternetOpen(&quot;FTP Upload&quot;, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

    HINTERNET hConnection = InternetConnect(hOpen, server.c_str(), INTERNET_DEFAULT_FTP_PORT,
                                     account.c_str(), passwort.c_str(), INTERNET_SERVICE_FTP, 0, 0);

    BOOL FtpPutFile(hConnection, &quot;C:\\data.reg&quot;, &quot;//data.reg&quot;,
                  FTP_TRANSFER_TYPE_BINARY, 0);

    BOOL InternetCloseHandle(hConnection);
    BOOL InternetCloseHandle(hOpen);

};

Upload::Upload(): string account(&quot;account&quot;), string server(&quot;www.server.net&quot;), string passwort(&quot;passw.&quot;)
{
} 

int main()
{ 
	Upload up;

	return 0;
}
</code></pre>
<p><strong>FEHLER:</strong></p>
<pre><code>error C2864: &quot;Upload::hOpen&quot;: Nur statische konstante integrale Datenmember können innerhalb einer Klasse initialisiert werden.
error C2327: 'Upload::hOpen': Ist kein Typname, nicht statisch und kein Enumerator
error C2065: 'hOpen': nichtdeklarierter Bezeichner
error C2065: 'server': nichtdeklarierter Bezeichner
error C2228: Links von &quot;.c_str&quot; muss sich eine Klasse/Struktur/Union befinden.
1&gt;        Typ ist ''unknown-type''
error C2065: 'account': nichtdeklarierter Bezeichner
error C2228: Links von &quot;.c_str&quot; muss sich eine Klasse/Struktur/Union befinden.
1&gt;        Typ ist ''unknown-type''
error C2065: 'passwort': nichtdeklarierter Bezeichner
error C2228: Links von &quot;.c_str&quot; muss sich eine Klasse/Struktur/Union befinden.
1&gt;        Typ ist ''unknown-type''
error C2864: &quot;Upload::hConnection&quot;: Nur statische konstante integrale Datenmember können innerhalb einer Klasse initialisiert werden.
error C2061: Syntaxfehler: Bezeichner 'hConnection'
error C2061: Syntaxfehler: Bezeichner 'hConnection'
error C2061: Syntaxfehler: Bezeichner 'hOpen'
error C2535: 'BOOL Upload::InternetCloseHandle(void)': Memberfunktion bereits definiert oder deklariert
Siehe Deklaration von 'Upload::InternetCloseHandle'
error C2061: Syntaxfehler: Bezeichner 'account'
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1737048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1737048</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Sat, 04 Jul 2009 15:04:26 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Klasse ändern on Sat, 04 Jul 2009 15:57:55 GMT]]></title><description><![CDATA[<p>Wie wärs, wenn du erstmal lernst, was eine Klasse ist? So geht das jedenfalls nicht. Ein Anfang einer vernünftigen &quot;Umwandlung&quot;:</p>
<pre><code class="language-cpp">class Uploader
{
public:

	Uploader(const char *server, const char *name, const char *pw)
		: Server(server)
		, Name(name)
		, Password(pw)
	{
	}

	~Uploader()
	{
		close();
	}

	bool connect();

	void close();

	bool upload(const char *fileName)
	{
		//...
	}

private:

	string Server;
	string Name;
	string Password;

	HINTERNET SonstWas;
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1737074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1737074</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Sat, 04 Jul 2009 15:57:55 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Klasse ändern on Sat, 04 Jul 2009 19:24:36 GMT]]></title><description><![CDATA[<p>Habe versucht, es so zu machen, wie Du beschrieben hast, hat aber nicht geklappt:</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;wininet.h&gt;
#include &lt;process.h&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;
#include &lt;time.h&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

class Uploader
{
public:

    Uploader(const char *server, const char *name, const char *pw)
        : Server(&quot;www.server.net&quot;)
        , Name(&quot;acc&quot;)
        , Password(&quot;pw&quot;)
    {
    }

    ~Uploader()
    {
        close();
    }

    bool connect(const char *server, const char *name, const char *pw)
	{
	hOpen = InternetOpen(&quot;FTP Upload&quot;, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

    hConnection = InternetConnect(hOpen, server, INTERNET_DEFAULT_FTP_PORT,
                                     name, pw, INTERNET_SERVICE_FTP, 0, 0);
	return TRUE;
	}

    void close()
	{
	InternetCloseHandle(hConnection);
    InternetCloseHandle(hOpen);
	}

    bool upload(const char *fileName)
    {
    FtpPutFile(hConnection, &quot;C:\\data.reg&quot;, &quot;//data.reg&quot;,
               FTP_TRANSFER_TYPE_BINARY, 0);
	return TRUE;
    }

private:

    const string Server;
    const string Name;
    const string Password;

    HINTERNET hOpen, hConnection;
}; 

int main()
{ 
	Uploader up;
	return 0;
}
</code></pre>
<p><strong>Fehler:</strong></p>
<pre><code>(63) : error C2512: 'Uploader': Kein geeigneter Standardkonstruktor verfügbar
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1737164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1737164</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Sat, 04 Jul 2009 19:24:36 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Klasse ändern on Sat, 04 Jul 2009 20:06:03 GMT]]></title><description><![CDATA[<p>Ja! Steht da!<br />
Dein Komstruktor nimmt drei Parameter und Du hast keinen angegeben.</p>
<p>Wie wäre es mit enem Tutorial.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1737203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1737203</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sat, 04 Jul 2009 20:06:03 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Klasse ändern on Sun, 05 Jul 2009 10:56:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;wininet.h&gt;
#include &lt;process.h&gt;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;stdio.h&gt;
#include &lt;time.h&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

class Uploader
{
public:

    Uploader::Uploader() //Konstruktor??
        : Server(&quot;www.server.net&quot;)
        , Name(&quot;acc&quot;)
        , Password(&quot;pw&quot;)
    {
    }

    ~Uploader()
    {
        close();
    }

    bool connect(const string *server, const string *name, const string *pw)
    {
    hOpen = InternetOpen(&quot;FTP Upload&quot;, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);

    hConnection = InternetConnect(hOpen, server, INTERNET_DEFAULT_FTP_PORT,
                                     name, pw, INTERNET_SERVICE_FTP, 0, 0);
    return TRUE;
    }

    void close()
    {
    InternetCloseHandle(hConnection);
    InternetCloseHandle(hOpen);
    }

    bool upload(const char *fileName)
    {
    FtpPutFile(hConnection, &quot;C:\\data.reg&quot;, &quot;//data.reg&quot;,
               FTP_TRANSFER_TYPE_BINARY, 0);
    return TRUE;
    }

private:
    string Server;
    string Name;
    string Password;

    HINTERNET hOpen, hConnection;
};

int main()
{
    Uploader up;
    up.connect(soll ohne übergebene argumente funktionieren);
    cin.get();
    return 0;
}
</code></pre>
<p>Ich möchte die Methode &quot;connect&quot; so aufrufen, dass die String-Elemente automatisch an sie übergeben werden und die Verbidung dann auch sofort besteht. Konvertieren mit <code>c_str()</code> wollte nicht funktionieren.</p>
<p><strong>Geht nicht:</strong></p>
<pre><code class="language-cpp">hConnection = InternetConnect(hOpen, server.c_str(), INTERNET_DEFAULT_FTP_PORT,
                                     name.c_str(), pw.c_str(), INTERNET_SERVICE_FTP, 0, 0);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1737384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1737384</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Sun, 05 Jul 2009 10:56:32 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Klasse ändern on Sun, 05 Jul 2009 13:22:20 GMT]]></title><description><![CDATA[<p>HAT SICH ERLEDIGT. TOPIC BEENDET.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1737441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1737441</guid><dc:creator><![CDATA[skullyan]]></dc:creator><pubDate>Sun, 05 Jul 2009 13:22:20 GMT</pubDate></item></channel></rss>