Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 07:35

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Vector ausgabe

Discussion on Vector ausgabe within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2009
Posts: 4
Received Thanks: 0
Vector ausgabe

hallo, ich bin noch nicht ganz vertraut mit allen c++ funktionen und hätte eine frage und zwar will ich verschiedene variablen abspeichern, ausgeben dies mach ich mit einem vector und funktioniert auch soweit. jetzt muss ich die ganzen variablen von 1 an bis zum letzten eintrag ausgeben. das funktioniert auch nur mit einen problem, sobald ich ausführen drücke schmeißt er mir alle einträge binnen 1ner sekunde aufeinmal raus. ich hätte aber gerne z.b. alle 0,5 sekunden 1. eintrag. den vector lese ich in einem loop aus und ich habe es schon probiert mit sleep. das einzige was passiert ist: dass das bild für "die sleep zeit" hängt und dann alles aufeinmal wieder kommt.

hier noch wie ich es gemacht habe:
// Header
Code:
extern vector<myVec_class> Vec;
extern vector<myVec_class>::iterator VecIt;

class myVec_class{
public:
	int ID;
	int Type;
};
// So speicher ich die werte in den vector.
Code:
myVec_class myvec;
	myvec.ID = ID;
	myvec.Type = Type;
	Vec.push_back(myvec);
// CPP - Ausgeben
Code:
vector<myVec_class> Vec;
vector<myVec_class>::iterator VecIt;

for (VecIt = Vec.begin(); VecIt != Vec.end(); VecIt++)
{
	ID = VecIt->ID;
	Type = VecIt->Type;

		if (ID > 2 && Type == 1)
		{
			ui.textBrowser->append("ID : " + QString::number(ID) + "--Type : " + QString::number(Type));
		}

		if (ID > 2 && Type == 0)
		{
			ui.textBrowser->append("ID : " + QString::number(ID) + "--Type : " + QString::number(Type));
		}
}
wie gesagt bin noch ein ziemlicher newbie ^^ also bitte habt verständnis und ich hoffe hier eine antwort auf mein problem zu finden
mit Arrays hab ich es auch probiert aber bin zu dumm dafür glaub ich^^ hat mir immer nur den letzten wert angezeigt :P

lg thegamingxx/godric
thegamingxx is offline  
Old 12/04/2016, 04:18   #2
 
elite*gold: 0
Join Date: Oct 2007
Posts: 856
Received Thanks: 35
void Sleeptime(unsigned int delay){
unsigned int Time= GetTickCount();
while(Time+delay< GetTickCount()){}
}
sollte so klappen habs jetzt nicht getestet, wenn nicht sag bescheid dann schau ich
einfach in der for schleife
Sleeptime(500) für 0.5 sec
Slade100 is offline  
Old 12/04/2016, 11:10   #3


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Quote:
Originally Posted by Slade100 View Post
void Sleeptime(unsigned int delay){
unsigned int Time= GetTickCount();
while(Time+delay< GetTickCount()){}
}
sollte so klappen habs jetzt nicht getestet, wenn nicht sag bescheid dann schau ich
einfach in der for schleife
Sleeptime(500) für 0.5 sec
Das ist nur ein schlechteres Sleep und blockiert den Thread genauso, womit das GUI ebenfalls "hängt".
Habe gerade gegooglet und den ersten Treffer überflogen. Gibt bei Qt u.U. eine "update" und eine "repaint" funktion von der QWidget-Klasse. Erst eine Zeile hinzufügen, dann update und / oder repaint aufrufen, dann Sleep. Ist zwar weit entfernt von elegant (aber wieso sollte man ein Programm generell mutwillig verzögern?), aber dann sollte es klappen, nehme ich an.
Mit freundlichen Grüßen
Jeoni
Jeoni is offline  
Thanks
2 Users
Old 12/04/2016, 13:44   #4
 
elite*gold: 100
Join Date: Apr 2008
Posts: 860
Received Thanks: 1,475
Warum Sleep? Warum ein busy wait? Im Nebenthread, ok, kann man machen. Aber im Hauptthread macht das einfach keinen Sinn.

Umständlich: Nimm dir eine Methode, die zyklisch ausgeführt wird. Dort rechnest du:
Code:
if (last_run < GetTickCount() + wait_time) {
    last_run = GetTickCount();

    /* Dein Vector krams */
}
Einfach: Nimm den QTimer.
florian0 is offline  
Thanks
1 User
Old 12/04/2016, 21:47   #5
 
elite*gold: 0
Join Date: Sep 2009
Posts: 4
Received Thanks: 0
danke für eure antworten und mühe mir zu helfen. hab das problem mittlerweile anders gelöst und zwar mit arrays und der qt timer funktion funktioniert alles einwandfrei.
thread kann geclosed werden
mfg thegamingxx/godric
thegamingxx is offline  
Old 12/04/2016, 21:56   #6
 
elite*gold: 0
Join Date: Dec 2014
Posts: 442
Received Thanks: 211
QThread bzw. die thread Klasse aus der standard library (std::thread) kannst du hierfür benutzen, sofern dein Compiler >= C++11 unterstützt, sonst kannst du auch einfach auf die boost library zugreifen, die das gleiche macht.
Vergiss die mutex nicht, damit andere threads nicht auf deinen vector zugreifen können.
_asm is offline  
Old 12/16/2016, 19:00   #7
 
elite*gold: 0
Join Date: Dec 2016
Posts: 6
Received Thanks: 1
wozu soll er sein projekt unnötig mit qt libs belasten?
bis auf die gui libs ist das framework auch nicht das wahre
würde dann lieber für so was boost benutzen
Remix v242 is offline  
Reply


Similar Threads Similar Threads
Vector ?
10/17/2014 - C/C++ - 6 Replies
Hey, wollte mal etwas Fragen (2 sachen). Ich verende Vectoren(möchte sie verwenden) in einen TCP Server den ich im Moment schreibe. Ich habe 2 Threads die die Vectors erstmal bearbeiten. Code: DWORD TCP_Server::Client_Accept_Thread() { sockaddr_in Clientinfo; int Clientinfolen = sizeof(Clientinfo);
[c++] help with sub-vector
05/22/2014 - C/C++ - 8 Replies
Well, i have a vector that stores objects of my class named 'Tools': vercotr<Tools>myvect that has lets say 5 objects saved in it... But now i want to make a method that makes a subvector from lets say 2nd (start) to 4th (end/finish) element in myvect and returns that newly created subvector. returnSubvect(2,4); that is returning: subvect Can anyone explain me how to do this? -Was strugling with this for some time now, but i cant get it to work.
Vector out of bounce
06/05/2013 - C/C++ - 7 Replies
try { return MapContainer.at(index) ; } catch (std::exception& e) { std::cout << "Element " << index << ": index exceeds vector dimensions." << std::endl; }
Mw2 Vector
05/12/2011 - Call of Duty - 9 Replies
Stimmt das wenn man Schaldämpfer raufschrauft dass sich die Vector nicht mehr so verzieht
Hilfe bei vector [c++]
11/04/2010 - C/C++ - 17 Replies
Hilfe bei vector Ja, ich weiß, dass ich vieles frage. Aber man muss den Code ja auch verstehen den man schreibt und nicht einfach auswendig lernen... Vorweg: Ein vector ist sozusagen ein Datencontainer wo mehrere Daten eines Types z.B. int gespeichert werden. Also im Prinziep das selbe wie ein array.Mein Problem: Ich lese gerade ein Buch: Einführung in die Programmierung mit C++ von Bjarne Stroustrup (Erfinder von C++) Nun werden in diesem Buch nicht Arrays sondern Vectoren verwendet. die...



All times are GMT +1. The time now is 07:35.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.