Zeichenkette in Datei Speichern
Zeichenkette in Datei Speichern
Hallo Leute,
habe eben folgende Aufgabe bekommen und ich habe kein Plan wie ich da vorgehen soll.
Ich soll eine Oberfläche entwerfen wo man eine Adresse aus 16 Zeichen eingeben und abschicken kann. (Empfänger intressesiert uns noch nicht)
Da die Adresse so lang ist und aus verschiedenen Zeichen besteht, muss das Programm die jeweils eingegebene Adresse speichern können und dann die bereits eingegeben Adressen als Liste dem benutzer anbieten.
Das Programm soll die Adressen am besten als Textdatei spreichern und beim Laden des Programms diese Textdatei mit den Adressen automatisch laden.
Beispeil:
1. Adresse: SWT1:SET:YV:LKN=5404
2. Adresse: DHG0:GET:HJH:K:42040
Beide Adressen werden an ein anderes Programm gesendet.
Danach beende ich das Programm....
Nun starte ich das Programm wieder und die 2 Adressen sollen mir im Programm als LIste angeboten werden.
So nochmal: Es geht mir NUR wie ich diese Speicherung von Adressen und das Laden von Adressen realisiere
Vielen Dank schonmal für eure antworten.
EDIT: Zur Erläuterung nochmal
[*]In der ComboBox sollen die gespeicherten Adressen zur Verfügung stehen
[*]Im Unteren Feld gibt man die Adresse ein.
[*]Mit dem Klick auf Speichern werden die Adressen gespreichert [Senden spielt bis jetzt keine Rolle]
[*]Was ich mir noch vorstellen kann, dass ich die Datei wo die Adressen gespreichert sind, manuell lade und nicht automatisch...
Hat den keiner eine einfache Lösung dazu? Einfach in ein .txt File alles untereinander reinspeichern und dann wieder rausholen?
habe eben folgende Aufgabe bekommen und ich habe kein Plan wie ich da vorgehen soll.
Ich soll eine Oberfläche entwerfen wo man eine Adresse aus 16 Zeichen eingeben und abschicken kann. (Empfänger intressesiert uns noch nicht)
Da die Adresse so lang ist und aus verschiedenen Zeichen besteht, muss das Programm die jeweils eingegebene Adresse speichern können und dann die bereits eingegeben Adressen als Liste dem benutzer anbieten.
Das Programm soll die Adressen am besten als Textdatei spreichern und beim Laden des Programms diese Textdatei mit den Adressen automatisch laden.
Beispeil:
1. Adresse: SWT1:SET:YV:LKN=5404
2. Adresse: DHG0:GET:HJH:K:42040
Beide Adressen werden an ein anderes Programm gesendet.
Danach beende ich das Programm....
Nun starte ich das Programm wieder und die 2 Adressen sollen mir im Programm als LIste angeboten werden.
So nochmal: Es geht mir NUR wie ich diese Speicherung von Adressen und das Laden von Adressen realisiere
Vielen Dank schonmal für eure antworten.
EDIT: Zur Erläuterung nochmal
[*]In der ComboBox sollen die gespeicherten Adressen zur Verfügung stehen
[*]Im Unteren Feld gibt man die Adresse ein.
[*]Mit dem Klick auf Speichern werden die Adressen gespreichert [Senden spielt bis jetzt keine Rolle]
[*]Was ich mir noch vorstellen kann, dass ich die Datei wo die Adressen gespreichert sind, manuell lade und nicht automatisch...
Hat den keiner eine einfache Lösung dazu? Einfach in ein .txt File alles untereinander reinspeichern und dann wieder rausholen?
Zuletzt geändert von zheka777 am 4. November 2013 14:53, insgesamt 4-mal geändert.
Re: Zeichenkette in Datei Speichern
Wie wäre es mit einer sqlite Datenbank? Würde perfekt passen meiner Meinung nach.
Re: Zeichenkette in Datei Speichern
Danke für deine Antwort.
Könntest du evtl ein Beispiel Code schreiben, wie ich das machen soll?
Könntest du evtl ein Beispiel Code schreiben, wie ich das machen soll?
Re: Zeichenkette in Datei Speichern
Naja wegen deinem "Edit".
Du kannst mit einen QTextStream in ein QFile schreiben.
Beispiel aus der QFile Doku schreiben:
Beispiel aus der QFile Doku lesen:
Du kannst mit einen QTextStream in ein QFile schreiben.
Beispiel aus der QFile Doku schreiben:
Code: Alles auswählen
QFile file("out.txt");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
return;
QTextStream out(&file);
out << "The magic number is: " << 49 << "\n";
Code: Alles auswählen
QFile file("in.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
while (!file.atEnd()) {
QByteArray line = file.readLine();
process_line(line);
}
Re: Zeichenkette in Datei Speichern
EDIT:
Oder etwas einfacher:
Ich speichere einfach die eingegeben Adressen in der ComboBox? Das würde ja auch gehen oder?
***********************************************************************************************************************
Ja Doku hab ich auch angeschaut, aber mein Problem liegt eben daran, WIE bekomme ich diesen Text aus eben dieser Textbox IN die Datei und wie bekomme ich diesen Text aus der Datei in die ComboBox???
Ich muss ja zuerst den eingegeben Text auslesen:
so jetzt muss ich diesen Text als Liste in die Datei schreiben.....
und danach den ganzen Text aus der Datei lesen?
Mir fehlen einfach die Kenntnisse das zussamenzufügen...
Kann denn keiner spezifisch auf mein Beispeiel eingehen und nicht die Doku posten bitte?
Und in welche Klasse soll ich den diese QFile und QTextStream einfügen?
Kann sein, dass ich einfach zu dumm bin und die Zusammenhänge nicht sehe liegt einfach daran, dass ich gar keine Erfahrung in den Sachen hab...
Oder etwas einfacher:
Ich speichere einfach die eingegeben Adressen in der ComboBox? Das würde ja auch gehen oder?
***********************************************************************************************************************
Ja Doku hab ich auch angeschaut, aber mein Problem liegt eben daran, WIE bekomme ich diesen Text aus eben dieser Textbox IN die Datei und wie bekomme ich diesen Text aus der Datei in die ComboBox???
Ich muss ja zuerst den eingegeben Text auslesen:
Code: Alles auswählen
void MainWindow::speichereText(QString text) {
QString a;
a = (ui->lineEdit_3->text());
text = a;
}
und danach den ganzen Text aus der Datei lesen?
Mir fehlen einfach die Kenntnisse das zussamenzufügen...
Kann denn keiner spezifisch auf mein Beispeiel eingehen und nicht die Doku posten bitte?
Und in welche Klasse soll ich den diese QFile und QTextStream einfügen?
Kann sein, dass ich einfach zu dumm bin und die Zusammenhänge nicht sehe liegt einfach daran, dass ich gar keine Erfahrung in den Sachen hab...
Re: Zeichenkette in Datei Speichern
Hi
Du hast ja nicht nur eine Frage sonder ein ganzes Projekt welches aus mehreren Punkten besteht.
Ohne den Sourcecode zu sehen ist es halt nicht so einfach sich in deine Schlussfolgerungen hinein zu denken.
Wenn ich mir deine Beschreibung anschaue würde ich sagen das dieses Projekt in folgende Module unterteilen werden kann
1) GUI – Grafische Oberfläche (soweit ich das verstanden habe hast du diese bereits)
2) Zugriff auf die GUI (Maus klick + Funktionsaufruf)
3) Verarbeiten der Daten (im Moment nicht wichtig - kommt später hinzu)
4) Speichern der Daten aus der GUI in eine *.txt Datei
5) Lesen der Daten aus eine *.txt Datei und hinzufügen zu deiner GUI
Soweit ich deine Beschreibung verstanden habe sind die Punkte 1 bis 3 klar bzw. werden erst später ausgeführt.
Falls meine Annahme falsch ist bitte Bescheid geben.
Zu Punkt 4:
Per druck auf den Button „Speichern“ führst du eine Funktion aus welche auf LineEdit zugreift und den Inhalt der Eingabe als String in eine Datei speichert.
Zu Punkt 5:
Beim Starten deine Programms führst ganz zum Schluss eine Funktion aus welche aus einer Datei die Daten ausliest und diese Daten der GUI zuweist.
Du hast ja nicht nur eine Frage sonder ein ganzes Projekt welches aus mehreren Punkten besteht.
Ohne den Sourcecode zu sehen ist es halt nicht so einfach sich in deine Schlussfolgerungen hinein zu denken.
Wenn ich mir deine Beschreibung anschaue würde ich sagen das dieses Projekt in folgende Module unterteilen werden kann
1) GUI – Grafische Oberfläche (soweit ich das verstanden habe hast du diese bereits)
2) Zugriff auf die GUI (Maus klick + Funktionsaufruf)
3) Verarbeiten der Daten (im Moment nicht wichtig - kommt später hinzu)
4) Speichern der Daten aus der GUI in eine *.txt Datei
5) Lesen der Daten aus eine *.txt Datei und hinzufügen zu deiner GUI
Soweit ich deine Beschreibung verstanden habe sind die Punkte 1 bis 3 klar bzw. werden erst später ausgeführt.
Falls meine Annahme falsch ist bitte Bescheid geben.
Zu Punkt 4:
Per druck auf den Button „Speichern“ führst du eine Funktion aus welche auf LineEdit zugreift und den Inhalt der Eingabe als String in eine Datei speichert.
Code: Alles auswählen
/Zu Punk 4
void MainWindow::saveClicked()
{
//QLineEdit pLineEdit;
writeToFile( pLineEdit->text );
}
void MainWindow::writeToFile( QString sData )
{
QFile file("out.txt");
if( file.open(QIODevice::WriteOnly | QIODevice::Text) )
{
QTextStream out(&file);
out << sData;
}
else
{
qDebug() << "ERROR: File not Found";
}
}
Beim Starten deine Programms führst ganz zum Schluss eine Funktion aus welche aus einer Datei die Daten ausliest und diese Daten der GUI zuweist.
Code: Alles auswählen
//Zu Punk 5
void MainWindow::readFromFile( QString sData )
{
//QLineEdit pLineEdit;
QFile file("out.txt");
if( file.open(QIODevice::ReadOnly | QIODevice::Text) )
{
QTextStream in(&file);
while (!in.atEnd())
{
QString line = in.readLine();
pLineEdit->insert( line );
}
}
else
{
qDebug() << "ERROR: File not Found";
}
}