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

Вниз

память   Найти похожие ветки 

 
Витёк   (2005-06-28 04:33) [0]

Подскажите пожалуйста, как изменить значение числа, зная его адресс в памяти! Например изменить память по адресу 00BA1796.


 
Дмитрий Д.   (2005-06-28 06:38) [1]

http://delphiworld.narod.ru/base/share_dll_mem.html


 
Digitman ©   (2005-06-28 08:15) [2]

PInteger($BA1796)^ := ..


 
Дмитрий Д.   (2005-06-28 08:20) [3]

Я вот думаю насколько просто это было бы сделать в Сях!
Кстати, а в делфи можно переменной присвоить произвольный адрес в памяти без использования каких-либо функций, т.е. средствами языка. Я поигрался с указателями, но что-то не прокатило :-)

По логике:

var buf: array[0..9] of char;
...
@buf := Pointer($00BA1796);

Но это, определенно, не правильно и не работает.

Просьба сильно не плеваться, т.к. в делфи я копаюсь для души, а моя профессиональная деятельность не имеет отношения к системному программированию.


 
Digitman ©   (2005-06-28 08:32) [4]


> просто это было бы сделать в Сях


в ОР не менее просто


> По логике:
>
> var buf: array[0..9] of char;
> ...
> @buf := Pointer($00BA1796);
>
> Но это, определенно, не правильно и не работает


конечно неправильно.

var buf: ^array[0..9] of char; // char *buf[10]
...
buf := Pointer($00BA1796); //buf = (char*)0x00ba1796


 
evvcom ©   (2005-06-28 08:43) [5]


> По логике:
>
> var buf: array[0..9] of char;

По логике у тебя переменная buf жестко компилятором привязана к адресу памяти, по которому лежат 10 символов. А тебе по логике нужен указатель на данные, т.е. см. [4].


 
Юрий Зотов ©   (2005-06-28 08:50) [6]

> Дмитрий Д.

> насколько просто это было бы сделать в Сях!

И действительно - ну что может быть сложнее [2]?

> По логике:
> var buf: array[0..9] of char;
> @buf := Pointer($00BA1796);

Выделение памяти под buf мы сначала поручили компилятору, а потом вдруг решили назначить ее адрес сами - где же тут логика? Разве в сях можно сначала объявить статическую переменную, а потом взять - да и изменить ее адрес вручную?


 
Дмитрий Д.   (2005-06-28 08:50) [7]

Ошибку понял. Однако [4] в D6 выдает: [Error] Unit1.pas(20): Identifier expected but "ARRAY" found
20-я строка это как раз и есть var buf: array[0..9] of char;
Хотя уже не суть важно, смысл понятен.


 
Дмитрий Д.   (2005-06-28 08:51) [8]

Сорри 20-я строка это: buf: ^array[0..9] of char;


 
Digitman ©   (2005-06-28 08:55) [9]


> Дмитрий Д.   (28.06.05 08:51) [8]


type TMyArray = array[0..9] of char;
var buf: ^TMyArray;
...

buf := Pointer($00BA1796);


 
Дмитрий Д.   (2005-06-28 09:00) [10]

Digitman, да-да-да! Можно начинать писать Loader для шароварной проги. Шутка :)


 
default ©   (2005-06-28 09:00) [11]

это скорее попытаться изменить:)



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
1-1119957354
olevacho_
2005-06-28 15:15
2005.07.18
шифрация данных в текстовом файле


14-1119882544
Dimedrol
2005-06-27 18:29
2005.07.18
Скомпильте программку на Delphi 5, pls...


14-1119715087
GEEK
2005-06-25 19:58
2005.07.18
Версии


14-1119643959
SergP
2005-06-25 00:12
2005.07.18
Где можно бесплатно скачать mp3?


14-1119935053
3DxFantastika
2005-06-28 09:04
2005.07.18
О чем Вы мечтаете, отдыхая на природе?





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