Главная страница
    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.51 MB
Время: 0.041 c
1-1125670203
VadimX
2005-09-02 18:10
2005.09.25
Странное поведение IDE отладчика


14-1125469097
stud
2005-08-31 10:18
2005.09.25
SQL books online это так должно быть?


2-1124395838
Пантелеев Иван
2005-08-19 00:10
2005.09.25
Наличие файла


14-1124897139
Marser
2005-08-24 19:25
2005.09.25
Одним эйрганнером больше


14-1125359134
Гриха
2005-08-30 03:45
2005.09.25
В 10 лет?!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский