<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Verzeichniseinträge auslesen (SysDirRead)</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/</id><updated>2020-02-28T12:13:28.878000Z</updated><subtitle>Recent posts to Verzeichniseinträge auslesen (SysDirRead)</subtitle><entry><title>Verzeichniseinträge auslesen (SysDirRead)</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/?limit=25#6e83" rel="alternate"/><published>2020-02-28T12:13:28.878000Z</published><updated>2020-02-28T12:13:28.878000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com565645bcd0348aa76e90906022837a40714f1e34</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo&lt;/p&gt;
&lt;p&gt;Funktionsaufruf direkt in der While Bedingung sollte kein Problem sein.&lt;/p&gt;
&lt;p&gt;Ich mach das ja genau so, allerdings auf der RTE.&lt;/p&gt;
&lt;p&gt;Und ich weiss 100%ig das da alle Einträge eingelesen werden.&lt;/p&gt;
&lt;p&gt;Wäre natürlich denkbar, das in der SysLib deines Herstellers ein Fehlerchen drin wäre.&lt;/p&gt;
&lt;p&gt;Aber probiers lieber vorher noch mal, bevor du dich beschwerst &lt;/p&gt;
&lt;p&gt;Gruss&lt;/p&gt;
&lt;p&gt;Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Verzeichniseinträge auslesen (SysDirRead)</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/?limit=25#506b" rel="alternate"/><published>2020-02-28T12:13:26.348000Z</published><updated>2020-02-28T12:13:26.348000Z</updated><author><name>E.Schulz@KHS</name><uri>https://forge.codesys.com/u/e-schulz-khs/</uri></author><id>https://forge.codesys.com4cf9793eb7d63586b7ca681f9555dcff4d21df52</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo Erik,&lt;/p&gt;
&lt;p&gt;bis jetzt hatte ich nen Motion Controller dran hängen, den ich heute grad nicht da hab, deshalb meine Hilflosigkeit! Ich werds mal mit RTE versuchen.&lt;/p&gt;
&lt;p&gt;Ich hab gestern die Routine im Debug-Modus getestet, da hätte ich schwören können, dass mir der folgende Loop&lt;/p&gt;
&lt;p&gt;while SysDirRead(dwHandle, strDirEntry, pDirInfo)&amp;lt;&amp;gt;0 do&lt;/p&gt;
&lt;p&gt;(&lt;em&gt;mache irgendwas mit dieser Datei&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;end_while&lt;/p&gt;
&lt;p&gt;immer die letzte Datei unterschlagen hat.&lt;/p&gt;
&lt;p&gt;Isses vielleicht nicht so glücklich, den Funktionsaufruf direkt in die while-Bedingung einzuarbeiten?&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Verzeichniseinträge auslesen (SysDirRead)</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/?limit=25#4667" rel="alternate"/><published>2020-02-28T12:13:23.563000Z</published><updated>2020-02-28T12:13:23.563000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com964f239365c597eb92889c3a152b182d307d1f75</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo&lt;/p&gt;
&lt;p&gt;Also die Funktion liefert eine 1 wenn ein Eintrag vorhanden war.&lt;/p&gt;
&lt;p&gt;Ich hab das trotzdem (oder grade drum) mit einer WHILE Schleife gemacht...&lt;/p&gt;
&lt;p&gt;Wenn beim 1. Versuch kein Eintrag gefunden wird gibts eben gleich eine NULL.&lt;/p&gt;
&lt;p&gt;Hast du keine RTE auf deinem PC installiert ?&lt;/p&gt;
&lt;p&gt;Ist bei der Standard Installation von CoDeSys dabei.&lt;/p&gt;
&lt;p&gt;Da kannst du sowas ganz einfach testen.&lt;/p&gt;
&lt;p&gt;Gruss Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Verzeichniseinträge auslesen (SysDirRead)</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/?limit=25#5179" rel="alternate"/><published>2020-02-28T12:13:15.888000Z</published><updated>2020-02-28T12:13:15.888000Z</updated><author><name>E.Schulz@KHS</name><uri>https://forge.codesys.com/u/e-schulz-khs/</uri></author><id>https://forge.codesys.com95792ca56ba26780b8fc54d3a1d094675034b914</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Ich nochmal!&lt;/p&gt;
&lt;p&gt;Anscheinend liefert die Funktion ne Null, wenn sie den letzten Eintrag gelesen hat und kein weiterer Eintrag im Verzeichnis ist.&lt;/p&gt;
&lt;p&gt;Also läßt sich diese Funktionalität nur mit ner Repeat-Schleife ausführen.&lt;/p&gt;
&lt;p&gt;Was gibt denn die Funktion zurück und was übergibt sie mir als Eintrag, wenn ich sie beim ersten Leseversuch keinen Eintrag findet?&lt;/p&gt;
&lt;p&gt;Ich kanns schlecht testen, darum frag ich so unbeholfen&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Verzeichniseinträge auslesen (SysDirRead)</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/?limit=25#a025" rel="alternate"/><published>2020-02-28T12:13:13.080000Z</published><updated>2020-02-28T12:13:13.080000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com1a5767d98a062510decd805a1bc6f2c84c24017b</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Eine 1 wenn noch weitere Einträge vorhanden sind.&lt;/p&gt;
&lt;p&gt;Sieht z.B. so aus:&lt;/p&gt;
&lt;p&gt;(&lt;em&gt; -------------------------------------------------------------------- &lt;/em&gt;)&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;INT&lt;/span&gt; &lt;span class="o"&gt;:=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;dwDirHandle&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;DWORD&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;strTemp&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;STRING&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;strExt&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;STRING&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;strDirEntry&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;    &lt;span class="n"&gt;ARRAY&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="n"&gt;OF&lt;/span&gt; &lt;span class="n"&gt;STRING&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;(&lt;em&gt; -------------------------------------------------------------------- &lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;dwDirHandle := SysDirOpen(strPath);&lt;/p&gt;
&lt;p&gt;FOR i:=1 TO 100 BY 1 DO&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="n"&gt;strDirEntry&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_FOR&lt;/p&gt;
&lt;p&gt;i   := 0;&lt;/p&gt;
&lt;p&gt;WHILE SysDirRead(hDir:=dwDirHandle,strTemp,0) &amp;lt;&amp;gt; 0 DO&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;strExt&lt;/span&gt;  :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;RIGHT&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;strTemp&lt;/span&gt;,&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;IF&lt;/span&gt; &lt;span class="nv"&gt;strExt&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;.txt&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt; &lt;span class="k"&gt;THEN&lt;/span&gt;  &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nv"&gt;File&lt;/span&gt; &lt;span class="nv"&gt;Extension&lt;/span&gt; &lt;span class="nv"&gt;Filterung&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt;

    &lt;span class="nv"&gt;i&lt;/span&gt;   :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

    &lt;span class="nv"&gt;strDirEntry&lt;/span&gt;[&lt;span class="nv"&gt;i&lt;/span&gt;]  :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;strTemp&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

&lt;span class="nv"&gt;END_IF&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_WHILE&lt;/p&gt;
&lt;p&gt;Gruss&lt;/p&gt;
&lt;p&gt;Erik&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Verzeichniseinträge auslesen (SysDirRead)</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1805d8b10e/?limit=25#cc3a" rel="alternate"/><published>2020-02-28T12:13:05.361000Z</published><updated>2020-02-28T12:13:05.361000Z</updated><author><name>E.Schulz@KHS</name><uri>https://forge.codesys.com/u/e-schulz-khs/</uri></author><id>https://forge.codesys.com8462d0f6621d87a97439370d49af4e9e5c929779</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Tach zusammen!&lt;/p&gt;
&lt;p&gt;Kurze und vielleicht auch blöde Frage:&lt;/p&gt;
&lt;p&gt;SysDirRead gibt 1/0 zurück wenn weitere Verzeichniseinträge vorhanden/nicht vorhanden sind.&lt;/p&gt;
&lt;p&gt;Wenn ich gerade eben den letzten Eintrag gelesen habe, liefert die Funtion ne 1 oder ne Null?&lt;/p&gt;
&lt;p&gt;Für mich steht also die Frage nach ner while- oder nach ner repeat-Schleife im Raum&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>