INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Screenshots speichern, Problem mit fortlaufender Nummer



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

10.04.2008, 15:44
Beitrag #1

Grobi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 220
Registriert seit: Jan 2007

2013
2006
kA

26725
Deutschland
Screenshots speichern, Problem mit fortlaufender Nummer
Moin, ich habe ein kleines Problem.

Also ich habe mir ein VI gebaut, das mir Screenshots eines beliebigen Graphen erstellt.

Dieses VI bekommt eine Graphenreferenz übergeben, und legt dann ein Image des Graphen in
einem Ordner ab, der im Pfad der Apllikation vorher erstellt wird.

Soweit so gut, das funktioniert auch alles einwandfrei.

Weiterhin wird das Bild jetzt mit fortlaufender Nummer dort abgelegt. PIC1.bmp bis PICX.bmp.
Wenn ich jetzt beliebige Bilder mit Hand lösche, werden die fehlenden Stellen quasi wieder
aufgefüllt.

Jetzt suche ich aber eine bessere Möglichkeit das ganze durchzuführen, denn ich mach es
aktuell so, dass ich mir jede Datei nacheinander anschaue.

Ich beginne mit PIC1, sehe die ist da, also weiter.. PIC2, ist da, ok weiter, PIC3, ist nicht da, Bild speichern als PIC3.bmp


Das geht alles super, solange man nicht 1000 oder mehr Bilder hat. Nun suche ich nach einer Möglichkeit,
wo ich zum Beispiel auf einen Schlag die höchste vorkommende Zahl im Dateinamen dieses Ordners finden kann,
ohne mir nacheinander jeden Dateinamen auf die Zahl hin zu überprüfen.
Bei vielen Bildern wird das ganze halt unangenehm langsam..


Ich hoffe ihr habt eine Anregung, mir fällt nämlich echt nix ein wie ich das realisieren kann.

mfG
Robert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.04.2008, 17:11
Beitrag #2

dc6xs Offline
registered alien
****


Beiträge: 762
Registriert seit: Aug 2006

6.1,7.00
2006
kA

79106
Sonstige
Screenshots speichern, Problem mit fortlaufender Nummer
' schrieb:...

Weiterhin wird das Bild jetzt mit fortlaufender Nummer dort abgelegt. PIC1.bmp bis PICX.bmp.
Wenn ich jetzt beliebige Bilder mit Hand lösche, werden die fehlenden Stellen quasi wieder
aufgefüllt.

Jetzt suche ich aber eine bessere Möglichkeit das ganze durchzuführen, denn ich mach es
aktuell so, dass ich mir jede Datei nacheinander anschaue.

Ich beginne mit PIC1, sehe die ist da, also weiter.. PIC2, ist da, ok weiter, PIC3, ist nicht da, Bild speichern als PIC3.bmp
Das geht alles super, solange man nicht 1000 oder mehr Bilder hat. Nun suche ich nach einer Möglichkeit,
wo ich zum Beispiel auf einen Schlag die höchste vorkommende Zahl im Dateinamen dieses Ordners finden kann,
ohne mir nacheinander jeden Dateinamen auf die Zahl hin zu überprüfen.
Bei vielen Bildern wird das ganze halt unangenehm langsam..
Ich hoffe ihr habt eine Anregung, mir fällt nämlich echt nix ein wie ich das realisieren kann.

mfG
Robert

Hai Namensvetter,

a) warum als bmp? die Brauchen doch nur viel Platz.. PNG ist besser für was geeignet.
b) machste wirklich PIC1.bmp bis PIC9999.bmp? Wegen der Sortiererei würd ich da eher PIC0001.bmp bis PIC9999.bmp (oder .png nach a )
c) für jeden Tag ein neuen Ordner mit dem Datum anlegen?
d) unter Linux kannste dir mit ls -r PIC*.bmp den Inhalt eines Verzeichnisses rückwärtssortiert ausgeben lassen, unter DOS/Windows geht das bestimmt auch bei dir. Also per system_exec.vi das im passenden Ordner ausführen und den Text der zurückgegeben wird, parsen. (Geht das eigentlich per system_exec.vi?)
e) anstelle d) einfach in einer Config-Datei, den aktuellen Stand des Bildzählers speicheren und auswerten.

Gruß,
Rob

Bitte Beachten:
Die obenstehenden Texteile können unter Umständen Sarkasmus und Ironie enthalten, für nicht erkannten Sarkasmus oder nicht erkannte Ironie wird keine Haftung übernommen.

N.B.:
"Multiple exclamation marks, " he went on, shaking his head, "are a sure sign of a deseased mind." - Terry Pratchett
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.04.2008, 19:43
Beitrag #3

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Screenshots speichern, Problem mit fortlaufender Nummer
Kann Rob nur zustimmen, png ist bei Graphen klar zu bevorzugen, und dann würde ich auch erst mal die gesamte File-Liste (natürlich beschränkt auf Bilder) einlesen (-> nur "ein" HDD-Zugriff) und dann im Memory suchen. File-List bekommst du über dieses VI:

   

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.04.2008, 06:40 (Dieser Beitrag wurde zuletzt bearbeitet: 11.04.2008 07:06 von Grobi.)
Beitrag #4

Grobi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 220
Registriert seit: Jan 2007

2013
2006
kA

26725
Deutschland
Screenshots speichern, Problem mit fortlaufender Nummer
' schrieb:Kann Rob nur zustimmen, png ist bei Graphen klar zu bevorzugen, und dann würde ich auch erst mal die gesamte File-Liste (natürlich beschränkt auf Bilder) einlesen (-> nur "ein" HDD-Zugriff) und dann im Memory suchen. File-List bekommst du über dieses VI:

[attachment=39129:Image01.png]

MfG, Jens

Ok schonmal danke, werde dann das andere Dateiformat nehmen.

Jens, das mit der Liste hab ich gefunden und dank dem Muster was man anschließen kann,
bekomme ich dann ein Array aus Strings, in dem nur nur Strings vom Format PIC*.png stehen.
Nun habe ich aber ein kleines Problem, ich hab mir jetzt folgendes überlegt. Ich möchte jetzt den maximalen
Bildindex haben. Jetzt könnte ich ja die Funktion Max-Min von Array dafür benutzen, dafür musste ich jetzt
aber das Array in einem Zahlenformat anstatt im Stringformat haben.

Kann ich jetzt auch direkt ein ganzes Array in ein Array aus Zahlen konvertieren,
oder muss ich über eine For Schleife N=Arraygröße jedes einzelne Element umwandeln
und dann das Maximum suchen, ich denke dann hab ich ja wieder nix gewonnen wenn ich
grade 10000 Bilder in dem Ordner habe was Schnelligkeit betrifft..

mfG
Robert

edit: Ein Screenshot zur Verdeutlichung (da ist es aber noch *.bmp)

P.S. Ich kann leider nichts im Forum dazu finden, wie ich aus diesem Stringarray ein Array
mit nur den Indizes bekomme, auch wenn String<->Zahl etc. schon oft behandelt wurde...
Selbst wenn ich die Elemente einzeln umwandle krieg ich den Format String für das Suchen nach
dem Wert wieder mal nicht gebacken..


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.04.2008, 08:10
Beitrag #5

Grobi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 220
Registriert seit: Jan 2007

2013
2006
kA

26725
Deutschland
Screenshots speichern, Problem mit fortlaufender Nummer
Ich schreib mal eine Antwort, nochmal editieren wird mir selbst zu unübersichtlich.

Also die Lösung mit FOR, N=Arraygröße und dann aus jedem Element die Zahl
herausholen habe ich hinbekommen, davon nehme ich das Maximum+1 und das
ist halt der nächste Index.

Ob das jedoch auch einfacher geht, dass man ein komplettes Array
auf einen Schlag umwandelt, würde mich dennoch interessieren.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.04.2008, 09:18
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Screenshots speichern, Problem mit fortlaufender Nummer
' schrieb:Nun habe ich aber ein kleines Problem, ich hab mir jetzt folgendes überlegt. Ich möchte jetzt den maximalen
Bildindex haben. Jetzt könnte ich ja die Funktion Max-Min von Array dafür benutzen, dafür musste ich jetzt
aber das Array in einem Zahlenformat anstatt im Stringformat haben.

Kann ich jetzt auch direkt ein ganzes Array in ein Array aus Zahlen konvertieren,
oder muss ich über eine For Schleife N=Arraygröße jedes einzelne Element umwandeln
und dann das Maximum suchen, ich denke dann hab ich ja wieder nix gewonnen wenn ich
grade 10000 Bilder in dem Ordner habe was Schnelligkeit betrifft..
Das müsstest du mal ausprobieren. Weiss ich jetzt auf die Schnelle auch nicht, ob es da eine Funktion gibt, die auch ein String-Array verarbeitet. Aber gewonnen hast du schon etwas, vorher hast du dir jeden Bildnamen zusammengestellt, geschaut, ob er auf der Festplatte ist, dann weiter. Langsam hieran ist das "Schauen auf Festplatte". Und das machst du jetzt ja nur einmal!
' schrieb:mfG
Robert

edit: Ein Screenshot zur Verdeutlichung (da ist es aber noch *.bmp)

P.S. Ich kann leider nichts im Forum dazu finden, wie ich aus diesem Stringarray ein Array
mit nur den Indizes bekomme, auch wenn String<->Zahl etc. schon oft behandelt wurde...
Selbst wenn ich die Elemente einzeln umwandle krieg ich den Format String für das Suchen nach
dem Wert wieder mal nicht gebacken..
Noch einfacher, wie dc6xs vorgeschlagen hat, wäre jetzt ein Datenname pic0001.png (oder pic00001.png), dann wäre die Liste ja geordnet. Ansonsten ist es selbst bei 10000 Strings wohl das beste, einfach aus allen die Zahl zu extrahieren (ob das jetzt in einer FOR-Schleife passiert oder per Funktion, die ein Array verarbeitet, dürfte egal sein, intern im Programmcode ist es sicherlich in beiden Fällen eine Schleife) und dann per Min-Max zu arbeiten. Oder du sortierst das Zahlenarray dann per Sort-Array, dann dürfte das Suchen nach dem ersten fehlenden Index auch recht schnell gehen.

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.04.2008, 09:37
Beitrag #7

Grobi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 220
Registriert seit: Jan 2007

2013
2006
kA

26725
Deutschland
Screenshots speichern, Problem mit fortlaufender Nummer
' schrieb:Langsam hieran ist das "Schauen auf Festplatte". Und das machst du jetzt ja nur einmal!

Da hast du natürlich recht, da ich mir ja jetzt die komplette Dateiliste mit einer einzigen
Funktion zur Bearbeitung heranhole.

Ich kann zu der direkten Arraykonvertierung nichts finden, die Stringoperationen
"fressen" bei mir keine Array of Strings. Aber selbst wenn wird es wohl so sein wie
du es gesagt hast, dass dort auch Element für Element umgewandelt würde.

Dann kann ich das ja so lassen wie es jetzt ist. Besten Dank Leute.


P.S. Beantwortet noch jemand meine Frage Tips&Tricks/LV-Studentenversion Buersten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Write to Spreadsheet - Fortlaufender Dateiname web277p9 2 4.013 16.04.2012 13:38
Letzter Beitrag: web277p9
  Problem beim Speichern TDMS Amina 8 7.002 03.03.2011 14:53
Letzter Beitrag: Amina
  Messdaten wahlweise in Datei speichern - Refnum Problem Cruzaderz 6 6.200 04.11.2010 17:58
Letzter Beitrag: Cruzaderz

Gehe zu: