Ich bin neu im Forum und habe ein Problem mit einer kleinen Anwendung.
Die Anwendung besitzt 2 Textfelder im ersten Textfeld wird text eingegeben und im 2. wir der text verändert ausgegeben.
Wenn ich versuche etwas aus einem Textfeld zu kopieren stürzt das programm ab und Windows XP meldet Project.exe hat ein Problem festgestellt und muss beendet werden.
Der Debugger sagt dazu: Fehler beim disassemblieren: cannot access memory at adress =x...
Hoffe ihr könnt mir elfen google konnte es bis jetzt noch nich.
hier der Code
main
Code: Alles auswählen
#include <QtGui>
#include "codierer.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Codierer w;
w.show();
return a.exec();
}
Code: Alles auswählen
#include "codierer.h"
#include <iostream>
#include <sstream>
char pcBuff[3000]; // Array in dem die ausgelesenen Zeichen gespeichert werden
char useArray[3000]; // Array mit dem gearbeitet wird um den Text auszugegben
unsigned int length; // Variable in der die Länge einer Zeile (Anzahl zeichen) gespeichet wird
int i = 0; // Hilfsvariable zugewiesener Wert = 0
int b = 0; // Hilfsvariable zugewieseer Wert = 0
int c;
char zeichena[] = {... }; // hier könnt ihr selbst was reinschreiben wenn ihr das programm probieren wollt
Codierer::Codierer(QWidget *parent)
: QWidget(parent)
{
ui->setupUi(this);
QObject::connect(ui->OkButton,SIGNAL(clicked()), this, SLOT(OkButtonPressed()));
}
Codierer::~Codierer()
{
delete ui;
}
void Codierer::OkButtonPressed()
{
QString zahl;
if(ui->CodierenAuswahl->isChecked())
{
QString text;
text = ui->Eingabe->toPlainText(); // lese pro zeile max 3000 zeichen aus und speichere in pcBuff[]
if(text.size()>0)
{
for(int z = 0; z<= text.size();z++)
{
useArray[z]= text[z].toAscii();
}
}
//Verschlüsseln
ui->Ausgabe->setPlainText("");
for(int j = 0; j <= text.size(); j++) // solange j <= length werden die nachfolgenden Schritte erfolgen wobei j
{
i = 0; // pro Durchgang um 1 erhöht wird
while(i <= 255)
{
if(zeichena[i] == useArray[j])
{
zahl = zahl.setNum(i);
ui->Ausgabe->insertPlainText(zahl);
ui->Ausgabe->insertPlainText(" ");
break;
}
i++;
}
}
}
}
Code: Alles auswählen
#ifndef CODIERER_H
#define CODIERER_H
#include <QObject>
#include "ui_codierer.h"
class Codierer : public QWidget
{
Q_OBJECT //
public:
Codierer(QWidget *parent = 0);
virtual ~Codierer();
public slots:
void OkButtonPressed();
private:
Ui::Codierprogramm *ui;
};
#endif //CODIERER_H
Code: Alles auswählen
#ifndef UI_CODIERER_H
#define UI_CODIERER_H
#include <QtCore>
#include <QtGui>
/********************************************************************************
** Form generated from reading UI file 'mainbO2104.ui'
**
** Created: Mon 31. Oct 19:50:44 2011
** by: Qt User Interface Compiler version 4.7.4
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QFrame>
#include <QtGui/QGridLayout>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QPushButton>
#include <QtGui/QRadioButton>
#include <QtGui/QSpacerItem>
#include <QtGui/QTextEdit>
#include <QtGui/QWidget>
QT_BEGIN_NAMESPACE
class Ui_Codierprogramm
{
public:
QGridLayout *gridLayout_5;
QSpacerItem *horizontalSpacer_13;
QFrame *frame;
QGridLayout *gridLayout;
QSpacerItem *horizontalSpacer_2;
QRadioButton *CodierenAuswahl;
QRadioButton *DecodierenAuswahl;
QSpacerItem *horizontalSpacer_3;
QSpacerItem *horizontalSpacer;
QSpacerItem *horizontalSpacer_11;
QSpacerItem *verticalSpacer_2;
QSpacerItem *horizontalSpacer_10;
QFrame *frame_2;
QGridLayout *gridLayout_3;
QLabel *label;
QSpacerItem *horizontalSpacer_5;
QTextEdit *Eingabe;
QSpacerItem *horizontalSpacer_4;
QSpacerItem *horizontalSpacer_8;
QSpacerItem *verticalSpacer;
QSpacerItem *horizontalSpacer_14;
QFrame *frame_3;
QGridLayout *gridLayout_4;
QLabel *label_3;
QSpacerItem *horizontalSpacer_7;
QSpacerItem *horizontalSpacer_6;
QTextEdit *Ausgabe;
QSpacerItem *horizontalSpacer_9;
QSpacerItem *horizontalSpacer_15;
QSpacerItem *verticalSpacer_3;
QSpacerItem *horizontalSpacer_12;
QPushButton *OkButton;
void setupUi(QWidget *Codierprogramm)
{
if (Codierprogramm->objectName().isEmpty())
Codierprogramm->setObjectName(QString::fromUtf8("Codierprogramm"));
Codierprogramm->resize(485, 588);
Codierprogramm->setStyleSheet(QString::fromUtf8("#Main{\n"
"background:white;\n"
"}\n"
"#frame{\n"
"border: 3px solid gray;\n"
"border-radius: 40px;\n"
"background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #eef, stop: 1 #ccf);\n"
"}\n"
"#frame_2{\n"
"border: 3px solid gray;\n"
"border-radius: 40px;\n"
"background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #eef, stop: 1 #ccf);\n"
"}\n"
"#frame_3{\n"
"border: 3px solid gray;\n"
"border-radius: 40px;\n"
"background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #eef, stop: 1 #ccf);\n"
"}"));
gridLayout_5 = new QGridLayout(Codierprogramm);
gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5"));
horizontalSpacer_13 = new QSpacerItem(31, 44, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_5->addItem(horizontalSpacer_13, 0, 0, 1, 1);
frame = new QFrame(Codierprogramm);
frame->setObjectName(QString::fromUtf8("frame"));
frame->setFrameShape(QFrame::StyledPanel);
frame->setFrameShadow(QFrame::Raised);
gridLayout = new QGridLayout(frame);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
horizontalSpacer_2 = new QSpacerItem(15, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout->addItem(horizontalSpacer_2, 0, 0, 1, 1);
CodierenAuswahl = new QRadioButton(frame);
CodierenAuswahl->setObjectName(QString::fromUtf8("CodierenAuswahl"));
CodierenAuswahl->setStyleSheet(QString::fromUtf8("font: 75 11pt \"MS Shell Dlg 2\";"));
gridLayout->addWidget(CodierenAuswahl, 0, 1, 1, 1);
DecodierenAuswahl = new QRadioButton(frame);
DecodierenAuswahl->setObjectName(QString::fromUtf8("DecodierenAuswahl"));
DecodierenAuswahl->setStyleSheet(QString::fromUtf8("font: 75 11pt \"MS Shell Dlg 2\";"));
gridLayout->addWidget(DecodierenAuswahl, 0, 3, 1, 1);
horizontalSpacer_3 = new QSpacerItem(14, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout->addItem(horizontalSpacer_3, 0, 4, 1, 1);
horizontalSpacer = new QSpacerItem(128, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout->addItem(horizontalSpacer, 0, 2, 1, 1);
gridLayout_5->addWidget(frame, 0, 1, 1, 5);
horizontalSpacer_11 = new QSpacerItem(41, 44, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_5->addItem(horizontalSpacer_11, 0, 6, 1, 1);
verticalSpacer_2 = new QSpacerItem(66, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
gridLayout_5->addItem(verticalSpacer_2, 1, 2, 1, 1);
horizontalSpacer_10 = new QSpacerItem(31, 237, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_5->addItem(horizontalSpacer_10, 2, 0, 1, 1);
frame_2 = new QFrame(Codierprogramm);
frame_2->setObjectName(QString::fromUtf8("frame_2"));
frame_2->setFrameShape(QFrame::StyledPanel);
frame_2->setFrameShadow(QFrame::Raised);
gridLayout_3 = new QGridLayout(frame_2);
gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
label = new QLabel(frame_2);
label->setObjectName(QString::fromUtf8("label"));
label->setStyleSheet(QString::fromUtf8("font: 75 11pt \"MS Shell Dlg 2\";"));
gridLayout_3->addWidget(label, 0, 1, 1, 1);
horizontalSpacer_5 = new QSpacerItem(35, 189, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_3->addItem(horizontalSpacer_5, 1, 0, 1, 1);
Eingabe = new QTextEdit(frame_2);
Eingabe->setObjectName(QString::fromUtf8("Eingabe"));
gridLayout_3->addWidget(Eingabe, 1, 1, 1, 1);
horizontalSpacer_4 = new QSpacerItem(35, 189, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_3->addItem(horizontalSpacer_4, 1, 2, 1, 1);
gridLayout_5->addWidget(frame_2, 2, 1, 1, 5);
horizontalSpacer_8 = new QSpacerItem(41, 237, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_5->addItem(horizontalSpacer_8, 2, 6, 1, 1);
verticalSpacer = new QSpacerItem(66, 1, QSizePolicy::Minimum, QSizePolicy::Expanding);
gridLayout_5->addItem(verticalSpacer, 3, 2, 1, 1);
horizontalSpacer_14 = new QSpacerItem(31, 219, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_5->addItem(horizontalSpacer_14, 4, 0, 1, 1);
frame_3 = new QFrame(Codierprogramm);
frame_3->setObjectName(QString::fromUtf8("frame_3"));
frame_3->setFrameShape(QFrame::StyledPanel);
frame_3->setFrameShadow(QFrame::Raised);
gridLayout_4 = new QGridLayout(frame_3);
gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
label_3 = new QLabel(frame_3);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setStyleSheet(QString::fromUtf8("font: 75 11pt \"MS Shell Dlg 2\";"));
gridLayout_4->addWidget(label_3, 0, 1, 1, 1);
horizontalSpacer_7 = new QSpacerItem(44, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_4->addItem(horizontalSpacer_7, 1, 0, 1, 1);
horizontalSpacer_6 = new QSpacerItem(44, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_4->addItem(horizontalSpacer_6, 1, 2, 1, 1);
Ausgabe = new QTextEdit(frame_3);
Ausgabe->setObjectName(QString::fromUtf8("Ausgabe"));
gridLayout_4->addWidget(Ausgabe, 1, 1, 1, 1);
gridLayout_5->addWidget(frame_3, 4, 1, 1, 5);
horizontalSpacer_9 = new QSpacerItem(41, 219, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_5->addItem(horizontalSpacer_9, 4, 6, 1, 1);
horizontalSpacer_15 = new QSpacerItem(107, 21, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_5->addItem(horizontalSpacer_15, 5, 0, 1, 2);
verticalSpacer_3 = new QSpacerItem(66, 21, QSizePolicy::Minimum, QSizePolicy::Expanding);
gridLayout_5->addItem(verticalSpacer_3, 5, 2, 1, 1);
horizontalSpacer_12 = new QSpacerItem(117, 21, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout_5->addItem(horizontalSpacer_12, 5, 5, 1, 2);
OkButton = new QPushButton(Codierprogramm);
OkButton->setObjectName(QString::fromUtf8("OkButton"));
OkButton->setStyleSheet(QString::fromUtf8("background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(46,207,255, 255), stop:1 rgba(0, 85, 255, 255));\n"
"font: 11 pt \"Roland\";\n"
"\n"
"color:rgb(255, 255, 127);\n"
"\n"
"border-width: 3px; \n"
" border-color: rgb(0, 0, 255);\n"
"border-style :solid;\n"
"border-radius: 7 ;\n"
"padding: 3px;"));
gridLayout_5->addWidget(OkButton, 5, 3, 1, 1);
retranslateUi(Codierprogramm);
QMetaObject::connectSlotsByName(Codierprogramm);
} // setupUi
void retranslateUi(QWidget *Codierprogramm)
{
Codierprogramm->setWindowTitle(QApplication::translate("Codierprogramm", "Form", 0, QApplication::UnicodeUTF8));
CodierenAuswahl->setText(QApplication::translate("Codierprogramm", "Codieren", 0, QApplication::UnicodeUTF8));
DecodierenAuswahl->setText(QApplication::translate("Codierprogramm", "Decodieren", 0, QApplication::UnicodeUTF8));
label->setText(QApplication::translate("Codierprogramm", "Zu codierender bzw. decodierender Text:", 0, QApplication::UnicodeUTF8));
label_3->setText(QApplication::translate("Codierprogramm", "Ausgabe:", 0, QApplication::UnicodeUTF8));
OkButton->setText(QApplication::translate("Codierprogramm", "OK", 0, QApplication::UnicodeUTF8));
} // retranslateUi
};
namespace Ui {
class Codierprogramm: public Ui_Codierprogramm {};
} // namespace Ui
QT_END_NAMESPACE
#endif
John