<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1815933</guid>
        <pubDate>Tue, 25 Dec 2007 04:30:49 +0000</pubDate>
        <title>TReader - помогите найти ошибку</title>
        <link>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1815933</link>
        <description><![CDATA[bur80: <strong class='tag-b'>Shaggy</strong>, я решил эту проблему по другому. Я из потока данные загружаю в StringList и уже с ним работаю. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>-Added <time class="tag-mergetime" datetime="2007-12-25T07:33:42+03:00">25.12.07, 04:33</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=216669&view=findpost&p=1815487'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>alex_sporik &#064; <time class="tag-quote__quoted-time" datetime="2007-12-24T16:41:10+00:00">24.12.07, 16:41</time></span><div class='quote '>Смахивает на то что rr.ReadListBegin; + rr.ReadListEnd;  не нужны.<br>
<br>
Если ваш ресурс это просто текст - то точно не нужны, в противном случае предоставьте код записи в этот поток коотрый в ресурсе, или хотя бы дамп этого ресурса.</div></div><br>
Тут проблема была, по всей видимости, в том что ресурс он как бы текст, но зашифрованный и поэтому из-за недопустимых символов в тексте поток не читался.]]></description>
        <author>bur80</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1815487</guid>
        <pubDate>Mon, 24 Dec 2007 16:41:10 +0000</pubDate>
        <title>TReader - помогите найти ошибку</title>
        <link>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1815487</link>
        <description><![CDATA[alex_sporik: Смахивает на то что rr.ReadListBegin; + rr.ReadListEnd;  не нужны.<br><br>Если ваш ресурс это просто текст - то точно не нужны, в противном случае предоставьте код записи в этот поток коотрый в ресурсе, или хотя бы дамп этого ресурса.]]></description>
        <author>alex_sporik</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1814947</guid>
        <pubDate>Mon, 24 Dec 2007 11:04:29 +0000</pubDate>
        <title>TReader - помогите найти ошибку</title>
        <link>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1814947</link>
        <description><![CDATA[Shaggy: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=216669&view=findpost&p=1814465'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>bur80 &#064; <time class="tag-quote__quoted-time" datetime="2007-12-24T01:17:41+00:00">24.12.07, 01:17</time></span><div class='quote '>В потоке текстовый файл, а что есть разница ?</div></div><br>
да, TReader ожидает, что в потоке содержится необходимая служебная информация, т.е. файл в ресурсе имеет необходимый формат(dfm)<br>
<br>
вот такой файл, например:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">object Test: TTest</div><div class="code_line">&nbsp;&nbsp;List = (</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#39;A&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#39;B&#39;</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#39;C&#39;)</div><div class="code_line">end</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
можно прочитать так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Procedure ReadTextDFM(ResName:String;List:TStrings);</div><div class="code_line">Var</div><div class="code_line">&nbsp;&nbsp;RS,MS:TStream;</div><div class="code_line">&nbsp;&nbsp;R:TReader;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;List.Clear;</div><div class="code_line">&nbsp;&nbsp;RS:=TResourceStream.Create(hInstance,ResName,RT_RCDATA);</div><div class="code_line">&nbsp;&nbsp;Try</div><div class="code_line">&nbsp;&nbsp; &nbsp;MS:=TMemoryStream.Create;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;ObjectTextToBinary(RS,MS);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MS.Position:=0;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;R:=TReader.Create(MS,1024);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;R.ReadSignature;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;R.ReadStr; //TTest</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;R.ReadStr; //Test</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;R.ReadStr; //List</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;R.ReadListBegin;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;While Not R.EndOfList Do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;List.Append(R.ReadString);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;R.ReadListEnd;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;R.ReadListEnd;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Finally</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;R.Free;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;End;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Finally</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MS.Free;</div><div class="code_line">&nbsp;&nbsp; &nbsp;End;</div><div class="code_line">&nbsp;&nbsp;Finally</div><div class="code_line">&nbsp;&nbsp; &nbsp;RS.Free;</div><div class="code_line">&nbsp;&nbsp;End;</div><div class="code_line">End;</div></ol></div></div></div></div><br>
<br>
только зачем эта морока с TReader? <br>
прочитай ресурс в строку и уже её расковыривай...]]></description>
        <author>Shaggy</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1814723</guid>
        <pubDate>Mon, 24 Dec 2007 08:46:29 +0000</pubDate>
        <title>TReader - помогите найти ошибку</title>
        <link>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1814723</link>
        <description><![CDATA[bur80: Может у кого есть какие нибудь мысли как решить проблему ?]]></description>
        <author>bur80</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1814465</guid>
        <pubDate>Mon, 24 Dec 2007 01:17:41 +0000</pubDate>
        <title>TReader - помогите найти ошибку</title>
        <link>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1814465</link>
        <description><![CDATA[bur80: В потоке текстовый файл, а что есть разница ? :huh: У меня в ресурсе внутри exe`шника зашифрованный текстовый файл, я его оттуда хочу выдернуть в поток и потом построчно загнать в массив а уже из массива дешифровать и выдавать в качестве результатов пользователю.]]></description>
        <author>bur80</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1813954</guid>
        <pubDate>Sun, 23 Dec 2007 12:00:41 +0000</pubDate>
        <title>TReader - помогите найти ошибку</title>
        <link>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1813954</link>
        <description><![CDATA[Shaggy: а что в потоке? dfm?<br>если да, то какой(binary/text)?]]></description>
        <author>Shaggy</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1813887</guid>
        <pubDate>Sun, 23 Dec 2007 10:42:37 +0000</pubDate>
        <title>TReader - помогите найти ошибку</title>
        <link>https://forum.sources.ru/index.php?showtopic=216669&amp;view=findpost&amp;p=1813887</link>
        <description><![CDATA[bur80: Вот код:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">procedure TForm1.sButton1Click(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">rr : TReader;</div><div class="code_line">tw : TWriter;</div><div class="code_line">f, rf : textfile;</div><div class="code_line">s, cr : string;</div><div class="code_line">i : integer;</div><div class="code_line">size : longint;</div><div class="code_line">buf : Pointer;</div><div class="code_line">rc : TResourceStream;</div><div class="code_line">fs : TFileStream;</div><div class="code_line">ms : TMemoryStream;</div><div class="code_line">db : array[1..150000] of string;</div><div class="code_line">begin</div><div class="code_line">i := 1;</div><div class="code_line">rc := TResourceStream.Create(hInstance,&#39;rc_dt&#39;, RT_RCDATA);</div><div class="code_line">ms := TMemoryStream.Create;</div><div class="code_line">ms.SetSize(20000000);</div><div class="code_line">ms.CopyFrom(rc, rc.Size);</div><div class="code_line">ms.Seek(0,0);</div><div class="code_line">rr := TReader.Create(ms, 4096);</div><div class="code_line">&nbsp;</div><div class="code_line">rr.ReadListBegin;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;while not rr.EndOfList do begin</div><div class="code_line">&nbsp;s := rr.ReadString;</div><div class="code_line">&nbsp;db[i] := s;</div><div class="code_line">&nbsp;inc(i);</div><div class="code_line">&nbsp;end;</div><div class="code_line">rr.ReadListEnd;</div><div class="code_line">rr.Free;</div><div class="code_line">rc.Free;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">if FileExists(&#39;data.tmp&#39;) then DeleteFile(&#39;data.tmp&#39;);</div><div class="code_line">ShowMessage(db[1]);</div><div class="code_line">ShowMessage(IntToStr(size));</div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
Ошибка &quot;Invalid property value&quot; выдаётся на строке <strong class='tag-b'>rr.ReadListBegin;</strong> :wall: <br>
<br>
Моя цель - это построчно считать данные из потока и занести их в массив.]]></description>
        <author>bur80</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	