Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.11.2008, 19:34
kaizer131 kaizer131 вне форума
Начинающий
 
Регистрация: 01.11.2008
Сообщения: 112
Репутация: 10
По умолчанию Динамичесская память

Доброго времени суток господа програмисты , кто сможет помочь мне в решении одной задачи,
Суть в следующем, изначально одной переменной присвоенно значение (integer), которое занесенно в память, это значение выводиться на Label,
принажатии на кнопку происходит обращение к этой памяти и
вычитание 1 от ее значения, аналогичная операция прописанна для второй кнопки, и если при нажатии первой результат правильный ,то при нажатии второй выводится неверное значение ,
в чем может быть проблема? Обращение к памяти происходит через указатель.
Ответить с цитированием
  #2  
Старый 01.11.2008, 19:41
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

ты вычетаешь из адреса единицу? Тогда естественно второй рз резульат уже другой будет.
__________________
Delphi - это лишь инструмент, а что ты сможешь создать при помощи этого инструмента, зависит исключительно от тебя.
Ответить с цитированием
  #3  
Старый 01.11.2008, 20:06
kaizer131 kaizer131 вне форума
Начинающий
 
Регистрация: 01.11.2008
Сообщения: 112
Репутация: 10
По умолчанию переменная

Тогда подскажите, как сделать чтоб переменная приняла новое значение и при нажатии второй кнопки операции проводились именно с новым значением, которое так же нужно будет записать для последующего использования

Последний раз редактировалось kaizer131, 02.11.2008 в 08:44.
Ответить с цитированием
  #4  
Старый 01.11.2008, 20:09
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

код свой приведи...
__________________
Delphi - это лишь инструмент, а что ты сможешь создать при помощи этого инструмента, зависит исключительно от тебя.
Ответить с цитированием
  #5  
Старый 01.11.2008, 20:45
kaizer131 kaizer131 вне форума
Начинающий
 
Регистрация: 01.11.2008
Сообщения: 112
Репутация: 10
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
var
A : ^Integer;

begin
new(A);
A^:=5;
Inc(A^);
Label1.Caption:=A;


end.

А теперь он еще и ругатсяначал на потенциально опасную процедуру

[Error] Unit1.pas(32): Unsafe pointer variables, parameters or consts only allowed in unsafe procedure

Если поможете буду очень благодарен
Ответить с цитированием
  #6  
Старый 01.11.2008, 20:48
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

для второго Label тоже самое?

вобще странно вот это не должно было пройти компиляцию
Цитата:
Label1.Caption:=A;
__________________
Delphi - это лишь инструмент, а что ты сможешь создать при помощи этого инструмента, зависит исключительно от тебя.

Последний раз редактировалось Alexo, 01.11.2008 в 20:51.
Ответить с цитированием
  #7  
Старый 01.11.2008, 20:56
kaizer131 kaizer131 вне форума
Начинающий
 
Регистрация: 01.11.2008
Сообщения: 112
Репутация: 10
Вопрос

там один Label значения в него по переменке выводятся, вот тока сегодня он вообще мне выдал ошибку в строке
A : ^Integer;(обьявление переменных), хотя раньше небыло такого
PS Может вообще не той дорогой иду, может есть другой способ ее реализации?

Последний раз редактировалось kaizer131, 01.11.2008 в 21:03.
Ответить с цитированием
  #8  
Старый 05.11.2008, 10:52
Grunch Grunch вне форума
Новичок
 
Регистрация: 08.04.2008
Адрес: Краснодар
Сообщения: 52
Репутация: 10
По умолчанию

Вот так у меня все работает:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
A : ^Integer;

begin
new(A);
A^:=5;
Inc(A^);
Label1.Caption:=IntToStr(A^);
end;
Ответить с цитированием
  #9  
Старый 05.11.2008, 17:07
xchrom xchrom вне форума
Начинающий
 
Регистрация: 08.04.2008
Сообщения: 177
Репутация: 15
По умолчанию

ты же каждый раз получается создаешь в памяти новую целую переменную... оттуда и все твои беды
__________________
правильный вопрос содержит в себе 90% ответа
Ответить с цитированием
  #10  
Старый 05.11.2008, 17:27
Alexo Alexo вне форума
Начинающий
 
Регистрация: 24.01.2007
Сообщения: 191
Репутация: 15
По умолчанию

Вопрос он уже решил по аське
__________________
Delphi - это лишь инструмент, а что ты сможешь создать при помощи этого инструмента, зависит исключительно от тебя.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter