Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

21

03.02.2005, 10:18

Hi,

tatsächlich!
Ich habe noch folgendes:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <tribase.h>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    tbInit();

    string ZipName;
    string Pass;
    string dateiName;

    cout << "Geben Sie den Namen des Zip-Archives ein: ";
    cin >> ZipName;
    cout << "Geben Sie den Password fuer " << ZipName << " ein: ";
    cin >> Pass;
    cout << "Geben Sie den Namen der Datei ein: ";
    cin >> dateiName;

    tbVFile* File=new tbVFile;

    if(File->Init("test.txt@test.zip"))
    {
        cout << "Fehler beim Erstellen" << endl;
    }
    else
    {
        cout << "Alles klar!" << endl;
//      tbVFile::SaveToFile("tost.txt");

    }

    TB_SAFE_DELETE(File);
    tbExit();

    system("Pause");
    return 0;
}

Auskommentiertes geht nich: tost.txt wird nicht erstellt, folgendes kommt raus:error C2352: 'tbVFile::SaveToFile' : Unzulaessiger Aufruf einer nichtstatischen Member-Funktion.

Cya
PS: habe gleich Prüfung in Java/WinAPI/.NET.... :crying:
::check your reality::

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

22

03.02.2005, 11:34

Probier doch einfach mal folgendes:

C-/C++-Quelltext

1
File->SaveToFile("tost.txt");

23

03.02.2005, 18:30

Hi,

wie es aussieht, in der Zeile if(File->Init(".....@....#..."))kann man keine Variablen reinschreiben, oder gibt es doch eine Möglichkeit?

Ohne Variablen sieht das Programm etwas zu einfach aus.....:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <tribase.h>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    tbInit();

    string zipName;
    string pass;
    string dateiName;
    string dateiCheck="test.txt";
    string passCheck="kuku";
    string zipCheck="test.zip";
    bool status=0;

    tbVFile* File=new tbVFile;

    do
    {
        cout << "Geben Sie den Namen des Zip-Archives ein: ";
        cin >> zipName;
        cout << "Geben Sie den Password fuer " << zipName << " ein: ";
        cin >> pass;
        cout << "Geben Sie den Namen der Datei ein: ";
        cin >> dateiName;

        if((dateiName==dateiCheck)&&(zipName==zipCheck)&&(pass==passCheck))
        {
            if(File->Init("test.txt@test.zip#kuku"))
            {
                cout << "Fehler beim Erstellen" << endl;
            }
            else
            {
                cout << "Alles klar!" << endl;
                File->SaveToFile("tost.txt");
                status=1;
            }
        }
        else
        {
            cout << "Eingaben waren nicht korrekt!\n.............................." << endl;
        }
    }while(status==0);

    TB_SAFE_DELETE(File);
    tbExit();

    system("Pause");
    return 0;
}
Hat jemand Vorschläge?

@ Steve77: Danke!

Cya
::check your reality::

24

03.02.2005, 19:06

du kannst die funktionen "strcpy" und "strcat" benutzen. diese kanst du verwenden, weil sie entweder durch das "#include <iostream>" oder das "using namespace std;" zur verfügung gestellt werden. (da bin ich mir auch nicht so sicher!)

die funktionalitäten:

char* strcpy(char* ziel, char* quelle)
kopiert den string quelle in den string ziel...

char* strcat(char* ziel, char* quelle)
hängt quelle an ziel an. rückgabe ist ziel...

so kannst du dir einen neuen string aus mehreren andern zusammenfummeln.

25

04.02.2005, 00:32

Hi,

ja. is klar, aber.. versuch mal eine Variable in die Zeile reinzustellen:

Zitat

if(File->Init("test.txt@test.zip#kuku"))
also z.B

Zitat

if(File->Init(string))
bei mir hats nicht funktioniert.....

Cya
::check your reality::

26

04.02.2005, 09:30

Von welchem Typ ist denn diese Variable?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

27

04.02.2005, 11:21

schätzungsweise const char*....

28

04.02.2005, 12:25

Ja, schätzungsweise. Das vermute ich auch, aber wenns z.B. std::string ist, funktioniert das halt nicht. Dann müsste er c_str() aufrufen.

29

04.02.2005, 15:09

Hi,

ich habs, denke ich:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <tribase.h>
#include <iostream>
#include <string>

using namespace std;

int main()
{
    tbInit();

    string zipName;
    string pass;
    string fileName;

    bool status=0;

    string fileString;
    char fileArray[100];

    tbVFile* File=new tbVFile;

    do
    {
        cout << "Geben Sie den Namen des Zip-Archives ein: ";
        cin >> zipName;
        cout << "Geben Sie den Password fuer " << zipName << " ein: ";
        cin >> pass;
        cout << "Geben Sie den Namen der Datei ein: ";
        cin >> fileName;
        
        fileString=fileName + "@" + zipName + "#" + pass;
        strcpy(fileArray,fileString.c_str());

        if(File->Init(fileArray))           
        {
            cout << "Fehler beim Erstellen" << endl;
        }
        else
        {
            cout << "Alles klar!" << endl;
            File->SaveToFile("tost.txt");
            status=1;
        }
    }while(status==0);

    TB_SAFE_DELETE(File);
    tbExit();

    system("Pause");
    return 0;
}
Danke für Hinweise!

Cya
::check your reality::

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

30

04.02.2005, 18:21

Ich glaube, kaid hatte das wohl eher so gemeint:

C-/C++-Quelltext

1
2
3
4
5
6
string fileString;
// ...

if (File->Init(fileString.c_str()))
{
        // ...

}

Ist wesentlich eleganter ohne das olle Array.

Werbeanzeige