Hallo,
Vielleicht liest du nächstes mal zuerst die Posts deutlicher bevor du wild drauf los schreibst!
Diese Fehlermeldung brachte mir mein Kompiler:
C:\***\Datei.cpp In function `int qMain(int, char**)':
70 C:\***\Datei.cpp [Warning] unused variable 'i'
Also mein Kompiler behauptet das!!!
Ich habe sowohl C also auch C++ -Header in meinen Qt-Projekten... zeig mal her dein "Standard-Code"... gleich zusammen mit den Fehlermeldungen!
Hier der Aufbau meines Projekts:
-Projekt: Server.dev
> Server.cpp
> Gui.h
> Connection.h
> Strings.h
> File.h
Server.cpp:
Code: Alles auswählen
//Server.cpp
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef SERVER_CPP
#define SERVER_CPP
#include <iostream>
#include "Gui.h"
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Widget_Server_Load::Widget_Server_Load()
{
vbl_main = new QVBoxLayout(this);
gl_address = new QGridLayout;
hbl_security = new QHBoxLayout;
gb_address = new QGroupBox("Adresse");
gb_security = new QGroupBox("Sicherheit");
l_port = new QLabel("Port: ");
l_clients_max = new QLabel("Maximale Benutzerzahl: ");
l_mode = new QLabel("Modus: ");
l_password = new QLabel("Passwort: ");
le_port = new QLineEdit;
le_clients_max = new QLineEdit;
le_mode = new QLineEdit;
le_password = new QLineEdit;
le_password->setEchoMode(QLineEdit::Password);
pb_load = new QPushButton("Hochladen");
gl_address->addWidget(l_port, 0, 0, 1, 1);
gl_address->addWidget(l_clients_max, 1, 0, 1, 1);
gl_address->addWidget(l_mode, 2, 0, 1, 1);
gl_address->addWidget(le_port, 0, 2, 1, 1);
gl_address->addWidget(le_clients_max, 1, 2, 1, 1);
gl_address->addWidget(le_mode, 2, 2, 1, 1);
hbl_security->addWidget(l_password);
hbl_security->addWidget(le_password);
gb_address->setLayout(gl_address);
gb_security->setLayout(hbl_security);
vbl_main->addWidget(gb_address);
vbl_main->addWidget(gb_security);
vbl_main->addWidget(pb_load);
connect(pb_load, SIGNAL( clicked() ), this, SLOT( Load() ) );
setWindowTitle("Server hochfahren");
}
Widget_Server_Load::~Widget_Server_Load()
{
}
void Widget_Server_Load::Load()
{
QMessageBox::information(this, "TestNachricht", le_port->text(), QMessageBox::Ok);
}
int main(int argc, char *argv[]) // 0 = True | 1 = False
{
QApplication a_server(argc, argv);
Widget_Server_Load *w_s = new Widget_Server_Load();
w_s->show();
return a_server.exec();
}
#endif
Gui.h
Code: Alles auswählen
//Gui.h
#ifndef GUI_H
#define GUI_H
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QGroupBox>
#include <QLabel>
#include <QPushButton>
#include <QLineEdit>
#include <QMessageBox>
class Widget_Server_Load : public QWidget
{
Q_OBJECT
private:
QVBoxLayout *vbl_main;
QGridLayout *gl_address;
QHBoxLayout *hbl_security;
QGroupBox *gb_address, *gb_security;
QLabel *l_port, *l_clients_max, *l_mode, *l_password;
QLineEdit *le_port, *le_clients_max, *le_mode, *le_password;
QPushButton *pb_load;
public:
Widget_Server_Load();
~Widget_Server_Load();
public slots:
void Load();
};
#endif
Soweit funktioniert das Projekt.
Wenn ich aber nun eine "normale" Header-Datei hinzufüge, so beschwert er sich:
File.h
Code: Alles auswählen
//File.h
#ifndef FILE_H
#define FILE_H
#include <fstream>
using namespace std;
struct FileClient
{
char bnme[30];
char pswd[20];
};
bool File_String_Exist(FileClient str, int mode); // 0 = True | 1 = False
bool File_String_Write(FileClient str); // 0 = True | 1 = False
bool File_String_Exist(FileClient str, int mode) // int mode == 1 -> Username & Password | int mode == 2 -> Username
{
ifstream file;
char string_1[50], string_2[50];
memset(&string_1, 0, sizeof(string_1));
memset(&string_2, 0, sizeof(string_2));
if(mode == 1)
{
strncpy(string_1, str.bnme, strlen(str.bnme));
strncat(string_1, "|", strlen("|"));
strncat(string_1, str.pswd, strlen(str.pswd));
}
else if(mode == 2)
strncpy(string_1, str.bnme, strlen(str.bnme));
string_1[strlen(string_1) + 1] = '\0';
file.open("Users.txt");
while(!file.eof())
{
file.getline(string_2, 50, '\n');
string_2[strlen(string_2) + 1] = '\0';
if(strncmp(string_1, string_2, strlen(string_1)) == 0)
return 1;
}
return 0;
}
bool File_String_Write(FileClient str)
{
ofstream file;
char string[50];
memset(&string, 0, sizeof(string));
strncpy(string, str.bnme, strlen(str.bnme));
strncat(string, "|", strlen("|"));
strncat(string, str.pswd, strlen(str.pswd));
file.open("Users.txt", ios::app);
file << string << '\n';
return 0;
}
#endif
Es kommen sofort unzählige Fehlermeldungen, welche ich jetzt nicht alle auflisten möchte...
Aber das schlimme ist, dass ich nicht einmal eine Intiger-Variable in der (q)-Main-Funktion erstellen kann, denn dann kommt sofort wieder obige Fehlermeldung!!
Erstelle ich sie jedoch außerhalb der (q)-Main-Funktion, so mekert er nicht!
Grüße
Gapa