WorldRacer
Erfahrenes Mitglied
Hallo zusammen,
Ansatz:
bin für ein DirectX Overlay eine Kleine Listbox programmieren.
Die besteht aus einem std::string, der in etwa so aussieht:
Wie man sieht, sind die Einträge durch \n getrennt. Soweit funktioniert das auch, er zeigt die ListBox an. Ich möchte aber auch eine Funktion haben, die die Einträge in der Listbox zählt.
Ich habe folgendes geschrieben:
So sieht der Code dafür aus. Ich möchte, solang die Anzahl (count) kleiner als die Anzahl der sichtbaren Einträge (visibleitems) bleibt, alle Zeichen die in der Schleife ausgeworfen werden der "sichtbaren Liste" hinzufügen.
Hinterher sollte es so aussehen:
Problem:
Beim ausführen der Schleife stürzt die Anwendung ab. Es gibt einen Runtime error, der die Anwendung beendet. Ich gehe mal davon aus, das hier irgendwo ein Speicherzugriffsfehler steckt. Ich weiß nur nicht wo.
Danke schonmal für eure Hilfe.
Grüße,
WR
Ansatz:
bin für ein DirectX Overlay eine Kleine Listbox programmieren.
Die besteht aus einem std::string, der in etwa so aussieht:
Code:
std::string list = "Eintrag1\nEintrag2\nEintrag3";
Wie man sieht, sind die Einträge durch \n getrennt. Soweit funktioniert das auch, er zeigt die ListBox an. Ich möchte aber auch eine Funktion haben, die die Einträge in der Listbox zählt.
Ich habe folgendes geschrieben:
PHP:
// ### Variablen:
// Anzahl der Einträge (Temporär-Variable)
// ......... int count;
// Anzahl sichtbarer Einträge in der Listbox
// ......... int visibleitems ( = 2);
// String, der _alle_ Listeneinträge erhält:
// ......... std::string listitems (= "Eintrag1\nEintrag2\nEintrag3");
// String, der die _sichtbaren_ Listeneinträge enthält:
// ......... std::string visible_list = "";
if(listitems.size() > 0){
for(int i = 0; listitems.size()-1; i++){
if(count <= visibleitems){
const char* c = listitems.substr(i, 1).c_str();
if(c == "\n"){
count++;
}
this->visible_list.append(listitems.substr(i, 1));
}
}
}
So sieht der Code dafür aus. Ich möchte, solang die Anzahl (count) kleiner als die Anzahl der sichtbaren Einträge (visibleitems) bleibt, alle Zeichen die in der Schleife ausgeworfen werden der "sichtbaren Liste" hinzufügen.
Hinterher sollte es so aussehen:
Eintrag1
Eintrag2
Problem:
Beim ausführen der Schleife stürzt die Anwendung ab. Es gibt einen Runtime error, der die Anwendung beendet. Ich gehe mal davon aus, das hier irgendwo ein Speicherzugriffsfehler steckt. Ich weiß nur nicht wo.
Danke schonmal für eure Hilfe.
Grüße,
WR