Zum Inhalt springen

Dateiname: des Öffnen-Dialogs von hinten nach vorne bearbeiten


Empfohlene Beiträge

Geschrieben

Hallo Leute.

Langsam verzweifle ich hier.

Will mehrere Daten die ich in einem Öffnen-Dialog ausgewählt habe in umgekehrter Reihenfolge in mein erstelltes array kopieren.

Habe folgenden Code:

private: System::Void openFileDialog2_FileOk(System::Object^ sender, System::ComponentModel::CancelEventArgs^ e) {

//ein neues Array für String anlegen und die markierten

//Namen kopieren

array <String^> ^dateien = openFileDialog2->FileNames->Reverse(); <<<<-------- Problem????

//wenn sich noch Einträge in der Liste befinden,

//löschen wir sie

if (listBox1->Items->Count != 0)

listBox1->Items->Clear();

//die Namen in das Listenfeld kopieren

for each (String ^datei in dateien)

listBox1->Items->Add(datei);

Das funktioniert aber irgendwie nicht. Kann mir jemand bitte helfen oder einen Tip geben. Wäre äußerst dankbar.

Grüße

Geschrieben
Das funktioniert aber irgendwie nicht.
:rolleyes:

<Gebetsmühle>

"Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung.

</Gebetsmühle>

Wenn du eine Fehlermeldung bekommst, dann sag sie uns auch. Wenn nicht, beschreibe das erwartete und das beobachtete Verhalten.

Geschrieben

Hallo Klotzkopp:)

So trifft man sich wieder.

Ich möchte die Auswahl der Bildern für meine Bilderschau so ändern, dass sie im Listenfeld im Wesentlichen in der Reihenfolge angezeigt werden, in der ich sie auch ausgewählt habe.

Ohne (glaube ich) die Reverse Funktion werden sie im Listenfeld aber in umgekehrter Reihenfolge angezeigt.

Ich habe nur einen Hinweis. Und zwar dass die Reihenfolge der Dateien bei der Auswahl nicht immer eindeutig ist. Ich will vor allem sicherstellen, dass die Liste mit den ausgewählten Dateien im Feld Dateiname: des Öffnen-Dialogs jetzt nicht mehr von vorne nach hinten verarbeitet wird sondern von hinten nach vorne.

Habe jetzt entsprechend den Code geändert, kriege zwar keine Fehlermeldung weiß aber nicht ob die Reihenfolge auch tatsächlich geändert wird. Sie ist irgendwie immer noch durcheinander.

Hier mein Code:

private: System::Void openFileDialog2_FileOk(System::Object^ sender, System::ComponentModel::CancelEventArgs^ e) {

//ein neues Array für String anlegen und die markierten

//Namen kopieren

array <String^> ^dateien = openFileDialog2->FileNames;

array <String^>::Reverse(dateien);

//wenn sich noch Einträge in der Liste befinden,

//löschen wir sie

if (listBox1->Items->Count != 0)

listBox1->Items->Clear();

//die Namen in das Listenfeld kopieren

for each (String ^datei in dateien)

listBox1->Items->Add(datei);

Geschrieben
Ich möchte die Auswahl der Bildern für meine Bilderschau so ändern, dass sie im Listenfeld im Wesentlichen in der Reihenfolge angezeigt werden, in der ich sie auch ausgewählt habe.
Willst du die Dateien in der Reihenfolge, in der du sie für die Auswahl markiert hast, oder in der sie angezeigt werden, nachdem du mit Auswählen fertig bist?
Geschrieben
Ohne (glaube ich) die Reverse Funktion werden sie im Listenfeld aber in umgekehrter Reihenfolge angezeigt.

Das ist so nicht richtig. Ich habe gerade mal ein bisschen herumprobiert um zu verstehen, was du meinst. Dabei ist mir aufgefallen, dass die markierten Dateien grundsätzlich in der richtigen Reihenfolge in die Textbox (und letztendlich dem FileNames-Array) landen, jedoch immer die zuletzt markierte Datei als erstes Element angezeigt wird. Dies hat vermutlich den Grund, dass der Anwender bei einem MultiSelect immer sofort sieht, welche Datei er zuletzt markiert hat. Leider wurde dieses Feature nicht zu Ende gedacht, sodass man das erste Array-Element "per Hand" ans Ende stellen muss.

Ich habe nur einen Hinweis. Und zwar dass die Reihenfolge der Dateien bei der Auswahl nicht immer eindeutig ist.

Eindeutig ist sie schon, sie unterliegt halt ungewohnten, logischen Regeln. Mir ist das auch erst klar geworden als ich mir ganz blöd 6 nummerierte Dateien erstellt habe und diese eine nach der anderen ausgewählt habe.

Geschrieben
Eindeutig ist sie schon, sie unterliegt halt ungewohnten, logischen Regeln.
Solange dieses Verhalten nicht irgendwo klar dokumentiert ist, wäre ich da eher vorsichtig. Das beobachtete Verhalten eines einzelnen Systems zu einem bestimmten Zeitpunkt auf alle Systeme und auf die Zukunft zu verallgemeinern, kann in die Hose gehen.

Man muss damit rechnen, dass es auf Rechner X oder nach der Installation von Update Y nicht mehr wie gewohnt funktioniert.

Geschrieben

Naja aus diesem Grund benutzen wir mit .NET ja ein Framework. Ich denke in diesem Fall ist das Verhalten schon eindeutig. Das ist ja der Sinn von Standards ;)

Im Endeffekt muss sowas eh getestet werden. Du kannst im Prinzip nur mit den Systemen testen und entwickeln, die du auch tatsächlich vorhanden hast. Alles andere wird sich halt leider als Fehler zurückmelden.

Aber ich mag an dieser Stelle nicht über solche Grundsätze diskutieren. Selbst wenn dieses "System" nicht beim TE zutrifft, so hat er wenigstens schon mal einen Ansatzpunkt, um das Problem vielleicht selbst zu lösen. Allemal besser als gar nicht antworten ;P

Geschrieben

Ich danke Euch.

Ich habe es jetzt doch mit der Reverse() Funktion lösen können.

Die Einträge (Auswahl meiner Bilder) die in Dateiname: standen hatte mittels

dieser Funktion auch richtig, von hinten nach vorne in mein Array gelegt.

Und es funzt..:)

So far so good....

Danke Euch

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...