![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
как записать String в память и прочесть его?
Даже както стыдно такие вопры. задавать. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Что значит в память? А она у тебя где? Если переменная типа string - то она уже в памяти. Или тебе надо из файла прочитать - readln. Или ты имеешь ввиду сделать ее доступной для всех програм - используй атомы.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Ты про так чтоли?
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Вот поясняю. Мне надо сделать так чтоб моя программа определяла параметр с которым она была запущенна ну к примеру 10 секунд назад. Тоесть надо сделать так чтобы программа оставила какуюто временную запись но не в реестре и не в файле. Остаётся только малонадёжный буфер.
Мне казалось что можно и в память занести . |
|||
|
||||
| neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
В С++ можно указать тип переменной static. Oна не стирается каждый раз, при вызове процедуры. А есть ли аналог в паскале?
Выход будет: "0 1 2 3 4 5 6 7 8 9 ". -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Попробуй через атомы -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Через Атомы надо, тут пример уже проскакивал о Shareware защите - там было через атомы сделано.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Это понятно но мне надо записать туда независящую от меня запись и прочесть её а не сравнить.
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Не знаю что такое "независящая от меня запись", но атомы позволяют писать туда информацию и читать из них...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Я про код:
Тоесть тут пример записи и сравнения, а прочитать как? |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
GlobalGetAtomName
эта получает имя атома, по его номеру, но вот ток мне кажется-таки не прокатит эта затея с атомами :\ -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
ты прав
|
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Во! придумал...пиши в переменные окружающей среды
Если не нравится - бум думать дальше DWORD GetEnvironmentVariable( LPCTSTR lpName, // address of environment variable name LPTSTR lpBuffer, // address of buffer for variable value DWORD nSize // size of buffer, in characters ); BOOL SetEnvironmentVariable( LPCTSTR lpName, // address of environment variable name LPCTSTR lpValue // address of new value for variable ); -------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
К счастью количество атомов ограничено 0xFFFF, так что простые функции перебора работают достаточно быстро. Вот пример как сохранять и читать значение через атомы:
Примечание: константа "UniqueSignature" должна быть достаточно длинной, чтобы однозначно идентифицировать атом, в тоже время длина хранимой строки вместе с UniqueSignature не должна превышать 255 символов. Данная конструкция может хранить только 1 значение. Для хранения нескольких значений надо назначить несколько разных UniqueSignature и использовать сходные процедуры. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: нет Всего: 12 |
Вит, дык в том-то и дело, что он при след. запуске проги не будет знать чего записал т.е. не будет образца или его куска, по кторому можно найти атом..сравнивать-то не с чем :\
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
А ты попробуй! Это работает, если константа "UniqueSignature" будет одинакова, то другая программа совершенно правильно прочтет записанную в атом строку (точнее найдет нужный атом и прочтет строку). Это работает - я проверял. Запускаю одно приложение пишу строку. Закрываю приложение. Открываю другое приложение с теми же функциями и оно прекрасно читает строку записанную первым приложением....
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Lobsang |
|
|||
|
Unregistered |
Что такое атомы?
|
|||
|
||||
| MBo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 10.6.2002 Репутация: 3 Всего: 18 |
Заводи Memory-Mapped File и там храни строку
|
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Vit спасибо ибо всё заработало.
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Маленький пронумерованный кусочек памяти для всеобщего пользования. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
А простейший примерчик работы с ними можно кинуть? -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| oomneeq |
|
||||
|
Unregistered |
Есть аналог Пример procedure Dumdum; const LongLive:integer=0; begin LongLive:=LongLive+1; end; такая псевдоконстанта LongLive не будет храниться в стеке, а будет жить и от вызова к вызову наращщиваться. |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |