ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
332
332
EMPFEHLEN
-
Ich stecke noch in den Kinderschuhen was allgemein und besonders objekt orientierte Programmierung angeht.
Eine Teilaufgabe meines Programmes ist es einen Extensionfilter von Dateien zu basteln und gueltige Dateinamen dann abzuspeichern. Hierfuer habe ich mich mit der vector Klasse begnuegt.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
void CImageLists::CreateListOfFiles(CString path) //Aufruf aus DLG Klasse { CFileFind fFinder; CString fExtension; fFinder.FindFile(path +_T("\\*.*")); while (fFinder.FindNextFile()) { fExtension=fFinder.GetFileName(); //Extension filter if(fExtension.Right(3)=="jpg" || fExtension.Right(2)=="dv" || fExtension.Right(3)=="bmp") { fNames.push_back(fFinder.GetFileName()); } } return; }
Das klappt soweit ganz gut.
Nun moechte ich allerdings den Vector erst wieder verwenden, wenn der Benutzer ein neues Ereignis ausloest (Button klickt) wo die Dateinamen benoetigt werden. Muss also den Vector global machen. Wie geht das?
In C++ ist mir das klar. Ich definiere die Variable oder was auch immer einfach ausserhalb der main. aber wie sieht es nun hier aus? Ich koennte den Vektor in einer gemeinsamen header Datei ablegen, so dass der Vektor dann von verschiedenen Stellen (Klassen) zu verschieden Zeiten zugaenglich ist.
Dies scheint mir aber kein sehr eleganter Weg.
Wie sieht es mit Veererbung aus? Steige nicht ganz hinter wie das funktioniert.
Fuer Tips waehre ich sehr dankbar.Geändert von rainer82 (06.08.09 um 08:55 Uhr)
-
06.08.09 12:18 #2
Moin,
irgendwie ist mir nicht klar, was Du genau meinst ...
Du hast scheinbar Deinen vector hier auch schon relativ global definiert (zumindest nicht in der geposteten Funktion) .....
Nur sind globale Variablen i. d. R. nicht unproblematisch! Du solltest sie immer als Parameter an eine Funktion übergeben!
Was meinst Du denn in diesen Zushg. mit "Vererbung"
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
Danke fuer die Antwort. Allein fuer die Schilderung meines Problems muss ich mich ziehmlich konzentrieren.

Nun ja, es geht mir darum eine Liste von Dateinamen mit der Funktionzu erzeugen. Diese Liste wird dann z.B. von einer anderen Funktion z. B.Code :1
void CImageLists::CreateListOfFiles(CString path)
benoetigt, wie diesen Fall, zum aufrufen der Dateien und Konvertierung der Images in eine Matrix.Code :1
CImageHandler::CreateMatrixOfFile(std::vector<CString> fNames)
Die Erstellung der Liste soll aber separat erfolgen, da die Liste auch von anderen Funktionen benoetigt wird. Ich moechte also die Liste nach Erstellung speichern wodurch sie damit dann fuer den weitern Programmablauf zugaenglich wird.
Muss ich dies tun, in dem ich die Liste in eine XML- oder TXT-Datei ablege und diese Datei bei Bedarf auslese? Gibt es da nicht andere Wege oder ist dies der eleganteste Weg?
RainerGeändert von rainer82 (07.08.09 um 05:15 Uhr)
-
07.08.09 08:37 #4
Moin,
solange Du diese Liste nur für den aktuellen Programmlauf benötigst, musst Du sie gar nicht speichern ! !
Sie wird ja in der entsprechenden Variablen im Speicher gehalten. Musst sie nur halt an die entspr. Stellen übergeben!
Andernfalls müsstest Du sie ja jedesmal, wenn Du drauf zugreifen willst, erneut auslesen .....
Speichern musst Du eigentlich nur dann, wenn sie nach dem nächsten Programmstart noch benutzt werden soll ! !
Allerdings kenne ich diese CImageList auch nicht. Liese sich das nicht mit Vektoren oder ähnlichen Containern eleganter lösen
Gruß
KlausEs ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
Ähnliche Themen
-
Deklaration gleichnamiger Klassen in verschiedenen »Modulen« eines CMS
Von 27apricot im Forum PHPAntworten: 4Letzter Beitrag: 03.07.10, 14:50 -
Methode mit Elementen aus 2 verschiedenen Klassen
Von maria im Forum C/C++Antworten: 3Letzter Beitrag: 18.01.10, 17:29 -
Gegenseitiger Zugriff von zwei Klassen in verschiedenen .h und .cpp Dateien
Von MRPSV im Forum C/C++Antworten: 2Letzter Beitrag: 02.07.09, 19:37 -
Struct in verschiedenen Klassen nutzen
Von Ozzy Ozborn im Forum C/C++Antworten: 1Letzter Beitrag: 12.11.07, 11:12 -
Problem mit Variablen in verschiedenen Klassen C#
Von Kai_Jack im Forum .NET Windows FormsAntworten: 6Letzter Beitrag: 18.10.05, 16:14





Zitieren

Login






