Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему в Stringlist не работает LoadFromFile если файл не текст? [D7, WinXP]


Страницы:   1 2

RoLeX ©   (2006-10-23 19:17:00) 

Мне нужно StringList загрузить jpg файл, т.е. чтобы было также как открыть файл jpg при помощи блокнота.
Делаю так:
procedure TForm1.Button1Click(Sender: TObject);
var list:TStrings;
begin
list:=TStringlist.Create;
list.LoadFromFile('x.jpg');
list.SaveToFile('x2.jpg');
end;

Но только ничего  не получается. Только первые 6 символов есть и всё.


Плохиш   (2006-10-24 11:55:00) [1]


> Ketmar ©   (23.10.06 19:26) [4]
> >[2] Джо(c) 23-Oct-2006, 19:21
> >Ответ (aka сермяжная правда) кроется в исходном коде
> >метода procedure TStrings.SetTextStr:
> до сих пор, кстати, не могу понять, почему написано именно
> так. %-( рудименты каких-то загадочных идей создателей генофонда?

Просто создатели генофонда прекрасно знают, что после символа "конец строки" может идти только мусор или зловредный код ;-)


Сергей М.   (2006-10-24 10:42:00) [2]


> RoLeX   (23.10.06 19:54) [15]
>
> idTCPServer передаёт в AThread.Connection.WriteLn('текст');
>


Передающая стророна:

var
 fs: TStream;

..

 fs := TFileStream.Create('x.jpg', fmOpenRead);
 try
    AThread.Connection.Write Stream(fs, True, True);
 finally
   fs.Free;
 end;

Принимающая сторона:

var
 fs: TStream;
..

 fs := TFileStream.Create('x2.jpg', fmCreate);
 try
   MyIdTCPClient.Read Stream(fs);
 finally
   fs.Free;
 end;


КиТаЯц   (2006-10-24 10:26:00) [3]


> Anatoly Podgoretsky ©   (23.10.06 20:46) [22]
>
> Может автору не понятно, что string переводится как строка,
>  то есть текст.

Да, так же подумал...


Gero   (2006-10-24 00:06:00) [4]

> [0] RoLeX   (23.10.06 19:17)

А ты картинку таким образом редактировать собрался? Не мучайся, используй фотошоп.


Ketmar   (2006-10-23 23:56:00) [5]

>[25] Anatoly Podgoretsky(c) 23-Oct-2006, 22:37
>его оттуда вырезал?
нет. сочинил на ходу. %-)


Loginov Dmitry   (2006-10-23 23:37:00) [6]

Можно конечно и в сетку засунуть картинку. Но чем не устраивает TImage ?


Anatoly Podgoretsky   (2006-10-23 22:37:00) [7]

Ketmar ©   (23.10.06 20:55) [23]
Похоже на текст, такой часто встречается в dfm файле, а ты его оттуда вырезал?


Leonid Troyanovsky   (2006-10-23 21:24:00) [8]


> Ketmar ©   (23.10.06 20:55) [23]

> э-э-э. вот это: #1#18#0#27#4 -- тоже строка. но текст ли?


Кому и хрен - малина, кому и бламанже - полынь.

--
Regards, LVT.


Ketmar   (2006-10-23 20:55:00) [9]

>[22] Anatoly Podgoretsky(c) 23-Oct-2006, 20:46
э-э-э. вот это: #1#18#0#27#4 -- тоже строка. но текст ли? %-)


Anatoly Podgoretsky   (2006-10-23 20:46:00) [10]

Может автору не понятно, что string переводится как строка, то есть текст.


Ketmar   (2006-10-23 20:37:00) [11]

>[20] DrPass(c) 23-Oct-2006, 20:33
да тут диагноз прост. автор не дружит со справкой. что в примере увидел -- то и запихал. а почитать что-нибудь -- это перегруз моска.
дураки примеры делали, не впихнули туда все возможные варианты...


DrPass   (2006-10-23 20:33:00) [12]


> RoLeX   (23.10.06 19:54) [15]
>
> вместо "текст" хочу отправить текст файла

Допустим. А где обещанный ответ на вопрос "зачем бинарный файл (в котором в принципе неттекста) пихать в StringList"?


guav   (2006-10-23 20:17:00) [13]

> [15] RoLeX   (23.10.06 19:54)

Произвольную послжеовательность байт не следует так отправлять.
Там есть WriteBuffer, WriteStream и даже WriteFile.


Zacho   (2006-10-23 20:15:00) [14]

Ketmar ©   (23.10.06 19:49) [14]
долго думал, что есть "опекс"...


А чё думать-то ?

http://en.wikipedia.org/wiki/OPEX
http://www.opex.pt/

OPEX is an alternative trading system (ATS) that that is managed by PEX (Private Exchange). The market was launched in 2003 to provide a trading environment to the small and mid cap securities of Portuguese companies.

И так далее :-)


Dmitrij_K   (2006-10-23 20:14:00) [15]


> idTCPServer передаёт в AThread.Connection.WriteLn('текст');
>
> вместо "текст" хочу отправить текст файла. Предварительно
> преобразовав stringlist в string.

чем не устраивают специальные методы отправки винарных данных?


Ketmar   (2006-10-23 20:09:00) [16]

>[15] RoLeX 23-Oct-2006, 19:54
ясно. это не в "основная", это в "начинающим". где тебе и пояснят, почему так делать нельзя.


RoLeX   (2006-10-23 19:54:00) [17]


> а где ответ на [5] и [6]?

idTCPServer передаёт в AThread.Connection.WriteLn('текст');
вместо "текст" хочу отправить текст файла. Предварительно преобразовав stringlist в string.


Ketmar   (2006-10-23 19:49:00) [18]

>[13] Dmitrij_K 23-Oct-2006, 19:44
>ОРЕХ
баян.

зыж прочитал это по-английски. долго думал, что есть "опекс"...


Dmitrij_K   (2006-10-23 19:44:00) [19]

ОРЕХ


Ketmar   (2006-10-23 19:40:00) [20]

>[10] RoLeX 23-Oct-2006, 19:38
>А где ответ?
а где ответ на [5] и [6]?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо