![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() имеется массив Q:array of string; в ходе работы программы он заполняется.Затем сохраняю массив Q в файл-стрим FileStream.Write(Q,SizeOf(Q)), но при попытке чтения из файла(FileStream.Read(Q,Sizeof(Q));
он не читается из файла...Помогите кто может советом ![]() |
#2
|
||||
|
||||
![]() Вот так думаю нормально запишет.
Код:
If end Then begin; |
#3
|
|||
|
|||
![]() Ага, а как ты читать-то будешь.
Да и не уверен, что оно так запишется. Надо писать в таком порядке: 1. Пришем кол-во элементов массива (Length). 2. Циклом по элементам: 2.1. Пишем длинну строки очередного элемента 2.2. Пишем саму строку. Чтение, соответсвенно, происходит аналогично. А вообще, если твои строки не содержат переводов строк, то лучше использовать TStringList. С ним работать гораздо удобнее. |
#4
|
||||
|
||||
![]() Попробовал записует и читает норм. Да только количество елементов массива нужно тоже сохранять. Хотя согласен с вышесказанным что
лучше использовать TStringList. Код:
If end Then begin; |
#5
|
|||
|
|||
![]() Цитата:
|
#6
|
||||
|
||||
![]() Не знаю, у меня вышеприведенный код работает в разных программах,
(но не одновременно). Так пробовали? Код:
If end Then begin; |
#7
|
|||
|
|||
![]() а если будет массив не строк,а значений типа byte как считывать из динамического массива в файл-стрим,а затем прочитать в другой программе из файла этот массив?
![]() |
#8
|
|||
|
|||
![]() так-же, как я тебе сказал. Только тогда не надо отдельно писать длинну каждого элемента, т.к. данный тип имеет фикстрованный размер.
Код:
|
#9
|
|||
|
|||
![]() Большое спасибо всем за проявление активности в решении проблемки
![]() |