Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

Хранение строки в памяти   Найти похожие ветки 

 
dr Tr0jan ©   (2005-09-01 14:33) [0]

Пишу что-то вроде архиватора. И при шифрования файла необходимо хранить в памяти строку (закодированный файл) не больше 10 мегабайт.
Как удобнее это реализовать.


 
Rouse_ ©   (2005-09-01 14:44) [1]

Так и хранить, в виде строки...


 
Юрий Зотов ©   (2005-09-01 14:45) [2]

Возможные варианты:

string (если не встречаются символы #0)
array of char (если не встречаются символы #0)
array of byte (допускает любые символы)
TMemoryStream (допускает любые символы)

А в чем проблема-то?


 
Alexander Panov ©   (2005-09-01 14:49) [3]

Юрий Зотов ©   (01.09.05 14:45) [2]
string (если не встречаются символы #0)


Зачем ограничение? String~AnsiString


 
Юрий Зотов ©   (2005-09-01 14:54) [4]

> Alexander Panov ©   (01.09.05 14:49) [3]

Для простоты. И для гарантии от возможных глюков при возможной работе со строкой, как с PChar.


 
dr Tr0jan ©   (2005-09-01 15:03) [5]

> string (если не встречаются символы #0)
А ограничение на длину? Мне в приницпе пойдет, у меня там base64 строка.


 
Иксик ©   (2005-09-01 15:05) [6]


> А ограничение на длину?


Имхо, сколько память позволяет...


 
Юрий Зотов ©   (2005-09-01 15:06) [7]

> dr Tr0jan ©   (01.09.05 15:03) [5]

> А ограничение на длину?

Почти 2 гигабайта. Устроит?
:о)


 
Иксик ©   (2005-09-01 15:07) [8]


> Иксик ©   (01.09.05 15:05) [6]

Виртуальная :)


 
dr Tr0jan ©   (2005-09-01 15:08) [9]

Удалено модератором


 
ПЛОВ ©   (2005-09-01 15:25) [10]


> Виртуальная :)

Тоесть HDD :)


 
Иксик ©   (2005-09-01 15:28) [11]


> ПЛОВ ©   (01.09.05 15:25) [10]

Сколько программе твоей выделяется? :)

Подсказка, см.
> Юрий Зотов ©   (01.09.05 15:06) [7]

:)


 
begin...end ©   (2005-09-01 15:35) [12]

> Иксик ©   (01.09.05 15:28) [11]

> Сколько программе твоей выделяется?

Программе выделяется 4 ГБ (для 32-разрядных процессов). Эти размеры не равны.


 
Игорь Шевченко ©   (2005-09-01 15:42) [13]

begin...end ©   (01.09.05 15:35) [12]


> Программе выделяется 4 ГБ (для 32-разрядных процессов).
>


Но доступ возможен только к двум. В редких случаях - к трем.


 
ПЛОВ ©   (2005-09-01 15:44) [14]

Удалено модератором


 
begin...end ©   (2005-09-01 15:49) [15]

> Игорь Шевченко ©   (01.09.05 15:42) [13]

Я в курсе. Рихтера читал.


 
Иксик ©   (2005-09-01 15:51) [16]


> begin...end ©   (01.09.05 15:35) [12]

Ну ды, дык и я ну эта, вообщем 2 гига для string. :)

P.S. Отупеешь тут за год на helpdesk"e.


 
Игорь Шевченко ©   (2005-09-01 15:53) [17]

Иксик ©   (01.09.05 15:51) [16]

У тебя при все желании не получится работать со строкой такого размера. Насколько я знаю, Delphi не в состоянии скомпилировать приложение, работающее с 3-мя гигабайтами пользовательского адресного пространства.


 
Иксик ©   (2005-09-01 15:58) [18]


> Игорь Шевченко ©   (01.09.05 15:53) [17]

Ясно. Честно говоря я не пробовал такие большие, просто в справке, если не ошибаюсь, было про 2Гб, вот я и того.


 
Kerk ©   (2005-09-01 18:09) [19]

Игорь Шевченко ©   (01.09.05 15:53) [17]
Насколько я знаю, Delphi не в состоянии скомпилировать приложение, работающее с 3-мя гигабайтами пользовательского адресного пространства.


Ну так мы флажок в PE-хидере руками поправим :)


 
Игорь Шевченко ©   (2005-09-01 18:11) [20]

Kerk ©   (01.09.05 18:09) [19]


> Ну так мы флажок в PE-хидере руками поправим :)


И что ?


 
Kerk ©   (2005-09-01 18:12) [21]

Игорь Шевченко ©   (01.09.05 18:11) [20]
И что ?


И будет 3 гига


 
Игорь Шевченко ©   (2005-09-01 18:24) [22]

Kerk ©   (01.09.05 18:12) [21]

Неа. Будет 2 и один пустой :)


 
Kerk ©   (2005-09-01 18:26) [23]

Игорь Шевченко ©   (01.09.05 18:24) [22]
Неа. Будет 2 и один пустой :)


Почему?


 
Игорь Шевченко ©   (2005-09-01 18:31) [24]

Kerk ©   (01.09.05 18:26) [23]

А ты попробуй строку в два гигабайта создать, а потом с флажком поиграться.


 
Kerk ©   (2005-09-01 18:46) [25]

Игорь Шевченко ©   (01.09.05 18:31) [24]

А. ну там в SetLength длина в Integer указывается.. 2 гига.. понятно.. но VirtualAlloc вроде никто использовать не запрещал


 
dr Tr0jan ©   (2005-09-02 09:09) [26]

Ну раз тему не прикрыли, задам еще один вопрос.
Можно ли эту длинную строку передавать из функции (Result:=stroka)? Не будет ли это влиять на работоспособность программы?


 
Игорь Шевченко ©   (2005-09-02 09:59) [27]

Kerk ©   (01.09.05 18:46) [25]

Попробовал ? Расскажи



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.05 c
5-1100761074
Stanislav
2004-11-18 09:57
2005.09.25
Не создаеься потомок Tcollectionitem


14-1125744307
Cardinal
2005-09-03 14:45
2005.09.25
! Пятна на дисплее сквозь солнечные очки


2-1123957167
Darkmaster
2005-08-13 22:19
2005.09.25
ftp


4-1121990214
Flood_control
2005-07-22 03:56
2005.09.25
Закрытие приложений при запуске


2-1124434319
Ande
2005-08-19 10:51
2005.09.25
Можна ли добавлять динамически пункты меню в MainMenu?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский